| # |
| # elf tests |
| # |
| |
| proc run_list_test { name suffix opts } { |
| global READELF |
| global srcdir subdir |
| set testname "elf $name list" |
| set file $srcdir/$subdir/$name |
| gas_run ${name}.s "$opts -o dump.o" ">&dump.out" |
| if { [regexp_diff "dump.out" "${file}.l"] } then { |
| fail $testname |
| verbose "output is [file_contents "dump.out"]" 2 |
| return |
| } |
| send_log "$READELF -s dump.o > dump.out\n" |
| catch "exec $READELF -s dump.o > dump.out\n" comp_output |
| if ![string match "" $comp_output] then { |
| send_log "$comp_output\n" |
| fail $testname |
| return |
| } |
| verbose_eval {[file_contents "dump.out"]} 3 |
| if { [regexp_diff "dump.out" "${file}.e${suffix}"] } then { |
| fail $testname |
| verbose "output is [file_contents "dump.out"]" 2 |
| return |
| } |
| pass $testname |
| } |
| |
| # We're testing bits in obj-elf -- don't run on anything else. |
| if { ([istarget "*-*-elf*"] |
| || [istarget "*-*-linux*"] |
| || [istarget "sparc*-*-solaris*"] |
| || [istarget "mips*-*-irix6*"]) |
| && ![istarget *-*-linux*aout*] |
| && ![istarget *-*-linux*coff*] |
| && ![istarget *-*-linux*oldld*] |
| } then { |
| set target_machine "" |
| if {[istarget "mips*-*-*"]} then { |
| set target_machine -mips |
| } |
| if {[istarget m32r*-*-*]} then { |
| set target_machine -m32r |
| } |
| run_dump_test "ehopt0" |
| run_dump_test "section0" |
| run_dump_test "section1" |
| run_list_test "section2" "$target_machine" "-al" |
| } |