diff options
author | Thomas Preud'homme <thomas.preudhomme@arm.com> | 2016-07-01 16:13:25 +0100 |
---|---|---|
committer | Thomas Preud'homme <thomas.preudhomme@arm.com> | 2016-07-01 16:13:25 +0100 |
commit | 5e866f5aeeaf7514f5ca4f9eaba41594eac22e5b (patch) | |
tree | 7339b56ab285a32ae7d290297d4f2241a429fe1e /ld/testsuite | |
parent | 5077bfff905136e9d9a8fdf0886f6217887622ad (diff) | |
download | gdb-5e866f5aeeaf7514f5ca4f9eaba41594eac22e5b.zip gdb-5e866f5aeeaf7514f5ca4f9eaba41594eac22e5b.tar.gz gdb-5e866f5aeeaf7514f5ca4f9eaba41594eac22e5b.tar.bz2 |
Fix Thumb-2 BL detection
2016-07-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
bfd/
* elf32-arm.c (using_thumb2_bl): New function.
(arm_type_of_stub): Declare thumb2 variable together and change type
to bfd_boolean. Use using_thumb2_bl () to determine whether
THM_MAX_FWD_BRANCH_OFFSET or THM2_MAX_FWD_BRANCH_OFFSET should be
checked for BL range.
(elf32_arm_final_link_relocate): Use using_thumb2_bl () to determine
the bit size of BL offset.
ld/
* testsuite/ld-arm/arm-elf.exp (Thumb-2 BL): Assemble for ARMv7.
(Thumb-2 BL on ARMv6-M): New testcase.
* testsuite/ld-arm/thumb2-bl.d: Do not try to match testcase filename.
* testsuite/ld-arm/thumb2-bl.s: Do not select architecture.
Diffstat (limited to 'ld/testsuite')
-rw-r--r-- | ld/testsuite/ld-arm/arm-elf.exp | 5 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/thumb2-bl.d | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/thumb2-bl.s | 1 |
3 files changed, 5 insertions, 3 deletions
diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp index a5d4c87..597bdcf 100644 --- a/ld/testsuite/ld-arm/arm-elf.exp +++ b/ld/testsuite/ld-arm/arm-elf.exp @@ -604,9 +604,12 @@ set armeabitests_nonacl { {{objdump -d fix-arm1176-off.d}} "fix-arm1176-6"} - {"Thumb-2 BL" "-Ttext 0x1000 --section-start .foo=0x1001000" "" "" {thumb2-bl.s} + {"Thumb-2 BL" "-Ttext 0x1000 --section-start .foo=0x1001000" "" "-march=armv7" {thumb2-bl.s} {{objdump -dr thumb2-bl.d}} "thumb2-bl"} + {"Thumb-2 BL on ARMv6-M" "-Ttext 0x1000 --section-start .foo=0x1001000" "" "-march=armv6-m" {thumb2-bl.s} + {{objdump -dr thumb2-bl.d}} + "thumb2-armv6m-bl"} {"Thumb-2 Interworked branch" "-T arm.ld" "" "" {thumb2-b-interwork.s} {{objdump -dr thumb2-b-interwork.d}} "thumb2-b-interwork"} diff --git a/ld/testsuite/ld-arm/thumb2-bl.d b/ld/testsuite/ld-arm/thumb2-bl.d index 298a044..8dab0c0 100644 --- a/ld/testsuite/ld-arm/thumb2-bl.d +++ b/ld/testsuite/ld-arm/thumb2-bl.d @@ -1,5 +1,5 @@ -.*thumb2-bl: file format elf32-.*arm.* +.*: file format elf32-.*arm.* Disassembly of section .text: diff --git a/ld/testsuite/ld-arm/thumb2-bl.s b/ld/testsuite/ld-arm/thumb2-bl.s index ddb1cd3..80af810 100644 --- a/ld/testsuite/ld-arm/thumb2-bl.s +++ b/ld/testsuite/ld-arm/thumb2-bl.s @@ -1,7 +1,6 @@ @ Test to ensure that a Thumb-2 BL works with an offset that is @ not permissable for Thumb-1. - .arch armv7 .global _start .syntax unified |