# 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"
}
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"
}
}
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 }
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
{ *c54x*-*-* } { }
default {
test_cond
+ remote_download host "$srcdir/$subdir/incbin.dat"
run_dump_test incbin
}
}
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
}
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]] "" ""