From: H.J. Lu Date: Wed, 19 Oct 2005 18:33:25 +0000 (+0000) Subject: 2005-10-19 H.J. Lu X-Git-Tag: gdb-csl-arm-20051020-branchpoint~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=33c5e3a91d4d2265fc4c8a44210952616680b10b;p=platform%2Fupstream%2Fbinutils.git 2005-10-19 H.J. Lu * ld-ia64/ia64.exp: Check link order for ld -r. --- diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index a93a2c2..c39343d 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2005-10-19 H.J. Lu + + * ld-ia64/ia64.exp: Check link order for ld -r. + 2005-10-18 Alan Modra * ld-scripts/crossref.exp: Add -mcall-aixdesc to CFLAGS for diff --git a/ld/testsuite/ld-ia64/ia64.exp b/ld/testsuite/ld-ia64/ia64.exp index b5723b2..7bab713 100644 --- a/ld/testsuite/ld-ia64/ia64.exp +++ b/ld/testsuite/ld-ia64/ia64.exp @@ -52,3 +52,49 @@ set ia64tests { } run_ld_link_tests $ia64tests + +# Check link order +proc link_order {} { + global AS + global LD + global READELF + global srcdir + global subdir + + set testname "link order" + if ![ld_assemble $AS $srcdir/../../binutils/testsuite/binutils-all/link-order.s tmpdir/link-order.o] { + unresolved $testname + return + } + + if ![ld_simple_link $LD tmpdir/link-order.ro "-r tmpdir/link-order.o"] { + unresolved $testname + return + } + + verbose -log "$READELF -t --wide tmpdir/link-order.o | grep IA_64_UNWIND > tmpdir/link-order.o.out" + catch "exec $READELF -t --wide tmpdir/link-order.o | grep IA_64_UNWIND > tmpdir/link-order.o.out" exec_output + set exec_output [prune_warnings $exec_output] + if ![string match "" $exec_output] then { + unresolved $testname + return + } + + verbose -log "$READELF -t --wide tmpdir/link-order.ro | grep IA_64_UNWIND > tmpdir/link-order.ro.out" + catch "exec $READELF -t --wide tmpdir/link-order.ro | grep IA_64_UNWIND > tmpdir/link-order.ro.out" exec_output + set exec_output [prune_warnings $exec_output] + if ![string match "" $exec_output] then { + unresolved $testname + return + } + + verbose -log "cmp tmpdir/link-order.o.out tmpdir/link-order.ro.out" + catch "exec cmp tmpdir/link-order.o.out tmpdir/link-order.ro.out" exec_output + if ![string match "" $exec_output] then { + fail $testname + } else { + pass $testname + } +} + +link_order