diff options
author | Joseph Myers <joseph@codesourcery.com> | 2008-11-25 15:53:27 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2008-11-25 15:53:27 +0000 |
commit | 1954000798df4fa1571ee51994105b75f31959d1 (patch) | |
tree | cca332ecbd384c8eec75a1fd5bdcd85ed9c096ef /ld/testsuite/ld-arm | |
parent | 83bac4b0108234603a1674d820d0188c9f8c4e68 (diff) | |
download | gdb-1954000798df4fa1571ee51994105b75f31959d1.zip gdb-1954000798df4fa1571ee51994105b75f31959d1.tar.gz gdb-1954000798df4fa1571ee51994105b75f31959d1.tar.bz2 |
bfd:
* elf32-arm.c (elf32_arm_final_link_relocate): Do not turn
branches to undefine weak symbols into branches to the next
instruction if creating PLT entries for those symbols.
ld/testsuite:
* ld-arm/thumb2-bl-undefweak.d, ld-arm/thumb2-bl-undefweak.s: New.
* ld-arm/arm-elf.exp: Run thumb2-bl-undefweak test.
Diffstat (limited to 'ld/testsuite/ld-arm')
-rw-r--r-- | ld/testsuite/ld-arm/arm-elf.exp | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/thumb2-bl-undefweak.d | 9 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/thumb2-bl-undefweak.s | 10 |
3 files changed, 20 insertions, 0 deletions
diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp index 6075e68..665dab1 100644 --- a/ld/testsuite/ld-arm/arm-elf.exp +++ b/ld/testsuite/ld-arm/arm-elf.exp @@ -184,6 +184,7 @@ run_dump_test "group-relocs-alu-bad" run_dump_test "group-relocs-ldr-bad" run_dump_test "group-relocs-ldrs-bad" run_dump_test "group-relocs-ldc-bad" +run_dump_test "thumb2-bl-undefweak" run_dump_test "emit-relocs1" # Exclude non-ARM-EABI targets. diff --git a/ld/testsuite/ld-arm/thumb2-bl-undefweak.d b/ld/testsuite/ld-arm/thumb2-bl-undefweak.d new file mode 100644 index 0000000..d06f1ab --- /dev/null +++ b/ld/testsuite/ld-arm/thumb2-bl-undefweak.d @@ -0,0 +1,9 @@ +#source: thumb2-bl-undefweak.s +#as: +#ld: -shared +#objdump: -dr +#... +Disassembly of section .text: + +.* <foo>: + .*: .... .... blx ... <foo-0x.*> diff --git a/ld/testsuite/ld-arm/thumb2-bl-undefweak.s b/ld/testsuite/ld-arm/thumb2-bl-undefweak.s new file mode 100644 index 0000000..5e70eea --- /dev/null +++ b/ld/testsuite/ld-arm/thumb2-bl-undefweak.s @@ -0,0 +1,10 @@ +@ Test that calls to undefined weak functions resolve to call through +@ the PLT in shared libraries. + + .arch armv7 + .syntax unified + .text + .thumb_func +foo: + bl bar + .weak bar |