From 6034aab8a1f9f470398ca1f99ccc0811ece2087e Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Thu, 28 Jun 2012 16:57:24 +0000 Subject: [PATCH] bfd/ * elf32-arm.c (elf32_arm_populate_plt_entry): Use int32_t for displacement calculation in nacl_p case. --- bfd/ChangeLog | 5 +++++ bfd/elf32-arm.c | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index a213e897228..26bcbd53c0e 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2012-06-28 Roland McGrath + + * elf32-arm.c (elf32_arm_populate_plt_entry): Use int32_t for + displacement calculation in nacl_p case. + 2012-06-28 Nick Clifton * po/uk.po: New Ukranian translation. diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 826dd7e0be2..4ac0a9d1b80 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -23,6 +23,7 @@ #include #include "bfd.h" +#include "bfd_stdint.h" #include "libiberty.h" #include "libbfd.h" #include "elf-bfd.h" @@ -7629,7 +7630,7 @@ elf32_arm_populate_plt_entry (bfd *output_bfd, struct bfd_link_info *info, { /* Calculate the displacement between the PLT slot and the common tail that's part of the special initial PLT slot. */ - bfd_vma tail_displacement + int32_t tail_displacement = ((splt->output_section->vma + splt->output_offset + ARM_NACL_PLT_TAIL_OFFSET) - (plt_address + htab->plt_entry_size + 4)); @@ -7642,7 +7643,8 @@ elf32_arm_populate_plt_entry (bfd *output_bfd, struct bfd_link_info *info, /* Calculate the displacement between the PLT slot and the entry in the GOT. The offset accounts for the value produced by adding to pc in the penultimate instruction of the PLT stub. */ - got_displacement = got_address - (plt_address + htab->plt_entry_size); + got_displacement = (got_address + - (plt_address + htab->plt_entry_size)); /* NaCl does not support interworking at all. */ BFD_ASSERT (!elf32_arm_plt_needs_thumb_stub_p (info, arm_plt)); @@ -10982,7 +10984,7 @@ bfd_arm_get_mach_from_attributes (bfd * abfd) return bfd_mach_arm_iWMMXt2; if (strcmp (name, "IWMMXT") == 0) - return bfd_mach_arm_iWMMXt; + return bfd_mach_arm_iWMMXt; } return bfd_mach_arm_5TE; -- 2.30.2