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 <w...@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); -- 1.6.5