hi, binutils compile error under x86_64-pc-mingw32, because it defines BFD_HOST_64BIT_LONG_LONG , but not use in some env, the following patch may fix it
Index: bfd/elf.c =================================================================== RCS file: /cvs/src/src/bfd/elf.c,v retrieving revision 1.414 diff -u -r1.414 elf.c --- bfd/elf.c 8 Sep 2007 11:03:31 -0000 1.414 +++ bfd/elf.c 11 Sep 2007 09:07:21 -0000 @@ -8430,6 +8430,9 @@ { #if BFD_HOST_64BIT_LONG sprintf (buf, "%016lx", value); + +#elif BFD_HOST_64BIT_LONG_LONG + sprintf (buf, "%016llx", value); #else sprintf (buf, "%08lx%08lx", _bfd_int64_high (value), _bfd_int64_low (value)); @@ -8458,6 +8461,9 @@ { #if BFD_HOST_64BIT_LONG fprintf ((FILE *) stream, "%016lx", value); + +#elif BFD_HOST_64BIT_LONG_LONG + fprintf ((FILE *) stream, "%016llx", value); #else fprintf ((FILE *) stream, "%08lx%08lx", _bfd_int64_high (value), _bfd_int64_low (value)); cvs diff: Diffing bfd/doc cvs diff: Diffing bfd/hosts cvs diff: Diffing bfd/po cvs diff: Diffing binutils Index: binutils/readelf.c =================================================================== RCS file: /cvs/src/src/binutils/readelf.c,v retrieving revision 1.377 diff -u -r1.377 readelf.c --- binutils/readelf.c 10 Sep 2007 09:05:23 -0000 1.377 +++ binutils/readelf.c 11 Sep 2007 09:07:58 -0000 @@ -508,6 +508,11 @@ return printf ("%5ld", vma); else return printf ("%#lx", vma); +#elif BFD_HOST_64BIT_LONG_LONG + if (vma <= 99999) + return printf ("%5lld", vma); + else + return printf ("%#llx", vma); #else if (vma <= 99999) return printf ("%5ld", _bfd_int64_low (vma)); @@ -955,6 +960,8 @@ { #ifdef _bfd_int64_low printf ("%8.8lx %8.8lx ", _bfd_int64_low (offset), _bfd_int64_low (info)); +#elif defined(BFD_HOST_64BIT_LONG_LONG) + printf ("%8.8llx %8.8llx ", offset, info); #else printf ("%8.8lx %8.8lx ", offset, info); #endif @@ -969,6 +976,11 @@ _bfd_int64_low (offset), _bfd_int64_high (info), _bfd_int64_low (info)); +#elif defined(BFD_HOST_64BIT_LONG_LONG) + printf (do_wide + ? "%16.16llx %16.16llx " + : "%12.12llx %12.12llx ", + offset, info); #else printf (do_wide ? "%16.16lx %16.16lx " @@ -1205,6 +1217,8 @@ if (rtype == NULL) #ifdef _bfd_int64_low printf (_("unrecognized: %-7lx"), _bfd_int64_low (type)); +#elif defined(BFD_HOST_64BIT_LONG_LONG) + printf (_("unrecognized: %-7llx"), type); #else printf (_("unrecognized: %-7lx"), type); #endif @@ -1325,6 +1339,8 @@ if (rtype2 == NULL) #ifdef _bfd_int64_low printf (_("unrecognized: %-7lx"), _bfd_int64_low (type2)); +#elif defined(BFD_HOST_64BIT_LONG_LONG) + printf (_("unrecognized: %-7llx"), type2); #else printf (_("unrecognized: %-7lx"), type2); #endif @@ -1336,6 +1352,8 @@ if (rtype3 == NULL) #ifdef _bfd_int64_low printf (_("unrecognized: %-7lx"), _bfd_int64_low (type3)); +#elif defined(BFD_HOST_64BIT_LONG_LONG) + printf (_("unrecognized: %-7llx"), type3); #else printf (_("unrecognized: %-7lx"), type3); #endif _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils