+2010-03-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gas/9966
+ PR gas/11356
+ * gas/i386/list-1.l: New.
+ * gas/i386/list-1.s: Likewise.
+ * gas/i386/list-2.l: Likewise.
+ * gas/i386/list-2.s: Likewise.
+ * gas/i386/list-3.l: Likewise.
+ * gas/i386/list-3.s: Likewise.
+
+ * gas/i386/i386.exp: Run list-1, list-2 and list-3.
+
+ * lib/gas-defs.exp (gas_run_stdin): New.
+ (run_list_test_stdin): Likewise.
+
2010-02-26 Doug Evans <dje@sebabeach.org>
* gas/mep/allinsn.be.d: Renamed from allinsn.d. Pass -EB.
run_dump_test "string-ok"
run_list_test "string-bad" ""
run_list_test "space1" "-al"
+ run_list_test_stdin "list-1" "-al"
+ run_list_test_stdin "list-2" "-al"
+ run_list_test_stdin "list-3" "-al"
}
if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] then {
--- /dev/null
+GAS LISTING .*
+
+
+[ ]*1[ ]+\.section \.rodata
+[ ]*2[ ]+\.LC0:
+[ ]*3[ ]+0000 68616861 \.string "haha %x\\n"
+[ ]*3[ ]+2025780A
+[ ]*3[ ]+00
+[ ]*4[ ]+\.text
+[ ]*5[ ]+\.globl hex
+[ ]*6[ ]+\.type hex,@function
+[ ]*7[ ]+hex:
+[ ]*8[ ]+0000 C9 leave
+[ ]*9[ ]+0001 C3 ret
--- /dev/null
+ .section .rodata
+.LC0:
+ .string "haha %x\n"
+ .text
+.globl hex
+ .type hex, @function
+hex:
+ leave
+ ret
--- /dev/null
+GAS LISTING .*
+
+
+[ ]*1[ ]+
+[ ]*2[ ]+\.L1:
+[ ]*3[ ]+0000 615C00 \.string "a\\\\"
+[ ]*4[ ]+0:
+[ ]*5[ ]+0003 6200 \.string "b"
+[ ]*6[ ]+1:
+[ ]*7[ ]+2:
+[ ]*8[ ]+3:
+[ ]*9[ ]+4:
+[ ]*10[ ]+5:
+[ ]*11[ ]+6:
+[ ]*12[ ]+7:
+[ ]*13[ ]+8:
+[ ]*14[ ]+9:
+[ ]*15[ ]+10:
--- /dev/null
+
+.L1:
+ .string "a\\"
+0:
+ .string "b"
+1:
+2:
+3:
+4:
+5:
+6:
+7:
+8:
+9:
+10:
--- /dev/null
+GAS LISTING .*
+
+
+[ ]*1[ ]+
+[ ]*2[ ]+\.L1:
+[ ]*3[ ]+0000 612200 \.string "a\\""
+[ ]*4[ ]+0:
+[ ]*5[ ]+0003 6200 \.string "b"
+[ ]*6[ ]+1:
+[ ]*7[ ]+2:
+[ ]*8[ ]+3:
+[ ]*9[ ]+4:
+[ ]*10[ ]+5:
+[ ]*11[ ]+6:
+[ ]*12[ ]+7:
+[ ]*13[ ]+8:
+[ ]*14[ ]+9:
+[ ]*15[ ]+10:
--- /dev/null
+
+.L1:
+ .string "a\""
+0:
+ .string "b"
+1:
+2:
+3:
+4:
+5:
+6:
+7:
+8:
+9:
+10:
return [list $comp_output ""]
}
+proc gas_run_stdin { prog as_opts redir } {
+ global AS
+ global ASFLAGS
+ global comp_output
+ global srcdir
+ global subdir
+ global host_triplet
+
+ set status [gas_host_run "$AS $ASFLAGS $as_opts < $srcdir/$subdir/$prog" "$redir"]
+ set comp_output [lindex $status 1]
+ if { [lindex $status 0] != 0 && [regexp "2>.*" $redir] } then {
+ append comp_output "child process exited abnormally"
+ }
+ set comp_output [prune_warnings $comp_output]
+ verbose "output was $comp_output"
+ return [list $comp_output ""]
+}
+
proc all_ones { args } {
foreach x $args { if [expr $x!=1] { return 0 } }
return 1
}
pass $testname
}
+
+# run_list_test_stdin NAME (optional): OPTS TESTNAME
+#
+# Similar to run_list_test, but use stdin as input.
+
+proc run_list_test_stdin { name {opts {}} {testname {}} } {
+ global srcdir subdir
+ if { [string length $testname] == 0 } then {
+ set testname "[file tail $subdir] $name"
+ }
+ set file $srcdir/$subdir/$name
+ gas_run_stdin ${name}.s $opts ">&dump.out"
+ if { [regexp_diff "dump.out" "${file}.l"] } then {
+ fail $testname
+ verbose "output is [file_contents "dump.out"]" 2
+ return
+ }
+ pass $testname
+}