From 33c5e3a91d4d2265fc4c8a44210952616680b10b Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 19 Oct 2005 18:33:25 +0000 Subject: [PATCH] 2005-10-19 H.J. Lu * ld-ia64/ia64.exp: Check link order for ld -r. --- ld/testsuite/ChangeLog | 4 +++ ld/testsuite/ld-ia64/ia64.exp | 46 +++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index a93a2c2f4c..c39343d161 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 b5723b27ea..7bab713728 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 -- 2.34.1