diff --git a/gas/testsuite/lib/.Sanitize b/gas/testsuite/lib/.Sanitize index 6ee1be7fd1..5a5598067f 100644 --- a/gas/testsuite/lib/.Sanitize +++ b/gas/testsuite/lib/.Sanitize @@ -27,6 +27,7 @@ Do-first: Things-to-keep: gas-defs.exp +gas-dg.exp doboth doobjcmp dostriptest diff --git a/gas/testsuite/lib/gas-dg.exp b/gas/testsuite/lib/gas-dg.exp new file mode 100644 index 0000000000..ab0741c2eb --- /dev/null +++ b/gas/testsuite/lib/gas-dg.exp @@ -0,0 +1,43 @@ +# Define gas callbacks for dg.exp. + +load_lib dg.exp + +# The use of this function is still in a bit of flux. +# It should be theoretically possible to assemble, link, and run a file +# but we currently don't support that. Assembler testcases aren't usually +# that elaborate anyway. :-) + +proc gas-dg-test { prog do_what tool_flags default_tool_flags libs } { + switch $do_what { + "preprocess" { + } + "assemble" { + } + "link" { + } + "run" { + } + } + + # gas_start prepends $srcdir/$subdir so we must remove it from PROG + # if present. First remove extraneous //'s. + global srcdir subdir + set dir "$srcdir/$subdir" + regsub -all "//" $dir "/" dir + regsub -all "//" $prog "/" prog + if [string match "$dir/*" $prog] { + regsub "$dir" $prog "" prog + } + + # FIXME: This should be gas_start but it doesn't set comp_output. + gas_run $prog $tool_flags "" +} + +proc gas-dg-prune { system text } { + #send_user "Before:$text\n" + regsub -all "(^|\n)\[^\n\]*: Assembler messages:\[^\n\]*" $text "" text + regsub -all "(^|\n)\[^\n\]*: End of file not at end\[^\n\]*Newline inserted." $text "" text + #send_user "After:$text\n" + + return $text +}