aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorAndrew Stubbs <andrew.stubbs@st.com>2009-03-18 15:28:24 +0000
committerAndrew Stubbs <andrew.stubbs@st.com>2009-03-18 15:28:24 +0000
commit42e5fcbf34e8d4850abaef7b3e6021348e59eedd (patch)
tree2f216dc0fef9405c162ab403afc3638a2ee67144 /gas/testsuite
parente9dfee340cc44e525f140d10d569c2306439134b (diff)
downloadgdb-42e5fcbf34e8d4850abaef7b3e6021348e59eedd.zip
gdb-42e5fcbf34e8d4850abaef7b3e6021348e59eedd.tar.gz
gdb-42e5fcbf34e8d4850abaef7b3e6021348e59eedd.tar.bz2
2009-03-18 Andrew Stubbs <ams@codesourcery.com>
gas/ * config/tc-arm.c (md_apply_fix): Check BFD_RELOC_ARM_IMMEDIATE and BFD_RELOC_ARM_ADRL_IMMEDIATE value is in the correct section. Check BFD_RELOC_ARM_ADRL_IMMEDIATE has a defined symbol. gas/testsuites/ * gas/arm/adr-invalid.d: New file. * gas/arm/adr-invalid.l: New file. * gas/arm/adr-invalid.s: New file.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/ChangeLog6
-rw-r--r--gas/testsuite/gas/arm/adr-invalid.d2
-rw-r--r--gas/testsuite/gas/arm/adr-invalid.l5
-rw-r--r--gas/testsuite/gas/arm/adr-invalid.s12
4 files changed, 25 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 1ef1ed3..d5e9588 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2009-03-18 Andrew Stubbs <ams@codesourcery.com>
+
+ * gas/arm/adr-invalid.d: New file.
+ * gas/arm/adr-invalid.l: New file.
+ * gas/arm/adr-invalid.s: New file.
+
2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
* gas/ppc/textalign-xcoff-001.d: Expect the section VMAs to be
diff --git a/gas/testsuite/gas/arm/adr-invalid.d b/gas/testsuite/gas/arm/adr-invalid.d
new file mode 100644
index 0000000..d8043dc
--- /dev/null
+++ b/gas/testsuite/gas/arm/adr-invalid.d
@@ -0,0 +1,2 @@
+# name: Invalid use of ADR and ADRL
+# error-output: adr-invalid.l
diff --git a/gas/testsuite/gas/arm/adr-invalid.l b/gas/testsuite/gas/arm/adr-invalid.l
new file mode 100644
index 0000000..817646e
--- /dev/null
+++ b/gas/testsuite/gas/arm/adr-invalid.l
@@ -0,0 +1,5 @@
+[^:]*: Assembler messages:
+[^:]*:3: Error: symbol var is in a different section
+[^:]*:4: Error: undefined symbol undefinedvar used as an immediate value
+[^:]*:5: Error: symbol var is in a different section
+[^:]*:6: Error: undefined symbol undefinedvar used as an immediate value
diff --git a/gas/testsuite/gas/arm/adr-invalid.s b/gas/testsuite/gas/arm/adr-invalid.s
new file mode 100644
index 0000000..8ff3860
--- /dev/null
+++ b/gas/testsuite/gas/arm/adr-invalid.s
@@ -0,0 +1,12 @@
+ .text
+start:
+ adr r0, var
+ adr r0, undefinedvar
+ adrl r1, var
+ adrl r1, undefinedvar
+
+ .data
+ .globl var
+var:
+ .word 0x00000000
+