gas simple-forward test

Alan Modra amodra@gmail.com
Mon Oct 22 12:09:00 GMT 2018


Tests that target md_apply_fix can handle fixups that have resolved
down to a constant and thus do not need relocations.

Also a fix for eqv-dot xfails.

	* testsuite/gas/all/simple-forward.d,
	* testsuite/gas/all/simple-forward.s: New test.
	* testsuite/gas/all/gas.exp: Run it.
	* testsuite/gas/all/eqv-dot.d: xfail tic30 and tic54x.

diff --git a/gas/testsuite/gas/all/eqv-dot.d b/gas/testsuite/gas/all/eqv-dot.d
index 154530348e..bd825065bb 100644
--- a/gas/testsuite/gas/all/eqv-dot.d
+++ b/gas/testsuite/gas/all/eqv-dot.d
@@ -1,8 +1,8 @@
 #objdump: -s -j .data
 #name: eqv involving dot
 # bfin doesn't support 'symbol = expression'
-# tic4x has 4 octets per byte
-#notarget: bfin-*-* tic4x-*-*
+# tic30 and tic4x have 4 octets per byte, tic54x has 2 octets per byte
+#notarget: bfin-*-* *c30-*-* *c4x-*-* *c54x-*-*
 
 .*: .*
 
diff --git a/gas/testsuite/gas/all/gas.exp b/gas/testsuite/gas/all/gas.exp
index 4296b14a70..7c28f43cc5 100644
--- a/gas/testsuite/gas/all/gas.exp
+++ b/gas/testsuite/gas/all/gas.exp
@@ -98,6 +98,8 @@ if { ![istarget "bfin-*-*"] } then {
 }
 gas_test_error "assign-bad.s" "" "== assignment for symbol already set"
 
+run_dump_test simple-forward
+
 # .equ works differently on some targets.
 # linkrelax-ing prevents most forward references from working.
 case $target_triplet in {
diff --git a/gas/testsuite/gas/all/simple-forward.d b/gas/testsuite/gas/all/simple-forward.d
new file mode 100644
index 0000000000..63b4077c1c
--- /dev/null
+++ b/gas/testsuite/gas/all/simple-forward.d
@@ -0,0 +1,14 @@
+#objdump: -s -j .data
+#name: simple forward references
+# tic30 and tic4x have 4 octets per byte, tic54x has 2 octets per byte
+#notarget: *c30-*-* *c4x-*-* *c54x-*-*
+# am33, crx and mn10300 all emit relocs unnecessarily for this test,
+# but the code they generate is correct.  Others emit incorrect relocs
+# which lead to incorrect results after linking.
+#xfail: am33*-*-* crx-*-* mn10300-*-*
+
+.*: .*
+
+Contents of section \.data:
+ 0000 0c000000 (0c000000 0c000000|000c0000 0000000c) .*
+#pass
diff --git a/gas/testsuite/gas/all/simple-forward.s b/gas/testsuite/gas/all/simple-forward.s
new file mode 100644
index 0000000000..fb7ee63a82
--- /dev/null
+++ b/gas/testsuite/gas/all/simple-forward.s
@@ -0,0 +1,11 @@
+ .data
+ .balign 4
+L0:
+ .balign 4
+ .dc.b L1-L0
+ .balign 4
+ .dc.w L1-L0
+ .balign 4
+ .dc.l L1-L0
+ .balign 4
+L1:

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Binutils mailing list