bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

binutils compile error under x86_64-pc-mingw32 platform


From: zhou drangon
Subject: binutils compile error under x86_64-pc-mingw32 platform
Date: Tue, 11 Sep 2007 17:14:58 +0800

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]