From d68cd58c009af595600d41c775096dcb138ce6af Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Tue, 18 Jan 2011 14:13:43 +0000 Subject: [PATCH] Fix compilation for mingw64. * coffcode.h (coff_slurp_symbol_table): Add intptr_t intermediate typecast to avoid warning. * elf32-rx.c: Add "bfd_stdint.h" include required for int32_t type usage. * elfxx-ia64.c (elfNN_ia64_relax_br): Use intptr_t typeacast instead of long for pointer to avoid warning. (elfNN_ia64_relax_brl): Idem. (elfNN_ia64_install_value): Idem. * vms-alpha.c (_bfd_vms_slurp_etir): Idem. --- bfd/ChangeLog | 13 +++++++++++++ bfd/coffcode.h | 2 +- bfd/elf32-rx.c | 1 + bfd/elfxx-ia64.c | 10 +++++----- bfd/vms-alpha.c | 2 +- 5 files changed, 21 insertions(+), 7 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 7c513d8..eebb219 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,16 @@ +2011-01-18 Pierre Muller + + Fix compilation for mingw64. + * coffcode.h (coff_slurp_symbol_table): Add intptr_t intermediate + typecast to avoid warning. + * elf32-rx.c: Add "bfd_stdint.h" include required for int32_t type + usage. + * elfxx-ia64.c (elfNN_ia64_relax_br): Use intptr_t typeacast instead + of long for pointer to avoid warning. + (elfNN_ia64_relax_brl): Idem. + (elfNN_ia64_install_value): Idem. + * vms-alpha.c (_bfd_vms_slurp_etir): Idem. + 2011-01-17 Richard Sandiford * elf32-arm.c (elf32_arm_check_relocs): Check needs_plt rather than diff --git a/bfd/coffcode.h b/bfd/coffcode.h index 70f9851..5500f01 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -4852,7 +4852,7 @@ coff_slurp_symbol_table (bfd * abfd) to the symbol instead of the index. FIXME: This should use a union. */ src->u.syment.n_value = - (long) (native_symbols + src->u.syment.n_value); + (long) (intptr_t) (native_symbols + src->u.syment.n_value); dst->symbol.value = src->u.syment.n_value; src->fix_value = 1; break; diff --git a/bfd/elf32-rx.c b/bfd/elf32-rx.c index 7855d5e..0a5e12c 100644 --- a/bfd/elf32-rx.c +++ b/bfd/elf32-rx.c @@ -20,6 +20,7 @@ #include "sysdep.h" #include "bfd.h" +#include "bfd_stdint.h" #include "libbfd.h" #include "elf-bfd.h" #include "elf/rx.h" diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c index d42ad89..26e5919 100644 --- a/bfd/elfxx-ia64.c +++ b/bfd/elfxx-ia64.c @@ -636,7 +636,7 @@ elfNN_ia64_relax_br (bfd_byte *contents, bfd_vma off) bfd_byte *hit_addr; hit_addr = (bfd_byte *) (contents + off); - br_slot = (long) hit_addr & 0x3; + br_slot = (intptr_t) hit_addr & 0x3; hit_addr -= br_slot; t0 = bfd_getl64 (hit_addr + 0); t1 = bfd_getl64 (hit_addr + 8); @@ -738,7 +738,7 @@ elfNN_ia64_relax_brl (bfd_byte *contents, bfd_vma off) bfd_vma t0, t1, i0, i1, i2; hit_addr = (bfd_byte *) (contents + off); - hit_addr -= (long) hit_addr & 0x3; + hit_addr -= (intptr_t) hit_addr & 0x3; t0 = bfd_getl64 (hit_addr); t1 = bfd_getl64 (hit_addr + 8); @@ -3874,7 +3874,7 @@ elfNN_ia64_install_value (bfd_byte *hit_addr, bfd_vma v, switch (opnd) { case IA64_OPND_IMMU64: - hit_addr -= (long) hit_addr & 0x3; + hit_addr -= (intptr_t) hit_addr & 0x3; t0 = bfd_getl64 (hit_addr); t1 = bfd_getl64 (hit_addr + 8); @@ -3903,7 +3903,7 @@ elfNN_ia64_install_value (bfd_byte *hit_addr, bfd_vma v, break; case IA64_OPND_TGT64: - hit_addr -= (long) hit_addr & 0x3; + hit_addr -= (intptr_t) hit_addr & 0x3; t0 = bfd_getl64 (hit_addr); t1 = bfd_getl64 (hit_addr + 8); @@ -3928,7 +3928,7 @@ elfNN_ia64_install_value (bfd_byte *hit_addr, bfd_vma v, break; default: - switch ((long) hit_addr & 0x3) + switch ((intptr_t) hit_addr & 0x3) { case 0: shift = 5; break; case 1: shift = 14; hit_addr += 3; break; diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c index 309c3a2..322de62 100644 --- a/bfd/vms-alpha.c +++ b/bfd/vms-alpha.c @@ -1709,7 +1709,7 @@ _bfd_vms_slurp_etir (bfd *abfd, struct bfd_link_info *info) #if VMS_DEBUG _bfd_vms_debug (4, "etir: %s(%d)\n", _bfd_vms_etir_name (cmd), cmd); - _bfd_hexdump (8, ptr, cmd_length - 4, (long) ptr); + _bfd_hexdump (8, ptr, cmd_length - 4, (intptr_t) ptr); #endif switch (cmd) -- 2.7.4