bfd/
authorRichard Sandiford <rdsandiford@googlemail.com>
Mon, 14 Mar 2011 15:53:33 +0000 (15:53 +0000)
committerRichard Sandiford <rdsandiford@googlemail.com>
Mon, 14 Mar 2011 15:53:33 +0000 (15:53 +0000)
commitf6e32f6db5fd9c527d978a27dbeef9f2f36f212a
treee1542b5f11897a86c8c9820dc9ff2dc4e62e22d2
parentb436d85411e682b845d3d0d1d385e00504a4411a
bfd/
* elf32-arm.c (elf32_arm_check_relocs): Use call_reloc_p,
may_need_local_target_p and may_become_dynamic_p to classify
the relocation type.  Don't check info->symbolic or h->def_regular
when deciding whether to record a potential dynamic reloc.
Don't treat potential dynamic relocs as PLT references.
(elf32_arm_gc_sweep_hook): Update to match.  Assert that we don't
try to make the PLT reference count go negative.

ld/testsuite/
* ld-arm/arm-lib-plt-2a.s, ld-arm/arm-lib-plt-2b.s,
ld-arm/arm-lib-plt-2.dd, ld-arm/arm-lib-plt-2.rd: New tests.
* ld-arm/arm-elf.exp: Run them.
bfd/ChangeLog
bfd/elf32-arm.c
ld/testsuite/ChangeLog
ld/testsuite/ld-arm/arm-elf.exp
ld/testsuite/ld-arm/arm-lib-plt-2.dd [new file with mode: 0644]
ld/testsuite/ld-arm/arm-lib-plt-2.rd [new file with mode: 0644]
ld/testsuite/ld-arm/arm-lib-plt-2a.s [new file with mode: 0644]
ld/testsuite/ld-arm/arm-lib-plt-2b.s [new file with mode: 0644]