summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2012-06-28 16:57:20 +0000
committerRoland McGrath <roland@gnu.org>2012-06-28 16:57:20 +0000
commitd2ce3f3341e32e161ed4fbafc15579b64091d6c5 (patch)
tree6b2973fd83d36a08c61ae4d31318d5bf91b8bd2f
parent33fcb09f24a5d67eebc2e4a1f27bfd0908547318 (diff)
downloadbinutils-redhat-d2ce3f3341e32e161ed4fbafc15579b64091d6c5.tar.gz
bfd/
* elf32-arm.c (elf32_arm_populate_plt_entry): Use int32_t for displacement calculation in nacl_p case.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf32-arm.c8
2 files changed, 10 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index a213e89722..26bcbd53c0 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2012-06-28 Roland McGrath <mcgrathr@google.com>
+
+ * elf32-arm.c (elf32_arm_populate_plt_entry): Use int32_t for
+ displacement calculation in nacl_p case.
+
2012-06-28 Nick Clifton <nickc@redhat.com>
* po/uk.po: New Ukranian translation.
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 826dd7e0be..4ac0a9d1b8 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -23,6 +23,7 @@
#include <limits.h>
#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;