diff options
author | Paul Brook <paul@codesourcery.com> | 2005-12-12 17:03:40 +0000 |
---|---|---|
committer | Paul Brook <paul@codesourcery.com> | 2005-12-12 17:03:40 +0000 |
commit | 39b41c9ca83ec4e504d90bd6e2137e67a27585e2 (patch) | |
tree | f013eec4e858d0da7385c4b83ce0181227ede26c /ld/testsuite/ld-arm/arm-elf.exp | |
parent | 4970f871a701ce55f5018f31bca1b478448c57ff (diff) | |
download | gdb-39b41c9ca83ec4e504d90bd6e2137e67a27585e2.zip gdb-39b41c9ca83ec4e504d90bd6e2137e67a27585e2.tar.gz gdb-39b41c9ca83ec4e504d90bd6e2137e67a27585e2.tar.bz2 |
2005-12-12 Paul Brook <paul@codesourcery.com>
bfd/
* bfd-in2.h: Regenerate.
* elf32-arm.c (elf32_arm_reloc_map): Add BFD_RELOC_ARM_PCREL_CALL and
BFD_RELOC_ARM_PCREL_JUMP.
(check_use_blx): New function.
(bfd_elf32_arm_process_before_allocation): Don't allocate glue if
using BLX.
(elf32_arm_final_link_relocate): Perform bl<->blx conversion for
R_ARM_CALL and R_ARM_THM.
(elf32_arm_get_eabi_attr_int): New function.
(elf32_arm_size_dynamic_sections): Call check_use_blx.
* libbfd.h: Regenerate.
* reloc.c: Add BFD_RELOC_ARM_PCREL_CALL and BFD_RELOC_ARM_PCREL_JUMP.
gas/
* config/tc-arm.c (do_branch): Generate EABI branch relocations.
(do_bl): New function.
(do_blx): Generate BFD_RELOC_ARM_PCREL_CALL relocation.
(do_t_blx): Generate BFD_RELOC_THUMB_PCREL_BRANCH23.
(insns): Use do_bl.
(md_pcrel_from_section): Add BFD_RELOC_ARM_PCREL_CALL and
BFD_RELOC_ARM_PCREL_JUMP.
(md_apply_fix): Merge BFD_RELOC_ARM_PCREL_BRANCH and
BFD_RELOC_ARM_PCREL_BLX cases. Handle BFD_RELOC_ARM_PCREL_CALL and
BFD_RELOC_ARM_PCREL_JUMP.
(tc_gen_reloc): Handle BFD_RELOC_ARM_PCREL_CALL and
BFD_RELOC_ARM_PCREL_JUMP.
gas/testsuite/
* gas/arm/pic.d: Allow R_ARM_CALL relocations.
include/elf/
* arm.h (elf32_arm_get_eabi_attr_int): Add prototype.
ld/testsuite/
* ld-arm/arm-call.d: New test.
* ld-arm/arm-call1.s: New file.
* ld-arm/arm-call1.s: New file.
* ld-arm/arm-elf.exp: Add arm-call and mixed-app-v5.
* ld-arm/arm.ld: Add .glue_7 and .ARM.attribues.
* ld-arm/mixed-app-v5.d: New file.
* ld-arm/mixed-app.r: Tweak expected output.
Diffstat (limited to 'ld/testsuite/ld-arm/arm-elf.exp')
-rw-r--r-- | ld/testsuite/ld-arm/arm-elf.exp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp index 7404adf..384b289 100644 --- a/ld/testsuite/ld-arm/arm-elf.exp +++ b/ld/testsuite/ld-arm/arm-elf.exp @@ -57,6 +57,11 @@ set armelftests { {{objdump -fdw mixed-app.d} {objdump -Rw mixed-app.r} {readelf -Ds mixed-app.sym}} "mixed-app"} + {"Mixed ARM/Thumb arch5 dynamic application" "tmpdir/mixed-lib.so -T arm-dyn.ld --use-blx" "" + {mixed-app.s} + {{objdump -fdw mixed-app-v5.d} {objdump -Rw mixed-app.r} + {readelf -Ds mixed-app.sym}} + "mixed-app-v5"} {"target1-abs" "-static --target1-abs -T arm.ld" "" {arm-target1.s} {{objdump -s arm-target1-abs.d}} "arm-target1-abs"} @@ -75,6 +80,9 @@ set armelftests { {"arm-rel31" "-static -T arm.ld" "" {arm-rel31.s} {{objdump -s arm-rel31.d}} "arm-rel31"} + {"arm-call" "-static -T arm.ld" "-meabi=4" {arm-call1.s arm-call2.s} + {{objdump -d arm-call.d}} + "arm-call"} {"TLS shared library" "-shared -T arm-lib.ld" "" {tls-lib.s} {{objdump -fdw tls-lib.d} {objdump -Rw tls-lib.r}} "tls-lib.so"} |