From 9ab8018267fa3d466d8302aea29281dc121c5a52 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Tue, 15 Nov 2005 08:32:02 +0000 Subject: [PATCH] binutils/testsuite/ 2005-11-15 Jan Beulich * config/default.exp (link_or_copy): New. Use it for setting up assembler and linker for the compiler to use. ld/testsuite/ 2005-11-15 Jan Beulich * ld-bootstrap/bootstrap.exp: Delete ld-partial.o and ld[123]* after test. * ld-elf/elf.exp: Delete preinit, init, and fini after test. * ld-elf/sec64k.exp: Use macro and repeat in generated source files. Delete object files after test. --- binutils/testsuite/ChangeLog | 5 ++++ binutils/testsuite/config/default.exp | 35 ++++++++++++++----------- ld/testsuite/ChangeLog | 8 ++++++ ld/testsuite/ld-bootstrap/bootstrap.exp | 3 +++ ld/testsuite/ld-elf/elf.exp | 2 ++ ld/testsuite/ld-elf/sec64k.exp | 30 +++++++++++++-------- 6 files changed, 57 insertions(+), 26 deletions(-) diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog index 648080c5de..8dce127894 100644 --- a/binutils/testsuite/ChangeLog +++ b/binutils/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-11-15 Jan Beulich + + * config/default.exp (link_or_copy): New. Use it for setting + up assembler and linker for the compiler to use. + 2005-10-20 H.J. Lu PR ld/251 diff --git a/binutils/testsuite/config/default.exp b/binutils/testsuite/config/default.exp index 6ee5eda283..4c8b6e0040 100644 --- a/binutils/testsuite/config/default.exp +++ b/binutils/testsuite/config/default.exp @@ -74,21 +74,26 @@ if ![file isdirectory tmpdir] {catch "exec mkdir tmpdir" status} # Make a copy from tmpdir/gas/as and tmpdir/gas/ld to the assembler # and linker in the build tree, so that we can use a -B option to gcc # to force it to use the newly built assembler/linker. -if {![file isdirectory tmpdir/gas]} then { - catch "exec mkdir tmpdir/gas" status - if {[file isfile ../gas/as-new[exe_ext]]} then { - catch "exec cp ../gas/as-new[exe_ext] tmpdir/gas/as[exe_ext]" status - } else { - # For non-Windows hosts there may be an executable - # without a .exe suffix, so try copying that instead. - catch "exec cp ../gas/as-new tmpdir/gas/as[exe_ext]" status - } - # This may not be needed any more... - if {[file isfile ../ld/ld-new[exe_ext]]} then { - catch "exec cp ../ld/ld-new[exe_ext] tmpdir/gas/ld[exe_ext]" status - } else { - catch "exec cp ../ld/ld-new tmpdir/gas/ld[exe_ext]" status - } +if {![file isdirectory tmpdir/gas]} {catch "exec mkdir tmpdir/gas" status} + +proc link_or_copy { src dst } { + if ![catch "exec ln -sf ../../../$src tmpdir/gas/$dst" status] then {return 0} + if ![catch "exec ln -f ../$src tmpdir/gas/$dst" status] then {return 0} + catch "exec cp -fpu ../$src tmpdir/gas/$dst" status +} + +if {[file isfile gas/as-new[exe_ext]]} then { + link_or_copy gas/as-new[exe_ext] as[exe_ext] +} else { + # For non-Windows hosts there may be an executable + # without a .exe suffix, so try copying that instead. + link_or_copy gas/as-new as[exe_ext] +} +# This may not be needed any more... +if {[file isfile ld/ld-new[exe_ext]]} then { + link_or_copy ld/ld-new[exe_ext] ld[exe_ext] +} else { + link_or_copy ld/ld-new ld[exe_ext] } set gcc_gas_flag "-B[pwd]/tmpdir/gas/" set dlltool_gas_flag "-S [pwd]/tmpdir/gas/as[exe_ext]" diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 0a132c28da..fe5329f2d2 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2005-11-15 Jan Beulich + + * ld-bootstrap/bootstrap.exp: Delete ld-partial.o and ld[123]* + after test. + * ld-elf/elf.exp: Delete preinit, init, and fini after test. + * ld-elf/sec64k.exp: Use macro and repeat in generated source + files. Delete object files after test. + 2005-11-11 Hans-Peter Nilsson * ld-cris/noov.d: Restrict to cris-*-*elf*. diff --git a/ld/testsuite/ld-bootstrap/bootstrap.exp b/ld/testsuite/ld-bootstrap/bootstrap.exp index 6faa6d6b44..58cb969651 100644 --- a/ld/testsuite/ld-bootstrap/bootstrap.exp +++ b/ld/testsuite/ld-bootstrap/bootstrap.exp @@ -169,3 +169,6 @@ foreach flags {"" "strip" "--static" "--traditional-format" fail $testname } } + +catch "exec rm -f tmpdir/ld-partial.o tmpdir/ld1 tmpdir/ld2 tmpdir/ld3" status +catch "exec rm -f tmpdir/ld1tail tmpdir/ld2tail tmpdir/ld3tail" status diff --git a/ld/testsuite/ld-elf/elf.exp b/ld/testsuite/ld-elf/elf.exp index 5cba743301..43c42822bc 100644 --- a/ld/testsuite/ld-elf/elf.exp +++ b/ld/testsuite/ld-elf/elf.exp @@ -45,3 +45,5 @@ set array_tests { # NetBSD ELF systems do not currently support the .*_array sections. run_ld_link_exec_tests [list "*-*-netbsdelf*"] $array_tests + +catch "exec rm -f tmpdir/preinit tmpdir/init tmpdir/fini" status diff --git a/ld/testsuite/ld-elf/sec64k.exp b/ld/testsuite/ld-elf/sec64k.exp index cc15afb745..b4a88a0720 100644 --- a/ld/testsuite/ld-elf/sec64k.exp +++ b/ld/testsuite/ld-elf/sec64k.exp @@ -39,7 +39,6 @@ if { ![runtest_file_p $runtests $test1] \ set sfiles {} set max_sec 66000 set secs_per_file 1000 -set secn 0 for { set i 0 } { $i < $max_sec / $secs_per_file } { incr i } { set sfile "$objdir/tmpdir/sec64-$i.s" lappend sfiles $sfile @@ -50,7 +49,7 @@ for { set i 0 } { $i < $max_sec / $secs_per_file } { incr i } { return } - if { $secn == 0 } { + if { $i == 0 } { puts $ofd " .global _start" puts $ofd "_start:" puts $ofd " .global foo_0" @@ -59,15 +58,20 @@ for { set i 0 } { $i < $max_sec / $secs_per_file } { incr i } { # Make sure the used section is not covered by common linker scripts. # They should get separate section entries even without -r. - for { set j 0 } { $j < $secs_per_file } { incr j } { - incr secn - puts $ofd " .section .foo.$secn,\"ax\"" - puts $ofd " .global foo_$secn" - puts $ofd "foo_$secn:" - puts $ofd " .long foo_[expr $secn - 1]" - puts $ofd "bar_$secn:" - puts $ofd " .long bar_$secn" - } + puts $ofd " .altmacro" + puts $ofd " .macro sec secn, secp" + puts $ofd " .section .foo.\\secn,\"ax\"" + puts $ofd " .global foo_\\secn" + puts $ofd "foo_\\secn:" + puts $ofd " .long foo_\\secp" + puts $ofd "bar_\\secn:" + puts $ofd " .long bar_\\secn" + puts $ofd " .endm" + puts $ofd " secn = [expr $i * $secs_per_file]" + puts $ofd " .rept $secs_per_file" + puts $ofd " secn = secn + 1" + puts $ofd " sec %(secn), %(secn-1)" + puts $ofd " .endr" close $ofd } @@ -141,3 +145,7 @@ puts $ofd ".* (\[0-9\] foo_1|66... foo_66000)" puts $ofd "#pass" close $ofd run_dump_test "tmpdir/$test2" + +for { set i 1 } { $i < $max_sec / $secs_per_file } { incr i } { + catch "exec rm -f tmpdir/dump$i.o" status +} -- 2.34.1