ld/testsuite/
authorRichard Sandiford <rdsandiford@googlemail.com>
Sat, 14 Mar 2009 09:09:47 +0000 (09:09 +0000)
committerRichard Sandiford <rdsandiford@googlemail.com>
Sat, 14 Mar 2009 09:09:47 +0000 (09:09 +0000)
* lib/ld-lib.exp (ar_simple_create): Add an "aropts" parameter.
(run_ld_link_tests): Treat the second list element as "ar" options
when creating an archive.  Don't run the linker in this case.
(run_cc_link_tests): Likewise.

ld/testsuite/ChangeLog
ld/testsuite/lib/ld-lib.exp

index 5be4b60d86dc196641ef7ea7edaefb81cea4bb0f..9279df1b27505a9c15ff64a8ace9be76f34c1417 100644 (file)
@@ -1,3 +1,10 @@
+2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+       * lib/ld-lib.exp (ar_simple_create): Add an "aropts" parameter.
+       (run_ld_link_tests): Treat the second list element as "ar" options
+       when creating an archive.  Don't run the linker in this case.
+       (run_cc_link_tests): Likewise.
+
 2009-03-13  Nick Clifton  <nickc@redhat.com>
 
        * lib/ld-lib.exp (run_dump_test): Add verbose to list of globals.
index 0257cea252fe9eed73a5d425b7469bfa0f091148..f2e03749b2485bddbbb7880526342f7955d8cee7 100644 (file)
@@ -1095,10 +1095,10 @@ proc file_contents { filename } {
 
 # Create an archive using ar
 #
-proc ar_simple_create { ar target objects } {
+proc ar_simple_create { ar aropts target objects } {
     remote_file host delete $target
 
-    set exec_output [run_host_cmd "$ar" "rc $target $objects"]
+    set exec_output [run_host_cmd "$ar" "$aropts rc $target $objects"]
     set exec_output [prune_warnings $exec_output]
 
     if [string match "" $exec_output] then {
@@ -1111,7 +1111,7 @@ proc ar_simple_create { ar target objects } {
 
 # List contains test-items with 3 items followed by 2 lists, one item and
 # one optional item:
-# 0:name 1:ld options 2:assembler options
+# 0:name 1:ld/ar options 2:assembler options
 # 3:filenames of assembler files 4: action and options. 5: name of output file
 # 6:compiler flags (optional)
 #
@@ -1178,14 +1178,14 @@ proc run_ld_link_tests { ldtests } {
            continue
        }
 
-       if [regexp ".*a$" $binfile] then {
-           if ![ar_simple_create $ar $binfile "$objfiles"] {
+       if { [regexp ".*a$" $binfile] } {
+           if { ![ar_simple_create $ar $ld_options $binfile "$objfiles"] } {
                fail $testname
                set failed 1
            } else {
                set failed 0
            }
-       } elseif ![ld_simple_link $ld $binfile "-L$srcdir/$subdir $ld_options $objfiles"] {
+       } elseif { ![ld_simple_link $ld $binfile "-L$srcdir/$subdir $ld_options $objfiles"] } {
            fail $testname
            set failed 1
        } else {
@@ -1428,7 +1428,7 @@ proc run_ld_link_exec_tests { targets_to_xfail ldtests } {
 # List contains test-items with 3 items followed by 2 lists, one item and
 # one optional item:
 #  0:name
-#  1:link options
+#  1:ld or ar options
 #  2:compile options
 #  3:filenames of source files
 #  4:action and options.
@@ -1489,14 +1489,14 @@ proc run_cc_link_tests { ldtests } {
            set cc_cmd $CC
        }
 
-       if [regexp ".*a$" $binfile] then {
-           if ![ar_simple_create $ar $binfile "$objfiles"] {
+       if { [regexp ".*a$" $binfile] } {
+           if { ![ar_simple_create $ar $ldflags $binfile "$objfiles"] } {
                fail $testname
                set failed 1
            } else {
                set failed 0
            }
-       } elseif ![ld_simple_link $cc_cmd $binfile "-L$srcdir/$subdir $ldflags $objfiles"] {
+       } elseif { ![ld_simple_link $cc_cmd $binfile "-L$srcdir/$subdir $ldflags $objfiles"] } {
            fail $testname
            set failed 1
        } else {