diff options
Diffstat (limited to 'ld/testsuite/ld-bootstrap/bootstrap.exp')
-rw-r--r-- | ld/testsuite/ld-bootstrap/bootstrap.exp | 143 |
1 files changed, 0 insertions, 143 deletions
diff --git a/ld/testsuite/ld-bootstrap/bootstrap.exp b/ld/testsuite/ld-bootstrap/bootstrap.exp deleted file mode 100644 index 6eb40a27874..00000000000 --- a/ld/testsuite/ld-bootstrap/bootstrap.exp +++ /dev/null @@ -1,143 +0,0 @@ -# Expect script for LD Bootstrap Tests -# Copyright 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001 -# Free Software Foundation, Inc. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# Written by Jeffrey Wheat (cassidy@cygnus.com) -# Rewritten by Ian Lance Taylor (ian@cygnus.com) -# - -# Make sure that ld can bootstrap itself. - -# This test can only be run if ld generates native executables. -if ![isnative] { - return -} - -# Bootstrap ld. First link the object files together using -r, in -# order to test -r. Then link the result into an executable, ld1, to -# really test -r. Use ld1 to link a fresh ld, ld2. Use ld2 to link a -# new ld, ld3. ld2 and ld3 should be identical. - -foreach flags {"" "strip" "--static" "--traditional-format" "--no-keep-memory"} { - set do_strip "no" - if {"$flags" == "strip"} { - set testname "bootstrap with $flags" - set flags "" - set do_strip "yes" - } else { if {"$flags" != ""} { - set testname "bootstrap with $flags" - } else { - set testname "bootstrap" - }} - - # This test can only be run if we have the ld build directory, - # since we need the object files. - if {$ld != "$objdir/ld-new"} { - untested $testname - continue - } - - # If we only have a shared libbfd, we probably can't run the - # --static test. - if { $flags == "--static" && ! [string match "*libbfd.a*" $BFDLIB] } then { - untested $testname - continue - } - - if ![ld_relocate $ld tmpdir/ld-partial.o "$flags $OFILES"] { - fail $testname - continue - } - - # On AIX, you need to specify an import list when using --static. - # You only want the import list when creating the final - # executable. - if { [istarget "*-*-aix*"] - && ![istarget "ia64-*-aix*"]} { - if {"$flags" == "--static"} { - set flags "--static -bI:/lib/syscalls.exp" - } - } - - # On Irix 5, linking with --static only works if all the files are - # compiled using -non_shared. - if {"$flags" == "--static"} { - setup_xfail "mips*-*-irix5*" - } - - if ![ld_link $ld tmpdir/ld1 "$flags tmpdir/ld-partial.o $BFDLIB $LIBIBERTY"] { - fail $testname - continue - } - - if {"$do_strip" == "yes"} { - verbose -log "$strip tmpdir/ld1" - catch "exec $strip tmpdir/ld1" exec_output - if ![string match "" $exec_output] then { - verbose -log "$exec_output" - fail $testname - continue - } - } - - if ![ld_link tmpdir/ld1 tmpdir/ld2 "$flags $OFILES $BFDLIB $LIBIBERTY"] { - fail $testname - continue - } - - if ![ld_link tmpdir/ld2 tmpdir/ld3 "$flags $OFILES $BFDLIB $LIBIBERTY"] { - fail $testname - continue - } - - if {"$flags" == "--static"} { - if { [istarget ia64-*-elf*] - || [istarget ia64-*-linux*] } { - # On ia64, tmpdir/ld2 != tmpdir/ld3 is normal since they are - # generated by different linkers, tmpdir/ld1 and tmpdir/ld2. - # So we rebuild tmpdir/ld2 with tmpdir/ld3. - if ![ld_link tmpdir/ld3 tmpdir/ld2 "$flags $OFILES $BFDLIB $LIBIBERTY"] { - fail $testname - continue - } - } - } else { - if { [istarget mips*-*-linux*] } { - # On Linux/mips, tmpdir/ld2 != tmpdir/ld3 is normal since - # they are generated by different linkers, tmpdir/ld1 and - # tmpdir/ld2. So we rebuild tmpdir/ld2 with tmpdir/ld3. - if ![ld_link tmpdir/ld3 tmpdir/ld2 "$flags $OFILES $BFDLIB $LIBIBERTY"] { - fail $testname - continue - } - } - } - - send_log "cmp tmpdir/ld2 tmpdir/ld3\n" - verbose "cmp tmpdir/ld2 tmpdir/ld3" - catch "exec cmp tmpdir/ld2 tmpdir/ld3" exec_output - set exec_output [prune_warnings $exec_output] - - if [string match "" $exec_output] then { - pass $testname - } else { - send_log "$exec_output\n" - verbose "$exec_output" 1 - - fail $testname - } -} |