aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2011-01-17 16:36:43 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2011-01-17 16:36:43 +0000
commitda17376b704177fc4d8fa038169782e28b1f3b24 (patch)
tree67a2f1be8072c12de87992729ac98caf536875c5 /bfd
parent1e81e12b2c81710f5b098e18d5146d6704100913 (diff)
downloadgdb-da17376b704177fc4d8fa038169782e28b1f3b24.zip
gdb-da17376b704177fc4d8fa038169782e28b1f3b24.tar.gz
gdb-da17376b704177fc4d8fa038169782e28b1f3b24.tar.bz2
bfd/
* elf32-arm.c (elf32_arm_check_relocs): Check needs_plt rather than h->needs_plt when deciding whether to record a possible dynamic reloc. ld/testsuite/ * ld-arm/arm-rel32.s, ld-arm/arm-rel32.d: New testcase. * ld-arm/arm-elf.exp: Run it.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf32-arm.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 93291ef..7c513d8 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,10 @@
2011-01-17 Richard Sandiford <richard.sandiford@linaro.org>
+ * elf32-arm.c (elf32_arm_check_relocs): Check needs_plt rather than
+ h->needs_plt when deciding whether to record a possible dynamic reloc.
+
+2011-01-17 Richard Sandiford <richard.sandiford@linaro.org>
+
* elf32-arm.c (elf32_arm_gc_sweep_hook): Remove all registered
dynamic relocs for the removed section.
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 8e9e30f..54001a3 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -11576,7 +11576,7 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info,
if ((info->shared || htab->root.is_relocatable_executable)
&& (sec->flags & SEC_ALLOC) != 0
&& ((r_type == R_ARM_ABS32 || r_type == R_ARM_ABS32_NOI)
- || (h != NULL && ! h->needs_plt
+ || (h != NULL && ! needs_plt
&& (! info->symbolic || ! h->def_regular))))
{
struct elf_dyn_relocs *p, **head;