Message ID | 1264194294-28593-1-git-send-email-weil@mail.berlios.de |
---|---|
State | New |
Headers | show |
Stefan Weil schrieb: > Compilation of m68k-softmmu or m68k-linux-user on arm host > (or cross compilation for arm) results in a linker warning: > > LINK m68k-softmmu/qemu-system-m68k > m68k-dis.o: warning: definition of `floatformat_ieee_single_little' > overriding common > arm-dis.o: warning: common is here > /usr/lib/gcc/arm-linux-gnueabi/4.3.2/../../../../arm-linux-gnueabi/bin/ld: > Warning: size of symbol `floatformat_ieee_single_little' changed from > 4 in arm-dis.o to 48 in m68k-dis.o > > floatformat_ieee_single_little is declared in arm-dis.c and m68k-dis.c, > and both declarations don't match, so this is an error. > > The symbol is not needed in arm-dis.c, so I removed it there. > > Signed-off-by: Stefan Weil <weil@mail.berlios.de> > --- > arm-dis.c | 8 ++------ > 1 files changed, 2 insertions(+), 6 deletions(-) > > diff --git a/arm-dis.c b/arm-dis.c > index 2c67d8f..4fb899e 100644 > --- a/arm-dis.c > +++ b/arm-dis.c > @@ -60,10 +60,8 @@ > #define FPU_VFP_EXT_V3 0 > #define FPU_NEON_EXT_V1 0 > > -int floatformat_ieee_single_little; > /* Assume host uses ieee float. */ > -static void floatformat_to_double (int *ignored, unsigned char *data, > - double *dest) > +static void floatformat_to_double (unsigned char *data, double *dest) > { > union { > uint32_t i; > @@ -2543,9 +2541,7 @@ print_insn_neon (struct disassemble_info *info, > long given, bfd_boolean thumb) > valbytes[2] = (value >> 16) & 0xff; > valbytes[3] = (value >> 24) & 0xff; > > - floatformat_to_double > - (&floatformat_ieee_single_little, valbytes, > - &fvalue); > + floatformat_to_double (valbytes, &fvalue); > > func (stream, "#%.7g\t; 0x%.8lx", fvalue, > value); The patch is still missing in git. Maybe it got lost? A linker warning about symbols which change from 4 to 48 byte should be regarded as error. Regards, Stefan Weil
Stefan Weil schrieb: > Stefan Weil schrieb: > >> Compilation of m68k-softmmu or m68k-linux-user on arm host >> (or cross compilation for arm) results in a linker warning: >> >> LINK m68k-softmmu/qemu-system-m68k >> m68k-dis.o: warning: definition of `floatformat_ieee_single_little' >> overriding common >> arm-dis.o: warning: common is here >> /usr/lib/gcc/arm-linux-gnueabi/4.3.2/../../../../arm-linux-gnueabi/bin/ld: >> Warning: size of symbol `floatformat_ieee_single_little' changed from >> 4 in arm-dis.o to 48 in m68k-dis.o >> >> floatformat_ieee_single_little is declared in arm-dis.c and m68k-dis.c, >> and both declarations don't match, so this is an error. >> >> The symbol is not needed in arm-dis.c, so I removed it there. >> >> Signed-off-by: Stefan Weil <weil@mail.berlios.de> >> --- >> arm-dis.c | 8 ++------ >> 1 files changed, 2 insertions(+), 6 deletions(-) >> >> diff --git a/arm-dis.c b/arm-dis.c >> index 2c67d8f..4fb899e 100644 >> --- a/arm-dis.c >> +++ b/arm-dis.c >> @@ -60,10 +60,8 @@ >> #define FPU_VFP_EXT_V3 0 >> #define FPU_NEON_EXT_V1 0 >> >> -int floatformat_ieee_single_little; >> /* Assume host uses ieee float. */ >> -static void floatformat_to_double (int *ignored, unsigned char *data, >> - double *dest) >> +static void floatformat_to_double (unsigned char *data, double *dest) >> { >> union { >> uint32_t i; >> @@ -2543,9 +2541,7 @@ print_insn_neon (struct disassemble_info *info, >> long given, bfd_boolean thumb) >> valbytes[2] = (value >> 16) & 0xff; >> valbytes[3] = (value >> 24) & 0xff; >> >> - floatformat_to_double >> - (&floatformat_ieee_single_little, valbytes, >> - &fvalue); >> + floatformat_to_double (valbytes, &fvalue); >> >> func (stream, "#%.7g\t; 0x%.8lx", fvalue, >> value); >> > > The patch is still missing in git. Maybe it got lost? > > A linker warning about symbols which change from 4 to 48 byte > should be regarded as error. > > Regards, > Stefan Weil > I'd commit it myself if I had the rights, but I haven't. So the only think I can do is remind those who have... Regards, Stefan
On 02/23/2010 12:42 PM, Stefan Weil wrote: > > I'd commit it myself if I had the rights, but I haven't. > So the only think I can do is remind those who have... > Please resubmit. I would expect an ARM host patch to be applied by Paul but if he's not available to, I'll keep it my queue to be applied. Regards, Anthony Liguori > Regards, > Stefan > >
diff --git a/arm-dis.c b/arm-dis.c index 2c67d8f..4fb899e 100644 --- a/arm-dis.c +++ b/arm-dis.c @@ -60,10 +60,8 @@ #define FPU_VFP_EXT_V3 0 #define FPU_NEON_EXT_V1 0 -int floatformat_ieee_single_little; /* Assume host uses ieee float. */ -static void floatformat_to_double (int *ignored, unsigned char *data, - double *dest) +static void floatformat_to_double (unsigned char *data, double *dest) { union { uint32_t i; @@ -2543,9 +2541,7 @@ print_insn_neon (struct disassemble_info *info, long given, bfd_boolean thumb) valbytes[2] = (value >> 16) & 0xff; valbytes[3] = (value >> 24) & 0xff; - floatformat_to_double - (&floatformat_ieee_single_little, valbytes, - &fvalue); + floatformat_to_double (valbytes, &fvalue); func (stream, "#%.7g\t; 0x%.8lx", fvalue, value);
Compilation of m68k-softmmu or m68k-linux-user on arm host (or cross compilation for arm) results in a linker warning: LINK m68k-softmmu/qemu-system-m68k m68k-dis.o: warning: definition of `floatformat_ieee_single_little' overriding common arm-dis.o: warning: common is here /usr/lib/gcc/arm-linux-gnueabi/4.3.2/../../../../arm-linux-gnueabi/bin/ld: Warning: size of symbol `floatformat_ieee_single_little' changed from 4 in arm-dis.o to 48 in m68k-dis.o floatformat_ieee_single_little is declared in arm-dis.c and m68k-dis.c, and both declarations don't match, so this is an error. The symbol is not needed in arm-dis.c, so I removed it there. Signed-off-by: Stefan Weil <weil@mail.berlios.de> --- arm-dis.c | 8 ++------ 1 files changed, 2 insertions(+), 6 deletions(-)