* elf64-ppc.c (dec_dynrel_count): Don't error when elf_gc_sweep_symbol
[external/binutils.git] / binutils / testsuite / binutils-all / ar.exp
index 0caa847..6efc159 100644 (file)
@@ -1,4 +1,4 @@
-#   Copyright 1995, 1997, 2002, 2004, 2007, 2008, 2009, 2010
+#   Copyright 1995, 1997, 2002, 2004, 2007, 2008, 2009, 2010, 2012
 #   Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
@@ -31,9 +31,10 @@ if ![is_remote host] {
 
 # Test long file name support
 
-proc long_filenames { } {
+proc long_filenames { bfdtests } {
     global AR
     global host_triplet
+    global base_dir
 
     set testname "ar long file names"
 
@@ -115,7 +116,6 @@ proc long_filenames { } {
        remote_file host delete $file2
     }
 
-    verbose -log "$AR x $dest"
     set exec_output [binutils_run $AR "x $dest"]
     set exec_output [prune_warnings $exec_output]
     if ![string match "" $exec_output] {
@@ -124,6 +124,15 @@ proc long_filenames { } {
        return
     }
 
+    foreach bfdtest $bfdtests {
+       set exec_output [binutils_run "$base_dir/$bfdtest" "$dest"]
+       if ![string match "" $exec_output] {
+           verbose -log $exec_output
+           fail "$testname ($bfdtest)"
+           return
+       }
+    }
+
     if [is_remote host] {
        remote_upload host $n1 tmpdir/$n1
        remote_upload host $n2 tmpdir/$n2
@@ -218,12 +227,13 @@ proc symbol_table { } {
 
 # Test building a thin archive.
 
-proc thin_archive { } {
+proc thin_archive { bfdtests } {
     global AR
     global AS
     global NM
     global srcdir
     global subdir
+    global base_dir
 
     set testname "ar thin archive"
 
@@ -249,6 +259,15 @@ proc thin_archive { } {
        return
     }
 
+    foreach bfdtest $bfdtests {
+       set exec_output [binutils_run "$base_dir/$bfdtest" "$archive"]
+       if ![string match "" $exec_output] {
+           verbose -log $exec_output
+           fail "$testname ($bfdtest)"
+           return
+       }
+    }
+
     set got [binutils_run $NM "--print-armap $archive"]
     if { ![string match "*text_symbol in *bintest.o*" $got] \
         || ![string match "*data_symbol in *bintest.o*" $got] \
@@ -265,12 +284,13 @@ proc thin_archive { } {
 
 # Test building a thin archive with a nested archive.
 
-proc thin_archive_with_nested { } {
+proc thin_archive_with_nested { bfdtests } {
     global AR
     global AS
     global NM
     global srcdir
     global subdir
+    global base_dir
 
     set testname "ar thin archive with nested archive"
 
@@ -306,6 +326,22 @@ proc thin_archive_with_nested { } {
        return
     }
 
+    foreach bfdtest $bfdtests {
+       set exec_output [binutils_run "$base_dir/$bfdtest" "$archive"]
+       if ![string match "" $exec_output] {
+           verbose -log $exec_output
+           fail "$testname ($bfdtest)"
+           return
+       }
+
+       set exec_output [binutils_run "$base_dir/$bfdtest" "$archive2"]
+       if ![string match "" $exec_output] {
+           verbose -log $exec_output
+           fail "$testname ($bfdtest)"
+           return
+       }
+    }
+
     set got [binutils_run $NM "--print-armap $archive"]
     if { ![string match "*text_symbol in *bintest.o*" $got] \
         || ![string match "*data_symbol in *bintest.o*" $got] \
@@ -522,10 +558,12 @@ proc move_an_element { } {
 
 # Run the tests.
 
-long_filenames
+set bfdtests [list bfdtest1 bfdtest2]
+
+long_filenames $bfdtests
 symbol_table
-thin_archive
-thin_archive_with_nested
+thin_archive $bfdtests
+thin_archive_with_nested $bfdtests
 argument_parsing
 deterministic_archive
 delete_an_element