aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2016-05-11 12:51:04 +0100
committerNick Clifton <nickc@redhat.com>2016-05-11 12:53:12 +0100
commita6684f0dddb292873f962dc36b20e6db00ef6b09 (patch)
tree907b253ccc181c667eeed048f3f7650463fc0984 /gas/testsuite
parent4e7fbb34f0546360e86b56dcd32b4d6478662b41 (diff)
downloadgdb-a6684f0dddb292873f962dc36b20e6db00ef6b09.zip
gdb-a6684f0dddb292873f962dc36b20e6db00ef6b09.tar.gz
gdb-a6684f0dddb292873f962dc36b20e6db00ef6b09.tar.bz2
Ensure that padding in the constant pool uses constant values.
PR target/20068 * config/tc-arm.c (add_to_lit_pool): Ensure that the padding added to the pool uses O_constant. * testsuite/gas/arm/pr20068.s: New test. * testsuite/gas/arm/pr20068.d: Test driver.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/gas/arm/pr20068.d18
-rw-r--r--gas/testsuite/gas/arm/pr20068.s10
2 files changed, 28 insertions, 0 deletions
diff --git a/gas/testsuite/gas/arm/pr20068.d b/gas/testsuite/gas/arm/pr20068.d
new file mode 100644
index 0000000..b694c0e
--- /dev/null
+++ b/gas/testsuite/gas/arm/pr20068.d
@@ -0,0 +1,18 @@
+# name: PR20068 - Misaligned constant pool when running GAS on a 32-bit host.
+# as: -mfpu=vfpv3
+# objdump: -S
+
+.*: file format .*
+
+
+Disassembly of section .text:
+
+00000000 <main>:
+ 0: e59f0008 ldr r0, \[pc, #8\].*
+ 4: ed9f9b03 vldr d9, \[pc, #12\].*
+ 8: e1a0f00e mov pc, lr
+ c: 00000000 .*
+ 10: 12345678 .*
+ 14: 00000000 .*
+ 18: 00000fff .*
+ 1c: 0000fff0 .*
diff --git a/gas/testsuite/gas/arm/pr20068.s b/gas/testsuite/gas/arm/pr20068.s
new file mode 100644
index 0000000..483cc2e
--- /dev/null
+++ b/gas/testsuite/gas/arm/pr20068.s
@@ -0,0 +1,10 @@
+.global main
+
+main:
+LDR R0, =0x12345678
+@LDR R0, =0x87654321
+FLDD D9, =0xfff000000fff
+@FLDD D9, =0
+@FLDD D9, =0x0
+MOV PC, LR
+.ltorg