bfd/
commit868c08dea4c2f3c7ba2f36eff7bc072c5a733bd0
authorRichard Sandiford <rsandifo@nildram.co.uk>
Mon, 14 Mar 2011 15:53:32 +0000 (14 15:53 +0000)
committerRichard Sandiford <rsandifo@nildram.co.uk>
Mon, 14 Mar 2011 15:53:32 +0000 (14 15:53 +0000)
tree95dcdddd771b590218503513b5475b3446745bc8
parentc82752d7ebdb347961edea2bdcdada0d0e7f4f7b
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]