* ld-i386/reloc.s, ld-i386/reloc.d: New.
[deliverable/binutils-gdb.git] / ld / testsuite / ld-i386 / i386.exp
index 09526f8d2ad7fdcbcd9a2b1057016ce65aac6b72..15821ebdbfee6652e7494d1b44755918c3ad52f5 100644 (file)
@@ -1,5 +1,5 @@
 # Expect script for ld-i386 tests
-#   Copyright (C) 2000, 2001, 2002 Free Software Foundation
+#   Copyright (C) 2002 Free Software Foundation
 #
 # 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
@@ -26,11 +26,6 @@ if { !([istarget "i?86-*-elf*"]
     return
 }
 
-# FIXME: This isn't set by testsuite/config/default.exp; make it.
-if ![info exists readelf] then {
-    set readelf [findfile $base_dir/../binutils/readelf]
-}
-
 # List contains test-items with 3 items followed by 2 lists:
 # 0:name 1:ld options 2:assembler options
 # 3:filenames of assembler files 4: action and options. 5: name of output file
@@ -57,128 +52,8 @@ set i386tests {
      "--32" {tlsnopic1.s tlsnopic2.s}
      {{readelf -Ssrl tlsnopic.rd} {objdump -drj.text tlsnopic.dd}
       {objdump -sj.got tlsnopic.sd}} "libtlsnopic.so"}
-}
-
-# FIXME: Generalize and move this to ld-lib.exp
-
-proc run_ld_link_tests { ldtests } {
-    global ld
-    global as
-    global nm
-    global objdump
-    global readelf
-    global srcdir
-    global subdir
-    global env
-
-    foreach testitem $ldtests {
-       set testname [lindex $testitem 0]
-       set ld_options [lindex $testitem 1]
-       set as_options [lindex $testitem 2]
-       set as_files  [lindex $testitem 3]
-       set actions [lindex $testitem 4]
-       set binfile tmpdir/[lindex $testitem 5]
-       set objfiles {}
-       set is_unresolved 0
-       set failed 0
-
-#      verbose -log "Testname is $testname"
-#      verbose -log "ld_options is $ld_options"
-#      verbose -log "as_options is $as_options"
-#      verbose -log "as_files is $as_files"
-#      verbose -log "actions is $actions"
-#      verbose -log "binfile is $binfile"
-
-       # Assemble each file in the test.
-       foreach as_file $as_files {
-           set objfile "tmpdir/[file rootname $as_file].o"
-           lappend objfiles $objfile
-
-           if ![ld_assemble $as "$as_options $srcdir/$subdir/$as_file" $objfile] {
-               set is_unresolved 1
-               break
-           }
-       }
-
-       # Catch assembler errors.
-       if { $is_unresolved != 0 } {
-           unresolved $testname
-           continue
-       }
-
-       if ![ld_simple_link $ld $binfile "-L$srcdir/$subdir $ld_options $objfiles"] {
-           fail $testname
-       } else {
-           set failed 0
-           foreach actionlist $actions {
-               set action [lindex $actionlist 0]
-               set progopts [lindex $actionlist 1]
-
-               # There are actions where we run regexp_diff on the
-               # output, and there are other actions (presumably).
-               # Handling of the former look the same.
-               set dump_prog ""
-               switch -- $action {
-                   objdump
-                       { set dump_prog $objdump }
-                   nm
-                       { set dump_prog $nm }
-                   readelf
-                       { set dump_prog $readelf }
-                   default
-                       {
-                           perror "Unrecognized action $action"
-                           set is_unresolved 1
-                           break
-                       }
-                   }
-
-               if { $dump_prog != "" } {
-                   set dumpfile [lindex $actionlist 2]
-                   set binary $dump_prog
-
-                   # Ensure consistent sorting of symbols
-                   if {[info exists env(LC_ALL)]} {
-                       set old_lc_all $env(LC_ALL)
-                   }
-                   set env(LC_ALL) "C"
-                   set cmd "$binary $progopts $binfile > dump.out"
-                   send_log "$cmd\n"
-                   catch "exec $cmd" comp_output
-                   if {[info exists old_lc_all]} {
-                       set env(LC_ALL) $old_lc_all
-                   } else {
-                       unset env(LC_ALL)
-                   }
-                   set comp_output [prune_warnings $comp_output]
-
-                   if ![string match "" $comp_output] then {
-                       send_log "$comp_output\n"
-                       set failed 1
-                       break
-                   }
-
-                   if { [regexp_diff "dump.out" "$srcdir/$subdir/$dumpfile"] } then {
-                       verbose "output is [file_contents "dump.out"]" 2
-                       set failed 1
-                       break
-                   }
-               }
-           }
-
-           if { $failed != 0 } {
-               fail $testname
-           } else { if { $is_unresolved == 0 } {
-               pass $testname
-           } }
-       }
-
-       # Catch action errors.
-       if { $is_unresolved != 0 } {
-           unresolved $testname
-           continue
-       }
-    }
+    {"Reloc section order" "-shared -melf_i386" "--32" {reloc.s}
+     {{objdump -hw reloc.d}} "reloc.so"}
 }
 
 run_ld_link_tests $i386tests
This page took 0.025319 seconds and 4 git commands to generate.