X-Git-Url: https://oss.titaniummirror.com/gitweb?p=msp430-binutils.git;a=blobdiff_plain;f=ld%2Ftestsuite%2Fld-bootstrap%2Fbootstrap.exp;fp=ld%2Ftestsuite%2Fld-bootstrap%2Fbootstrap.exp;h=96bd70684b3d37cb279fabb394e3f333bce171a2;hp=fdeffe3593b95b9140c25a28c1b215c9be6ce337;hb=d5da4f291af551c0b8b79e1d4a9b173d60e5c10e;hpb=7b5ea4fcdf2819e070665ab5610f8b48e3867c10 diff --git a/ld/testsuite/ld-bootstrap/bootstrap.exp b/ld/testsuite/ld-bootstrap/bootstrap.exp index fdeffe3..96bd706 100644 --- a/ld/testsuite/ld-bootstrap/bootstrap.exp +++ b/ld/testsuite/ld-bootstrap/bootstrap.exp @@ -1,6 +1,6 @@ # Expect script for LD Bootstrap Tests # Copyright 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2004, -# 2006, 2007 Free Software Foundation, Inc. +# 2005, 2006, 2007, 2009 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -83,13 +83,21 @@ foreach flags {"" "strip" "--static" "--traditional-format" } } + # On Cygwin, -lintl may require -liconv when linking statically. + set extralibs "" + if { [istarget "*-*-cygwin*"]} { + if {"$flags" == "--static"} { + set extralibs "-liconv" + } + } + # 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"] { + if ![ld_link $ld tmpdir/ld1 "$flags tmpdir/ld-partial.o $BFDLIB $LIBIBERTY $extralibs"] { fail $testname continue } @@ -104,12 +112,12 @@ foreach flags {"" "strip" "--static" "--traditional-format" } } - if ![ld_link tmpdir/ld1 tmpdir/ld2 "$flags $OFILES $BFDLIB $LIBIBERTY"] { + if ![ld_link tmpdir/ld1 tmpdir/ld2 "$flags $OFILES $BFDLIB $LIBIBERTY $extralibs"] { fail $testname continue } - if ![ld_link tmpdir/ld2 tmpdir/ld3 "$flags $OFILES $BFDLIB $LIBIBERTY"] { + if ![ld_link tmpdir/ld2 tmpdir/ld3 "$flags $OFILES $BFDLIB $LIBIBERTY $extralibs"] { fail $testname continue } @@ -137,8 +145,6 @@ foreach flags {"" "strip" "--static" "--traditional-format" } } - send_log "compare (tail of) tmpdir/ld2 tmpdir/ld3\n" - verbose "compare (tail of) tmpdir/ld2 tmpdir/ld3" if {[istarget "*-*-pe"] || [istarget "*-*-wince"] || [istarget "*-*-cygwin*"] @@ -147,19 +153,19 @@ foreach flags {"" "strip" "--static" "--traditional-format" || [istarget "*-*-interix*"] || [istarget "*-*-beospe*"] || [istarget "*-*-netbsdpe*"]} { - # Trim off the date present in PE binaries by only looking - # at the ends of the files - # Although this works, a way to set the date would be better. - # Removing or zeroing the date stamp in the binary produced by - # the linker is not possible as it is required by the target OS. - exec tail +140 tmpdir/ld2 >tmpdir/ld2tail - exec tail +140 tmpdir/ld3 >tmpdir/ld3tail - catch "exec cmp tmpdir/ld2tail tmpdir/ld3tail" exec_output - exec rm tmpdir/ld2tail tmpdir/ld3tail + # Trim off the date present in PE binaries by only looking + # at the ends of the files + # Although this works, a way to set the date would be better. + # Removing or zeroing the date stamp in the binary produced by + # the linker is not possible as it is required by the target OS. + set do_compare [string map {16 220 f1 tmpdir/ld2 f2 tmpdir/ld3 tmp-foo1 tmpdir/ld2tail tmp-foo2 tmpdir/ld3tail} $DO_COMPARE] + send_log "$do_compare\n" + verbose "$do_compare" + catch "exec sh -c [list $do_compare]" exec_output } else { - send_log "cmp tmpdir/ld2 tmpdir/ld3\n" - verbose "cmp tmpdir/ld2 tmpdir/ld3" - catch "exec cmp tmpdir/ld2 tmpdir/ld3" exec_output + 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] @@ -174,4 +180,4 @@ foreach flags {"" "strip" "--static" "--traditional-format" } 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 +catch "exec rm -f tmpdir/ld2tail tmpdir/ld3tail" status