Index: src/bfd/bfd-in.h =================================================================== --- src.orig/bfd/bfd-in.h +++ src/bfd/bfd-in.h @@ -133,9 +133,14 @@ typedef BFD_HOST_U_64_BIT symvalue; #define sprintf_vma(s,x) sprintf (s, "%016lx", x) #define fprintf_vma(f,x) fprintf (f, "%016lx", x) #elif BFD_HOST_64BIT_LONG_LONG +#ifndef _WIN32 #define sprintf_vma(s,x) sprintf (s, "%016llx", x) #define fprintf_vma(f,x) fprintf (f, "%016llx", x) #else +#define sprintf_vma(s,x) sprintf (s, "%016I64x", x) +#define fprintf_vma(f,x) fprintf (f, "%016I64x", x) +#endif +#else #define _bfd_int64_low(x) ((unsigned long) (((x) & 0xffffffff))) #define _bfd_int64_high(x) ((unsigned long) (((x) >> 32) & 0xffffffff)) #define fprintf_vma(s,x) \ Index: src/bfd/bfd-in2.h =================================================================== --- src.orig/bfd/bfd-in2.h +++ src/bfd/bfd-in2.h @@ -140,9 +140,14 @@ typedef BFD_HOST_U_64_BIT symvalue; #define sprintf_vma(s,x) sprintf (s, "%016lx", x) #define fprintf_vma(f,x) fprintf (f, "%016lx", x) #elif BFD_HOST_64BIT_LONG_LONG +#ifndef _WIN32 #define sprintf_vma(s,x) sprintf (s, "%016llx", x) #define fprintf_vma(f,x) fprintf (f, "%016llx", x) #else +#define sprintf_vma(s,x) sprintf (s, "%016I64x", x) +#define fprintf_vma(f,x) fprintf (f, "%016I64x", x) +#endif +#else #define _bfd_int64_low(x) ((unsigned long) (((x) & 0xffffffff))) #define _bfd_int64_high(x) ((unsigned long) (((x) >> 32) & 0xffffffff)) #define fprintf_vma(s,x) \ Index: src/bfd/bfd.c =================================================================== --- src.orig/bfd/bfd.c +++ src/bfd/bfd.c @@ -916,6 +916,8 @@ bfd_get_sign_extend_vma (bfd *abfd) if (CONST_STRNEQ (name, "coff-go32") || strcmp (name, "pe-i386") == 0 || strcmp (name, "pei-i386") == 0 + || strcmp (name, "pe-x86-64") == 0 + || strcmp (name, "pei-x86-64") == 0 || strcmp (name, "pe-arm-wince-little") == 0 || strcmp (name, "pei-arm-wince-little") == 0) return 1; =