From 1f38083f425e03faf55595414daf291306738222 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 22 Oct 2018 13:49:21 +1030 Subject: [PATCH] gas simple-forward test 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. --- gas/ChangeLog | 7 +++++++ gas/testsuite/gas/all/eqv-dot.d | 4 ++-- gas/testsuite/gas/all/gas.exp | 2 ++ gas/testsuite/gas/all/simple-forward.d | 14 ++++++++++++++ gas/testsuite/gas/all/simple-forward.s | 11 +++++++++++ 5 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 gas/testsuite/gas/all/simple-forward.d create mode 100644 gas/testsuite/gas/all/simple-forward.s diff --git a/gas/ChangeLog b/gas/ChangeLog index b0405fa4b8..d5935b79f1 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +2018-10-22 Alan Modra + + * 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. + 2018-10-22 Alan Modra * config/tc-alpha.c (md_apply_fix): Handle BFD_RELOC_8 for fixups 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: