aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog7
-rw-r--r--gas/testsuite/gas/arm/bl-local-v4t.d1
-rw-r--r--gas/testsuite/gas/arm/blx-local-thumb.d24
-rw-r--r--gas/testsuite/gas/arm/blx-local-thumb.s30
4 files changed, 61 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 1c99079..4b02996 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,10 @@
+2018-11-23 Andre Vieira <andre.simoesdiasvieira@arm.com>
+
+ * testsuite/gas/arm/bl-local-v4t.d: Remove
+ warning check.
+ * testsuite/gas/arm/blx-local-thumb.s: New.
+ * testsuite/gas/arm/blx-local-thumb.d: New.
+
2018-11-21 John Darrington <john@darrington.wattle.id.au>
* testsuite/gas/s12z/shift.s: Add new test case.
diff --git a/gas/testsuite/gas/arm/bl-local-v4t.d b/gas/testsuite/gas/arm/bl-local-v4t.d
index 2985cee..cf68093 100644
--- a/gas/testsuite/gas/arm/bl-local-v4t.d
+++ b/gas/testsuite/gas/arm/bl-local-v4t.d
@@ -2,7 +2,6 @@
#objdump: -drw --prefix-addresses --show-raw-insn
#target: *-*-*eabi* *-*-nacl*
#as:
-#warning_output: blx-local-thumb.l
.*: +file format .*arm.*
Disassembly of section .text:
diff --git a/gas/testsuite/gas/arm/blx-local-thumb.d b/gas/testsuite/gas/arm/blx-local-thumb.d
new file mode 100644
index 0000000..a0a2c04
--- /dev/null
+++ b/gas/testsuite/gas/arm/blx-local-thumb.d
@@ -0,0 +1,24 @@
+#name: Local BLX instructions in Thumb mode.
+#objdump: -drw --prefix-addresses --show-raw-insn
+#skip: *-*-pe *-*-wince
+#as:
+#warning_output: blx-local-thumb.l
+
+.*: +file format .*arm.*
+Disassembly of section .text:
+[^<]*<one> f000 f80e bl 00000020 <foo>
+[^<]*<one\+0x4> f000 e812 blx 0000002c <foo2>
+[^<]*<one\+0x8> f000 f80a bl 00000020 <foo>
+[^<]*<one\+0xc> f000 e80e blx 0000002c <foo2>
+[^<]*<one\+0x10> f000 e80e blx 00000030 <fooundefarm>
+[^<]*<one\+0x14> f000 f80c bl 00000030 <fooundefarm>
+[^<]*<one\+0x18> f000 e806 blx 00000028 <fooundefthumb>
+[^<]*<one\+0x1c> f000 f804 bl 00000028 <fooundefthumb>
+[^<]*<foo> e7ee b.n 00000000 <one>
+[^<]*<foo\+0x2> e003 b.n 0000002c <foo2>
+[^<]*<foo\+0x4> 46c0 nop ; \(mov r8, r8\)
+[^<]*<foo\+0x6> 46c0 nop ; \(mov r8, r8\)
+[^<]*<fooundefthumb> 46c0 nop ; \(mov r8, r8\)
+ ...
+[^<]*<foo2> e1a00000 nop ; \(mov r0, r0\)
+[^<]*<fooundefarm> e1a00000 nop ; \(mov r0, r0\)
diff --git a/gas/testsuite/gas/arm/blx-local-thumb.s b/gas/testsuite/gas/arm/blx-local-thumb.s
new file mode 100644
index 0000000..504aa96
--- /dev/null
+++ b/gas/testsuite/gas/arm/blx-local-thumb.s
@@ -0,0 +1,30 @@
+ .text
+ .arch armv5t
+ .syntax unified
+ .thumb
+one:
+ blx foo @ bl foo
+ blx foo2 @ blx foo2
+ bl foo @ bl foo
+ bl foo2 @ blx foo2
+ blx fooundefarm
+ bl fooundefarm
+ blx fooundefthumb
+ bl fooundefthumb
+ .thumb
+ .type foo, %function
+ .thumb_func
+foo:
+ b one @no relocs
+ b foo2 @ THUMB_PCREL_JUMP
+ nop
+ nop
+fooundefthumb:
+ nop
+ .type foo2, %function
+ .arm
+ .align 2
+foo2:
+ nop
+fooundefarm:
+ nop