+2005-11-15 Jan Beulich <jbeulich@novell.com>
+
+ * 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 <hongjiu.lu@intel.com>
PR ld/251
# 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]"
+2005-11-15 Jan Beulich <jbeulich@novell.com>
+
+ * 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 <hp@axis.com>
* ld-cris/noov.d: Restrict to cris-*-*elf*.
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
# 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
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
return
}
- if { $secn == 0 } {
+ if { $i == 0 } {
puts $ofd " .global _start"
puts $ofd "_start:"
puts $ofd " .global foo_0"
# 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
}
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
+}