aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/testsuite/ChangeLog5
-rw-r--r--gas/testsuite/gas/all/fwdexp.d11
-rw-r--r--gas/testsuite/gas/all/fwdexp.s6
-rw-r--r--gas/testsuite/gas/all/gas.exp19
4 files changed, 41 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 3a73dfb..671cc03 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2010-09-29 Alan Modra <amodra@gmail.com>
+ * gas/all/fwdexp.d, * gas/all/fwdexp.s: New test.
+ * gas/all/gas.exp: Run it.
+
+2010-09-29 Alan Modra <amodra@gmail.com>
+
* lib/gas-defs.exp (is_elf_format): Merge with binutils and ld versions.
(is_aout_format): Copy from ld testsuite.
(is_pecoff_format): Merge with ld version.
diff --git a/gas/testsuite/gas/all/fwdexp.d b/gas/testsuite/gas/all/fwdexp.d
new file mode 100644
index 0000000..b30e350
--- /dev/null
+++ b/gas/testsuite/gas/all/fwdexp.d
@@ -0,0 +1,11 @@
+#objdump: -rs -j .text
+#name: forward expression
+
+.*: .*
+
+RELOCATION RECORDS FOR .*
+OFFSET +TYPE +VALUE
+0+ .*(\.data|i)(|\+0xf+e|\+0xf+c|\+0xf+8)
+
+Contents of section .*
+ 0+ (0+|feff|fffe|fcffffff|fffffffc|f8ffffff ffffffff|ffffffff fffffff8) .*
diff --git a/gas/testsuite/gas/all/fwdexp.s b/gas/testsuite/gas/all/fwdexp.s
new file mode 100644
index 0000000..e103099
--- /dev/null
+++ b/gas/testsuite/gas/all/fwdexp.s
@@ -0,0 +1,6 @@
+ .data
+i:
+
+ .text
+ .dc.a i + (. - .L1)
+.L1:
diff --git a/gas/testsuite/gas/all/gas.exp b/gas/testsuite/gas/all/gas.exp
index 0651bb2..9e080f4 100644
--- a/gas/testsuite/gas/all/gas.exp
+++ b/gas/testsuite/gas/all/gas.exp
@@ -86,6 +86,25 @@ case $target_triplet in {
}
}
+# aout relocs are often weird, so is mep and mips-ecoff. don't bother testing
+# som doesn't use a .text section
+# mmix doesn't like .L1:
+# ti addresses aren't octets.
+if { ![is_aout_format] } {
+ case $target_triplet in {
+ { hppa-*-hpux* } { }
+ { mep-*-* } { }
+ { mips*-*-ecoff* } { }
+ { mmix-*-* } { }
+ { tic30*-*-* } { }
+ { tic4x*-*-* } { }
+ { tic54x*-*-* } { }
+ default {
+ run_dump_test fwdexp
+ }
+ }
+}
+
# .set works differently on some targets.
# most of the tests won't work on targets that set linkrelax.
# 4 octet bytes confuse address matching on ti targets.