aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorThomas Preud'homme <thomas.preudhomme@arm.com>2015-12-26 10:24:58 +0800
committerThomas Preud'homme <thomas.preudhomme@arm.com>2015-12-26 10:24:58 +0800
commit3e1a8f9569478157ee932e35de928beb211f5df4 (patch)
tree76c0cb9339a44703bc9aa7aa962a925e2ed4e7e9 /ld
parent245d2ad7f57cf877abf7442f9a189dc4c655f136 (diff)
downloadfsf-binutils-gdb-3e1a8f9569478157ee932e35de928beb211f5df4.zip
fsf-binutils-gdb-3e1a8f9569478157ee932e35de928beb211f5df4.tar.gz
fsf-binutils-gdb-3e1a8f9569478157ee932e35de928beb211f5df4.tar.bz2
Add test for ARMv6-M farcall with no profile info
2015-12-24 Thomas Preud'homme <thomas.preudhomme@arm.com> ld/testsuite/ * ld-arm/arm-elf.exp: Run new test "Thumb-Thumb farcall v6-M (no profile)". * ld-arm/farcall-thumb-thumb-m-no-profile-a.s: New file. * ld-arm/farcall-thumb-thumb-m-no-profile-b.s: Likewise. * ld-arm/farcall-thumb-thumb-m-no-profile.d: Likewise.
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ChangeLog8
-rw-r--r--ld/testsuite/ld-arm/arm-elf.exp4
-rw-r--r--ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile-a.s8
-rw-r--r--ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile-b.s8
-rw-r--r--ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile.d24
5 files changed, 52 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 879aab4..bcbd203 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2015-12-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * ld-arm/arm-elf.exp: Run new test "Thumb-Thumb farcall v6-M (no
+ profile)".
+ * ld-arm/farcall-thumb-thumb-m-no-profile-a.s: New file.
+ * ld-arm/farcall-thumb-thumb-m-no-profile-b.s: Likewise.
+ * ld-arm/farcall-thumb-thumb-m-no-profile.d: Likewise.
+
2015-12-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
* ld-arm/arm-elf.exp (armeabitests_common): Run new tests
diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp
index 724e338..2a10177 100644
--- a/ld/testsuite/ld-arm/arm-elf.exp
+++ b/ld/testsuite/ld-arm/arm-elf.exp
@@ -481,6 +481,10 @@ set armeabitests_nonacl {
{"Thumb-Thumb farcall (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "" "-march=armv4t" {farcall-thumb-thumb.s}
{{objdump -d farcall-thumb-thumb-pic-veneer.d}}
"farcall-thumb-thumb-pic-veneer"}
+ {"Thumb-Thumb farcall v6-M (no profile)" "-Ttext 0x1000" "" ""
+ {farcall-thumb-thumb-m-no-profile-a.s farcall-thumb-thumb-m-no-profile-b.s}
+ {{objdump -d farcall-thumb-thumb-m-no-profile.d}}
+ "farcall-thumb-thumb-m-no-profile"}
{"Thumb-ARM farcall" "-Ttext 0x1c01010 --section-start .foo=0x2001014" "" "-W" {farcall-thumb-arm.s}
{{objdump -d farcall-thumb-arm.d}}
diff --git a/ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile-a.s b/ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile-a.s
new file mode 100644
index 0000000..cecd5a5
--- /dev/null
+++ b/ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile-a.s
@@ -0,0 +1,8 @@
+ .eabi_attribute Tag_CPU_arch, 11 @ V6-M
+ .thumb
+ .type _start, function
+ .global _start
+ .text
+_start:
+ bl myfunc
+ b .
diff --git a/ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile-b.s b/ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile-b.s
new file mode 100644
index 0000000..6590021
--- /dev/null
+++ b/ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile-b.s
@@ -0,0 +1,8 @@
+ .eabi_attribute Tag_CPU_arch, 11 @ V6-M
+ .thumb
+ .type myfunc, function
+ .global myfunc
+ .text
+ .space 102400000
+myfunc:
+ bx lr
diff --git a/ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile.d b/ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile.d
new file mode 100644
index 0000000..639fe5a
--- /dev/null
+++ b/ld/testsuite/ld-arm/farcall-thumb-thumb-m-no-profile.d
@@ -0,0 +1,24 @@
+.*: file format .*
+
+Disassembly of section .text:
+
+00001000 <_start>:
+ 1000: f000 f802 bl 1008 <__myfunc_veneer>
+ 1004: e7fe b.n 1004 <_start\+0x4>
+ \.\.\.
+
+00001008 <__myfunc_veneer>:
+ 1008: b401 push {r0}
+ 100a: 4802 ldr r0, \[pc, #8\] ; \(1014 <__myfunc_veneer\+0xc>\)
+ 100c: 4684 mov ip, r0
+ 100e: bc01 pop {r0}
+ 1010: 4760 bx ip
+ 1012: bf00 nop
+ 1014: 061a9019 .word 0x061a9019
+ \.\.\.
+
+00080000 <_stack>:
+ \.\.\.
+
+061a9018 <myfunc>:
+ 61a9018: 4770 bx lr