aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorThomas Preud'homme <thomas.preudhomme@arm.com>2016-07-01 16:13:25 +0100
committerThomas Preud'homme <thomas.preudhomme@arm.com>2016-07-01 16:13:25 +0100
commit5e866f5aeeaf7514f5ca4f9eaba41594eac22e5b (patch)
tree7339b56ab285a32ae7d290297d4f2241a429fe1e /ld
parent5077bfff905136e9d9a8fdf0886f6217887622ad (diff)
downloadgdb-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')
-rw-r--r--ld/ChangeLog7
-rw-r--r--ld/testsuite/ld-arm/arm-elf.exp5
-rw-r--r--ld/testsuite/ld-arm/thumb2-bl.d2
-rw-r--r--ld/testsuite/ld-arm/thumb2-bl.s1
4 files changed, 12 insertions, 3 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 5f2e6cd..f53a2ed 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,10 @@
+2016-07-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * 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.
+
2016-07-01 Tristan Gingold <gingold@adacore.com>
* NEWS: Add marker for 2.27.
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