+2005-10-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * ld-ia64/ia64.exp: Undo the last change. Add support for *.d.
+
+       * ld-ia64/link-order.d: New file.
+
 2005-10-20  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR ld/251
 
 
 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
-    }
+set test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
+foreach t $test_list {
+    # We need to strip the ".d", but can leave the dirname.
+    verbose [file rootname $t]
+    run_dump_test [file rootname $t]
 }
-
-link_order
 
--- /dev/null
+#source: ../../../binutils/testsuite/binutils-all/link-order.s
+#ld: -r
+#readelf: -S --wide
+
+#...
+  \[[ ]+1\] \.text.*[ \t]+PROGBITS[ \t0-9a-f]+AX.*
+#...
+  \[[ 0-9]+\] \.IA_64.unwind[ \t]+IA_64_UNWIND[ \t0-9a-f]+AL[ \t]+1[ \t]+1[ \t]+8
+#pass