X-Git-Url: https://oss.titaniummirror.com/gitweb?p=msp430-binutils.git;a=blobdiff_plain;f=gas%2Ftestsuite%2Fgas%2Fall%2Fgas.exp;fp=gas%2Ftestsuite%2Fgas%2Fall%2Fgas.exp;h=2b93f57f4a30fa1af5f46e0ba039061a527a0cbc;hp=6dabbca689be723c5c14954a62f5204a4de174dc;hb=d5da4f291af551c0b8b79e1d4a9b173d60e5c10e;hpb=7b5ea4fcdf2819e070665ab5610f8b48e3867c10 diff --git a/gas/testsuite/gas/all/gas.exp b/gas/testsuite/gas/all/gas.exp index 6dabbca..2b93f57 100644 --- a/gas/testsuite/gas/all/gas.exp +++ b/gas/testsuite/gas/all/gas.exp @@ -34,7 +34,12 @@ if { ![istarget cris-*-*] && ![istarget crisv32-*-*] # This test is meaningless for the PA; the difference of two undefined # symbols is something that is (and must be) supported on the PA. -if ![istarget hppa*-*-*] then { +# +# The MN10300 port supports link time relaxation which in turn allows +# for link time resolution of the differneces of two symbols which are +# undefined at assembly time. Hence this test will not pass for the +# MN10300. +if { ![istarget hppa*-*-*] && ![istarget mn10300-*-*] && ![istarget am3*-*-*] } then { gas_test_error "diff1.s" "" "difference of two undefined symbols" } @@ -54,52 +59,64 @@ case $target_triplet in { gas_test "eqv-ok.s" "" "" ".eqv support" gas_test_error "eqv-bad.s" "" ".eqv for symbol already set" -gas_test "assign-ok.s" "" "" "== assignment support" +if { ![istarget "bfin-*-*"] } then { + gas_test "assign-ok.s" "" "" "== assignment support" +} gas_test_error "assign-bad.s" "" "== assignment for symbol already set" # .equ works differently on some targets. # linkrelax-ing prevents most forward references from working. case $target_triplet in { + { *c54x*-*-* } { } { cr16*-*-* } { } { crx*-*-* } { } { h8300*-*-* } { } { hppa*-*-* } { } + { mep-*-* } { } { mn10\[23\]00*-*-* } { } - { *c54x*-*-* } { } default { # Some targets don't manage to resolve BFD_RELOC_8 for constants. setup_xfail "alpha*-*-*" "avr-*-*" "*c30*-*-*" "*c4x*-*-*" \ "d\[13\]0v*-*-*" "i860-*-*" "mips*-*-*" "msp430-*-*" \ - "pdp11-*-*" "sparc*-*-*" "xtensa-*-*" + "pdp11-*-*" "sparc*-*-*" "xtensa*-*-*" run_dump_test forward } } # .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. +# pdp11 gets unexpected reloc types. case $target_triplet in { { alpha*-*-* } { } + { cr16*-*-* } { } + { crx*-*-* } { } + { h8300-*-* } { } { mips*-*-* } { } - { *c54x*-*-* } { } + { mn10200-*-* } { } + { mn10300-*-* } { } + { pdp11-*-* } { } + { tic30*-*-* } { } + { tic4x*-*-* } { } + { tic54x*-*-* } { } + { xtensa*-*-* } { } { z80-*-* } { } default { - setup_xfail "*c30*-*-*" "*c4x*-*-*" "pdp11-*-*" run_dump_test redef # The next two tests can fail if the target does not convert fixups # against ordinary symbols into relocations against section symbols. # This is usually revealed by the error message: # symbol `sym' required but not present - setup_xfail "*c30*-*-*" "*c4x*-*-*" "*arm*-*-*aout*" "*arm*-*-*coff" \ - "*arm*-*-pe" "crx*-*-*" "h8300*-*-*" "m68hc*-*-*" "maxq-*-*" \ - "mn10300-*-*" "pdp11-*-*" "vax*-*-*" "z8k-*-*" "cr16-*-*" + setup_xfail "*arm*-*-*aout*" "*arm*-*-*coff" \ + "*arm*-*-pe" "m68hc*-*-*" "maxq-*-*" \ + "vax*-*-*" "z8k-*-*" run_dump_test redef2 setup_xfail "*-*-aix*" "*-*-coff" "*-*-cygwin" "*-*-mingw*" "*-*-pe*" \ - "bfin-*-*" "*c4x*-*-*" "crx*-*-*" "h8300*-*-*" "hppa*-*-hpux*" \ - "m68hc*-*-*" "maxq-*-*" "mn10300-*-*" "or32-*-*" "pdp11-*-*" \ - "vax*-*-*" "z8k-*-*" "cr16-*-*" + "bfin-*-*" "hppa*-*-hpux*" \ + "m68hc*-*-*" "maxq-*-*" "or32-*-*" \ + "vax*-*-*" "z8k-*-*" run_dump_test redef3 - setup_xfail "*c4x*-*-*" gas_test_error "redef4.s" "" ".set for symbol already used as label" - setup_xfail "*c4x*-*-*" gas_test_error "redef5.s" "" ".set for symbol already defined through .comm" } } @@ -117,7 +134,7 @@ proc do_comment {} { expect { -re "^ +1\[ \t\]+# This\[^\n\]*\n" { set x1 1 } -re "^ +2\[ \t\]+# correctly\[^\n\]*\n" { set x2 1 } - -re "^ +3\[ \t\]+/. C comments too. ./\r?\n" { set x3 1 } + -re "^ +3\[ \t\]+/. C comments too. ./\r?\r?\n" { set x3 1 } -re "\[^\n\]*\n" { } timeout { perror "timeout\n"; break } eof { break } @@ -127,7 +144,38 @@ proc do_comment {} { if [all_ones $x1 $x2 $x3] then { pass $testname } else { fail $testname } } -do_comment +# m32c pads out sections, even empty ones. +case $target_triplet in { + { m32c-*-* } { } + default { + do_comment + } +} + +# This test checks the output of the -ag switch. It must detect at least +# the name of the input file, output file, and options passed. +proc general_info_section {} { + set testname "general info section in listings" + set x1 0 + set x2 0 + set x3 0 + set white {[ \t]*} + gas_start "comment.s" "-agn" + while 1 { + expect { + -re "^ \[^\n\]*\t: \-agn\[^\n\]*\n" { set x1 1 } + -re "^ \[^\n\]*\t: \[^\n\]*comment\.s\[^\n\]*\n" { set x2 1 } + -re "^ \[^\n\]*\t: a\.out\[^\n\]*\n" { set x3 1 } + -re "\[^\n\]*\n" { } + timeout { perror "timeout\n"; break } + eof { break } + } + } + gas_finish + if [all_ones $x1 $x2 $x3] then { pass $testname } else { fail $testname } +} + +general_info_section # # Test x930509a -- correct assembly of differences involving forward @@ -254,6 +302,7 @@ case $target_triplet in { { *c54x*-*-* } { } default { test_cond + remote_download host "$srcdir/$subdir/incbin.dat" run_dump_test incbin } } @@ -264,11 +313,15 @@ if { ([istarget "i*86-*-*pe*"] && ![istarget "i*86-*-openbsd*"]) \ gas_test "fastcall.s" "" "" "fastcall labels" } -run_dump_test assign +if { ![istarget "bfin-*-*"] } then { + run_dump_test assign +} run_dump_test sleb128 # .byte is 32 bits on tic4x, and .p2align isn't supported on tic54x -if { ![istarget "tic4x*-*-*"] && ![istarget "tic54x*-*-*"] } { +# .space is different on hppa*-hpux. +# MeP put bytes into packets. +if { ![istarget "tic4x*-*-*"] && ![istarget "tic54x*-*-*"] && ![istarget "hppa*-*-hpux*"] && ![istarget "mep*-*-*"] } { run_dump_test relax } @@ -296,6 +349,8 @@ gas_test_error "weakref2.s" "" "e: would close weakref loop: e => a => b => c => gas_test_error "weakref3.s" "" "a: would close weakref loop: a => b => c => d => e => a" gas_test_error "weakref4.s" "" "is already defined" +run_dump_test string + load_lib gas-dg.exp dg-init dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/err-*.s $srcdir/$subdir/warn-*.s]] "" ""