From: Alan Modra Date: Tue, 2 Jun 2020 05:30:14 +0000 (+0930) Subject: binutils archive tests X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0bee4d1c08523419016db14c3706f922ffc6f753;p=binutils-gdb.git binutils archive tests There are a number of targets that don't support thin archives (*), and vms doesn't even support file name extensions other than .obj for archives containing object files. This patch adjusts the testsuite to cater for the vms restriction, and reenables testing for non-ELF alpha targets. That adds a few alpha-dec-vms fails and one alpha-linuxecoff fail but testsuite fails on those targets are nothing new. (*) It might seem like they do if binutils is built with --enable-plugins but the plugin archive support is broken, causing the wrong type of archives to be created by ar for those targets. * testsuite/binutils-all/ar.exp (obj): Set up object file name extension. Use throughout. Don't completely exclude non-ELF alpha targets. Run long_filenames test for tic30. Exclude thin archive tests for aix, ecoff and vms. * estsuite/binutils-all/objdump.exp (obj): Set up object file name extension. Use throughout. Don't exclude non-ELF alpha targets from "bintest.a". --- diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 101255de214..7eb900935fa 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,13 @@ +2020-06-02 Alan Modra + + * testsuite/binutils-all/ar.exp (obj): Set up object file name + extension. Use throughout. Don't completely exclude non-ELF + alpha targets. Run long_filenames test for tic30. Exclude thin + archive tests for aix, ecoff and vms. + * estsuite/binutils-all/objdump.exp (obj): Set up object file name + extension. Use throughout. Don't exclude non-ELF alpha targets + from "bintest.a". + 2020-05-28 Max Filippov * MAINTAINERS (Xtensa): Add myself as maintainer. diff --git a/binutils/testsuite/binutils-all/ar.exp b/binutils/testsuite/binutils-all/ar.exp index bf30b016c7b..86827814d79 100644 --- a/binutils/testsuite/binutils-all/ar.exp +++ b/binutils/testsuite/binutils-all/ar.exp @@ -26,8 +26,9 @@ if ![is_remote host] { } } -if { [istarget "alpha-*-*"] && ![is_elf_format] } then { - return +set obj o +if { [istarget "*-*-vms"] } then { + set obj obj } # send_user "Version [binutil_version $AR]" @@ -189,21 +190,22 @@ proc symbol_table { } { global NM global srcdir global subdir + global obj set testname "ar symbol table" - if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] { + if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.${obj}] { unresolved $testname return } if [is_remote host] { set archive artest.a - set objfile [remote_download host tmpdir/bintest.o] + set objfile [remote_download host tmpdir/bintest.${obj}] remote_file host delete $archive } else { set archive tmpdir/artest.a - set objfile tmpdir/bintest.o + set objfile tmpdir/bintest.${obj} } remote_file build delete tmpdir/artest.a @@ -215,12 +217,12 @@ proc symbol_table { } { } set got [binutils_run $NM "--print-armap $archive"] - if { ![string match "*text_symbol in bintest.o*" $got] \ - || ![string match "*data_symbol in bintest.o*" $got] \ - || ![string match "*common_symbol in bintest.o*" $got] \ - || [string match "*static_text_symbol in bintest.o*" $got] \ - || [string match "*static_data_symbol in bintest.o*" $got] \ - || [string match "*external_symbol in bintest.o*" $got] } { + if { ![string match "*text_symbol in bintest.${obj}*" $got] \ + || ![string match "*data_symbol in bintest.${obj}*" $got] \ + || ![string match "*common_symbol in bintest.${obj}*" $got] \ + || [string match "*static_text_symbol in bintest.${obj}*" $got] \ + || [string match "*static_data_symbol in bintest.${obj}*" $got] \ + || [string match "*external_symbol in bintest.${obj}*" $got] } { fail $testname return } @@ -237,21 +239,22 @@ proc thin_archive { bfdtests } { global srcdir global subdir global base_dir + global obj set testname "ar thin archive" - if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] { + if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.${obj}] { unresolved $testname return } if [is_remote host] { set archive artest.a - set objfile [remote_download host tmpdir/bintest.o] + set objfile [remote_download host tmpdir/bintest.${obj}] remote_file host delete $archive } else { set archive tmpdir/artest.a - set objfile tmpdir/bintest.o + set objfile tmpdir/bintest.${obj} } remote_file build delete tmpdir/artest.a @@ -272,12 +275,12 @@ proc thin_archive { bfdtests } { } set got [binutils_run $NM "--print-armap $archive"] - if { ![string match "*text_symbol in *bintest.o*" $got] \ - || ![string match "*data_symbol in *bintest.o*" $got] \ - || ![string match "*common_symbol in *bintest.o*" $got] \ - || [string match "*static_text_symbol in *bintest.o*" $got] \ - || [string match "*static_data_symbol in *bintest.o*" $got] \ - || [string match "*external_symbol in *bintest.o*" $got] } { + if { ![string match "*text_symbol in *bintest.${obj}*" $got] \ + || ![string match "*data_symbol in *bintest.${obj}*" $got] \ + || ![string match "*common_symbol in *bintest.${obj}*" $got] \ + || [string match "*static_text_symbol in *bintest.${obj}*" $got] \ + || [string match "*static_data_symbol in *bintest.${obj}*" $got] \ + || [string match "*external_symbol in *bintest.${obj}*" $got] } { fail $testname return } @@ -294,10 +297,11 @@ proc thin_archive_with_nested { bfdtests } { global srcdir global subdir global base_dir + global obj set testname "ar thin archive with nested archive" - if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] { + if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.${obj}] { unresolved $testname return } @@ -305,12 +309,12 @@ proc thin_archive_with_nested { bfdtests } { if [is_remote host] { set archive artest.a set archive2 artest2.a - set objfile [remote_download host tmpdir/bintest.o] + set objfile [remote_download host tmpdir/bintest.${obj}] remote_file host delete $archive } else { set archive tmpdir/artest.a set archive2 tmpdir/artest2.a - set objfile tmpdir/bintest.o + set objfile tmpdir/bintest.${obj} } remote_file build delete tmpdir/artest.a @@ -346,12 +350,12 @@ proc thin_archive_with_nested { bfdtests } { } set got [binutils_run $NM "--print-armap $archive"] - if { ![string match "*text_symbol in *bintest.o*" $got] \ - || ![string match "*data_symbol in *bintest.o*" $got] \ - || ![string match "*common_symbol in *bintest.o*" $got] \ - || [string match "*static_text_symbol in *bintest.o*" $got] \ - || [string match "*static_data_symbol in *bintest.o*" $got] \ - || [string match "*external_symbol in *bintest.o*" $got] } { + if { ![string match "*text_symbol in *bintest.${obj}*" $got] \ + || ![string match "*data_symbol in *bintest.${obj}*" $got] \ + || ![string match "*common_symbol in *bintest.${obj}*" $got] \ + || [string match "*static_text_symbol in *bintest.${obj}*" $got] \ + || [string match "*static_data_symbol in *bintest.${obj}*" $got] \ + || [string match "*external_symbol in *bintest.${obj}*" $got] } { fail $testname return } @@ -366,21 +370,22 @@ proc argument_parsing { } { global AS global srcdir global subdir + global obj set testname "ar argument parsing" - if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] { + if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.${obj}] { unresolved $testname return } if [is_remote host] { set archive artest.a - set objfile [remote_download host tmpdir/bintest.o] + set objfile [remote_download host tmpdir/bintest.${obj}] remote_file host delete $archive } else { set archive tmpdir/artest.a - set objfile tmpdir/bintest.o + set objfile tmpdir/bintest.${obj} } remote_file build delete tmpdir/artest.a @@ -402,21 +407,22 @@ proc deterministic_archive { } { global NM global srcdir global subdir + global obj set testname "ar deterministic archive" - if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] { + if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.${obj}] { unresolved $testname return } if [is_remote host] { set archive artest.a - set objfile [remote_download host tmpdir/bintest.o] + set objfile [remote_download host tmpdir/bintest.${obj}] remote_file host delete $archive } else { set archive tmpdir/artest.a - set objfile tmpdir/bintest.o + set objfile tmpdir/bintest.${obj} } remote_file build delete tmpdir/artest.a @@ -430,13 +436,13 @@ proc deterministic_archive { } { set got [binutils_run $AR "tv $archive"] # This only checks the file mode and uid/gid. We can't easily match # date because it's printed with the user's timezone. - if ![string match "rw-r--r-- 0/0 *bintest.o*" $got] { + if ![string match "rw-r--r-- 0/0 *bintest.${obj}*" $got] { fail $testname return } set got [binutils_run $AR "tvO $archive"] - if ![string match "rw-r--r-- 0/0 *bintest.o 0x*" $got] { + if ![string match "rw-r--r-- 0/0 *bintest.${obj} 0x*" $got] { fail $testname return } @@ -450,21 +456,22 @@ proc unique_symbol { } { global NM global srcdir global subdir + global obj set testname "ar unique symbol in archive" - if ![binutils_assemble $srcdir/$subdir/unique.s tmpdir/unique.o] { + if ![binutils_assemble $srcdir/$subdir/unique.s tmpdir/unique.${obj}] { unresolved $testname return } if [is_remote host] { set archive artest.a - set objfile [remote_download host tmpdir/unique.o] + set objfile [remote_download host tmpdir/unique.${obj}] remote_file host delete $archive } else { set archive tmpdir/artest.a - set objfile tmpdir/unique.o + set objfile tmpdir/unique.${obj} } remote_file build delete tmpdir/artest.a @@ -476,7 +483,7 @@ proc unique_symbol { } { } set got [binutils_run $NM "--print-armap $archive"] - if ![string match "*foo in *unique.o*" $got] { + if ![string match "*foo in *unique.${obj}*" $got] { fail $testname return } @@ -491,21 +498,22 @@ proc delete_an_element { } { global AS global srcdir global subdir + global obj set testname "ar deleting an element" - if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] { + if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.${obj}] { unresolved $testname return } if [is_remote host] { set archive artest.a - set objfile [remote_download host tmpdir/bintest.o] + set objfile [remote_download host tmpdir/bintest.${obj}] remote_file host delete $archive } else { set archive tmpdir/artest.a - set objfile tmpdir/bintest.o + set objfile tmpdir/bintest.${obj} } remote_file build delete tmpdir/artest.a @@ -532,21 +540,22 @@ proc move_an_element { } { global AS global srcdir global subdir + global obj set testname "ar moving an element" - if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] { + if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.${obj}] { unresolved $testname return } if [is_remote host] { set archive artest.a - set objfile [remote_download host tmpdir/bintest.o] + set objfile [remote_download host tmpdir/bintest.${obj}] remote_file host delete $archive } else { set archive tmpdir/artest.a - set objfile tmpdir/bintest.o + set objfile tmpdir/bintest.${obj} } remote_file build delete tmpdir/artest.a @@ -612,10 +621,11 @@ proc extract_an_element { } { global AS global srcdir global subdir + global obj set testname "ar extracting an element" - if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] { + if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.${obj}] { unresolved $testname return } @@ -623,10 +633,10 @@ proc extract_an_element { } { set archive artest.a if [is_remote host] { - set objfile [remote_download host tmpdir/bintest.o] + set objfile [remote_download host tmpdir/bintest.${obj}] remote_file host delete $archive } else { - set objfile tmpdir/bintest.o + set objfile tmpdir/bintest.${obj} } remote_file build delete $archive @@ -654,6 +664,7 @@ proc many_files { } { global AS global srcdir global subdir + global obj set testname "ar many files" @@ -673,7 +684,7 @@ proc many_files { } { puts $ofd " .long $i" close $ofd - set ofile "tmpdir/d-$i.o" + set ofile "tmpdir/d-$i.${obj}" if ![binutils_assemble $sfile $ofile] { unresolved $testname return @@ -710,12 +721,18 @@ proc many_files { } { # programs are built but not installed, running the testsuite on an # installed toolchain will produce ERRORs about missing bfdtest1 and # bfdtest2 executables. -if { ![istarget "tic30-*-*"] && [file exists $base_dir/bfdtest1] && [file exists $base_dir/bfdtest2] } { +if { [file exists $base_dir/bfdtest1] && [file exists $base_dir/bfdtest2] } { set bfdtests [list bfdtest1 bfdtest2] long_filenames $bfdtests - thin_archive $bfdtests - thin_archive_with_nested $bfdtests + + # xcoff, ecoff, and vms archive support doesn't handle thin archives + if { ![istarget "*-*-aix*"] + && ![istarget "*-*-*ecoff"] + && ![istarget "*-*-vms"] } { + thin_archive $bfdtests + thin_archive_with_nested $bfdtests + } } symbol_table diff --git a/binutils/testsuite/binutils-all/objdump.exp b/binutils/testsuite/binutils-all/objdump.exp index 3cb0eb73f19..8d3c8df171d 100644 --- a/binutils/testsuite/binutils-all/objdump.exp +++ b/binutils/testsuite/binutils-all/objdump.exp @@ -58,38 +58,40 @@ if [regexp $want $got] then { fail "objdump -i" } -# The remaining tests require a test file. +set obj o +if { [istarget "*-*-vms"] } then { + set obj obj +} +# The remaining tests require a test file. -if {![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o]} then { +if {![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.${obj}]} then { fail "objdump (assembling bintest.s)" return } -if {![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest2.o]} then { +if {![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest2.${obj}]} then { fail "objdump (assembling)" return } if [is_remote host] { - set testfile [remote_download host tmpdir/bintest.o] - set testfile2 [remote_download host tmpdir/bintest2.o] + set testfile [remote_download host tmpdir/bintest.${obj}] + set testfile2 [remote_download host tmpdir/bintest2.${obj}] } else { - set testfile tmpdir/bintest.o - set testfile2 tmpdir/bintest2.o + set testfile tmpdir/bintest.${obj} + set testfile2 tmpdir/bintest2.${obj} } # $testarchive exists only if it is supported. set testarchive tmpdir/bintest.a remote_file host file delete $testarchive -if { ![istarget "alpha-*-*"] || [is_elf_format] } then { - set got [binutils_run $AR "rc tmpdir/bintest.a $testfile2"] - if ![string match "" $got] then { - fail "bintest.a" - remote_file host delete tmpdir/bintest.a - } elseif [is_remote host] { - set testarchive [remote_download host tmpdir/bintest.a] - } - remote_file host delete tmpdir/bintest2.o +set got [binutils_run $AR "rc tmpdir/bintest.a $testfile2"] +if ![string match "" $got] then { + fail "bintest.a" + remote_file host delete tmpdir/bintest.a +} elseif [is_remote host] { + set testarchive [remote_download host tmpdir/bintest.a] } +remote_file host delete tmpdir/bintest2.${obj} # Test objdump -f @@ -100,7 +102,7 @@ proc test_objdump_f { testfile dumpfile } { set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -f $testfile"] - set want "$dumpfile:\[ \]*file format.*architecture:\[ \]*${cpus_regex}.*HAS_RELOC.*HAS_SYMS" + set want "${dumpfile}.*:\[ \]*file format.*architecture:\[ \]*${cpus_regex}.*HAS_RELOC.*HAS_SYMS" if ![regexp $want $got] then { fail "objdump -f ($testfile, $dumpfile)" @@ -111,7 +113,7 @@ proc test_objdump_f { testfile dumpfile } { test_objdump_f $testfile $testfile if { [ remote_file host exists $testarchive ] } then { - test_objdump_f $testarchive bintest2.o + test_objdump_f $testarchive bintest2.${obj} } # Test objdump -h @@ -122,7 +124,7 @@ proc test_objdump_h { testfile dumpfile } { set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -h $testfile"] - set want "$dumpfile:\[ \]*file format.*Sections.*\[0-9\]+\[ \]+\[^ \]*(text|TEXT|P|\\\$CODE\\\$)\[^ \]*\[ \]*(\[0-9a-fA-F\]+).*\[0-9\]+\[ \]+\[^ \]*(\\.data|DATA|D_1)\[^ \]*\[ \]*(\[0-9a-fA-F\]+)" + set want "${dumpfile}.*:\[ \]*file format.*Sections.*\[0-9\]+\[ \]+\[^ \]*(text|TEXT|P|\\\$CODE\\\$)\[^ \]*\[ \]*(\[0-9a-fA-F\]+).*\[0-9\]+\[ \]+\[^ \]*(\\.data|DATA|D_1)\[^ \]*\[ \]*(\[0-9a-fA-F\]+)" if ![regexp $want $got all text_name text_size data_name data_size] then { fail "objdump -h ($testfile, $dumpfile)" @@ -152,7 +154,7 @@ proc test_objdump_h { testfile dumpfile } { test_objdump_h $testfile $testfile if { [ remote_file host exists $testarchive ] } then { - test_objdump_h $testarchive bintest2.o + test_objdump_h $testarchive bintest2.${obj} } # Test objdump -t @@ -192,7 +194,7 @@ proc test_objdump_r { testfile dumpfile } { set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -r $testfile"] - set want "$dumpfile:\[ \]*file format.*RELOCATION RECORDS FOR \\\[\[^\]\]*(text|TEXT|P|\\\$CODE\\\$)\[^\]\]*\\\].*external_symbol" + set want "${dumpfile}.*:\[ \]*file format.*RELOCATION RECORDS FOR \\\[\[^\]\]*(text|TEXT|P|\\\$CODE\\\$)\[^\]\]*\\\].*external_symbol" if [regexp $want $got] then { pass "objdump -r ($testfile, $dumpfile)" @@ -203,7 +205,7 @@ proc test_objdump_r { testfile dumpfile } { test_objdump_r $testfile $testfile if { [ remote_file host exists $testarchive ] } then { - test_objdump_r $testarchive bintest2.o + test_objdump_r $testarchive bintest2.${obj} } # Test objdump -d @@ -213,25 +215,25 @@ proc test_objdump_d { testfile dumpfile } { set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -d $testfile"] - set want "$dumpfile:.*Disassembly of section" + set want "${dumpfile}.*:.*Disassembly of section" if ![regexp $want $got] then { fail "objdump -d $testfile: No disassembly title" return } - set want "$dumpfile:.*00+0 " + set want "${dumpfile}.*:.*00+0 " if ![regexp $want $got] then { fail "objdump -d $testfile: Missing symbol name and address" return } - set want "$dumpfile:.*00+. " + set want "${dumpfile}.*:.*00+. " if ![regexp $want $got] then { fail "objdump -d $testfile: Missing second symbol" return } - set want "$dumpfile:.*00+. " + set want "${dumpfile}.*:.*00+. " if ![regexp $want $got] then { fail "objdump -d $testfile: Missing third symbol" return @@ -242,7 +244,7 @@ proc test_objdump_d { testfile dumpfile } { test_objdump_d $testfile $testfile if { [ remote_file host exists $testarchive ] } then { - test_objdump_d $testarchive bintest2.o + test_objdump_d $testarchive bintest2.${obj} } # Test objdump --disassemble= @@ -357,13 +359,13 @@ proc test_objdump_d_non_func_sym { testfile dumpfile } { # all of func, and does not stop at the next symbol. if { [is_elf_format] } then { - if {![binutils_assemble $srcdir/$subdir/disasm.s tmpdir/disasm.o]} then { + if {![binutils_assemble $srcdir/$subdir/disasm.s tmpdir/disasm.${obj}]} then { fail "objdump --disassemble=func (assembling disasm.s)" } else { if [is_remote host] { - set elftestfile [remote_download host tmpdir/disasm.o] + set elftestfile [remote_download host tmpdir/disasm.${obj}] } else { - set elftestfile tmpdir/disasm.o + set elftestfile tmpdir/disasm.${obj} } test_objdump_d_func_sym $elftestfile $elftestfile @@ -380,7 +382,7 @@ proc test_objdump_s { testfile dumpfile } { set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -s $testfile"] - set want "$dumpfile:\[ \]*file format.*Contents.*(text|TEXT|P|\\\$CODE\\\$)\[^0-9\]*\[ \]*\[0-9a-fA-F\]*\[ \]*(00000001|01000000|00000100).*Contents.*(data|DATA|D_1)\[^0-9\]*\[ \]*\[0-9a-fA-F\]*\[ \]*(00000002|02000000|00000200)" + set want "${dumpfile}.*:\[ \]*file format.*Contents.*(text|TEXT|P|\\\$CODE\\\$)\[^0-9\]*\[ \]*\[0-9a-fA-F\]*\[ \]*(00000001|01000000|00000100).*Contents.*(data|DATA|D_1)\[^0-9\]*\[ \]*\[0-9a-fA-F\]*\[ \]*(00000002|02000000|00000200)" if [regexp $want $got] then { pass "objdump -s ($testfile, $dumpfile)" @@ -391,20 +393,20 @@ proc test_objdump_s { testfile dumpfile } { test_objdump_s $testfile $testfile if { [ remote_file host exists $testarchive ] } then { - test_objdump_s $testarchive bintest2.o + test_objdump_s $testarchive bintest2.${obj} } # Test objdump -s on a file that contains a compressed .debug section if { ![is_elf_format] } then { unsupported "objdump compressed debug" -} elseif { ![binutils_assemble $srcdir/$subdir/dw2-compressed.S tmpdir/dw2-compressed.o] } then { +} elseif { ![binutils_assemble $srcdir/$subdir/dw2-compressed.S tmpdir/dw2-compressed.${obj}] } then { fail "objdump compressed debug" } else { if [is_remote host] { - set compressed_testfile [remote_download host tmpdir/dw2-compressed.o] + set compressed_testfile [remote_download host tmpdir/dw2-compressed.${obj}] } else { - set compressed_testfile tmpdir/dw2-compressed.o + set compressed_testfile tmpdir/dw2-compressed.${obj} } set got [remote_exec host "$OBJDUMP $OBJDUMPFLAGS -s -j .zdebug_abbrev $compressed_testfile" "" "/dev/null" "objdump.out"] @@ -455,14 +457,14 @@ if { ![is_elf_format] } else { set decodedline_testsrc $srcdir/$subdir/dw2-decodedline.S } - if { ![binutils_assemble $decodedline_testsrc tmpdir/dw2-decodedline.o] } then { + if { ![binutils_assemble $decodedline_testsrc tmpdir/dw2-decodedline.${obj}] } then { fail "objdump decoded line" } if [is_remote host] { - set decodedline_testfile [remote_download host tmpdir/dw2-decodedline.o] + set decodedline_testfile [remote_download host tmpdir/dw2-decodedline.${obj}] } else { - set decodedline_testfile tmpdir/dw2-decodedline.o + set decodedline_testfile tmpdir/dw2-decodedline.${obj} } set got [remote_exec host "$OBJDUMP $OBJDUMPFLAGS -WL $decodedline_testfile" "" "/dev/null" "objdump.out"] @@ -484,13 +486,13 @@ if { ![is_elf_format] if { ![is_elf_format] } then { unsupported "objdump debug_ranges test" -} elseif { ![binutils_assemble $srcdir/$subdir/dw2-ranges.S tmpdir/dw2-ranges.o] } then { +} elseif { ![binutils_assemble $srcdir/$subdir/dw2-ranges.S tmpdir/dw2-ranges.${obj}] } then { fail "objdump debug_ranges test" } else { if [is_remote host] { - set ranges_testfile [remote_download host tmpdir/dw2-ranges.o] + set ranges_testfile [remote_download host tmpdir/dw2-ranges.${obj}] } else { - set ranges_testfile tmpdir/dw2-ranges.o + set ranges_testfile tmpdir/dw2-ranges.${obj} } set got [remote_exec host "$OBJDUMP $OBJDUMPFLAGS --dwarf=Ranges $ranges_testfile" "" "/dev/null" "objdump.out"] @@ -594,14 +596,14 @@ if {[is_elf_format]} then { if { [is_elf_format] } then { set testsrc $srcdir/$subdir/debuglink.s - if { ![binutils_assemble $testsrc tmpdir/debuglink.o] } then { + if { ![binutils_assemble $testsrc tmpdir/debuglink.${obj}] } then { fail "objdump -Wk (reason: could not assemble source)" } if [is_remote host] { - set testfile [remote_download host tmpdir/debuglink.o] + set testfile [remote_download host tmpdir/debuglink.${obj}] } else { - set testfile tmpdir/debuglink.o + set testfile tmpdir/debuglink.${obj} } set got [remote_exec host "$OBJDUMP $OBJDUMPFLAGS -Wk $testfile" "" "/dev/null" "objdump.out"] @@ -627,10 +629,11 @@ proc test_follow_debuglink { options dumpfile } { global srcdir global subdir global OBJDUMP + global obj set test "follow-debuglink ($options)" - if {![binutils_assemble $srcdir/$subdir/debuglink.s tmpdir/debuglink.o]} then { + if {![binutils_assemble $srcdir/$subdir/debuglink.s tmpdir/debuglink.${obj}]} then { fail "$test (reason: assemble first source file)" return } @@ -641,10 +644,10 @@ proc test_follow_debuglink { options dumpfile } { } if ![is_remote host] { - set tempfile tmpdir/debuglink.o + set tempfile tmpdir/debuglink.${obj} } else { set tempfile [remote_download host tmpdir/linkdebug.debug] - set tempfile [remote_download host tmpdir/debuglink.o] + set tempfile [remote_download host tmpdir/debuglink.${obj}] } set got [remote_exec host "$OBJDUMP $options $tempfile" "" "/dev/null" "tmpdir/objdump.out"] @@ -716,15 +719,15 @@ if {[is_elf_format]} then { set text ".text" } # generate a copy of the test object with .text repositioned - if { [binutils_run $OBJCOPY "--change-section-address $text=0x80000000 tmpdir/bintest.o tmpdir/bintest_signed.o"] != "" } { - fail "Failed to reposition $text to 0x80000000 (tmpdir/bintest.o -> tmpdir/bintest_signed.o)" + if { [binutils_run $OBJCOPY "--change-section-address $text=0x80000000 tmpdir/bintest.${obj} tmpdir/bintest_signed.${obj}"] != "" } { + fail "Failed to reposition $text to 0x80000000 (tmpdir/bintest.${obj} -> tmpdir/bintest_signed.${obj})" return } if [is_remote host] { - set testfile3 [remote_download host tmpdir/bintest_signed.o] + set testfile3 [remote_download host tmpdir/bintest_signed.${obj}] } else { - set testfile3 tmpdir/bintest_signed.o + set testfile3 tmpdir/bintest_signed.${obj} } test_objdump_content_limited $testfile3 $text "80000004" "80000008"