ld testsuite CFLAGS_FOR_TARGET
authorAlan Modra <amodra@gmail.com>
Tue, 28 Mar 2023 10:32:36 +0000 (21:02 +1030)
committerAlan Modra <amodra@gmail.com>
Wed, 29 Mar 2023 02:26:46 +0000 (12:56 +1030)
run_host_cmd adds $gcc_B_opt and $ld_L_opt to the command line if it
detects the program being run is a compiler.  Since the program being
run in lto.exp linking pr28138 is "sh", we need to add these by hand.
This isn't exactly as run_host_cmd does, as it lacks reordering of
any user -B option in $CC_FOR_TARGET, but it's better than ignoring
gcc_B_opt.  This fixes a mips64 testsuite fail.

ld_compile adds CFLAGS_FOR_TARGET and other flags as well, so there
is no need for the ld_compile command line to include
CFLAGS_FOR_TARGET.  Fixing this is just a tidy.

* testsuite/ld-plugin/lto.exp: Add gcc_B_opt, CFLAGS_FOR_TARGET
and $ld_L_opt to pr28138 link line.
* testsuite/lib/ld-lib.exp (run_ld_link_tests): Don't pass
unnecessary flags to ld_compile.
(run_ld_link_exec_tests, run_cc_link_tests): Likewise.

ld/testsuite/ld-plugin/lto.exp
ld/testsuite/lib/ld-lib.exp

index 6c1322e43e06ebfffd98275e65d6123c91e6e0d1..98e811177ef03ee882b069f71e3697ce2bbcd826 100644 (file)
@@ -773,7 +773,8 @@ run_cc_link_tests [list \
 
 set exec_output [run_host_cmd "sh" \
                              "-c \"ulimit -n 20; \
-                             $CC_FOR_TARGET -Btmpdir/ld -o tmpdir/pr28138 \
+                             $CC_FOR_TARGET $gcc_B_opt $CFLAGS_FOR_TARGET \
+                             $ld_L_opt -o tmpdir/pr28138 \
                              tmpdir/pr28138.o tmpdir/pr28138.a\""]
 set exec_output [prune_warnings $exec_output]
 if [string match "" $exec_output] then {
index 47e86a7b27c6ed54795b7f133b2f27e1bd113ce1..918464069a96157f5996695b6f5db212742b5751 100644 (file)
@@ -467,7 +467,6 @@ proc run_ld_link_tests { ldtests args } {
     global subdir
     global env
     global CC_FOR_TARGET
-    global CFLAGS_FOR_TARGET
     global runtests
     global exec_output
 
@@ -534,7 +533,7 @@ proc run_ld_link_tests { ldtests args } {
                set objfile "tmpdir/$fileroot.o"
                if { [file extension $src_file] == ".c" } {
                    set as_file "tmpdir/$fileroot.s"
-                   if ![ld_compile "$CC_FOR_TARGET -S $CFLAGS_FOR_TARGET $cflags" $srcdir/$subdir/$src_file $as_file] {
+                   if ![ld_compile "$CC_FOR_TARGET -S $cflags" $srcdir/$subdir/$src_file $as_file] {
                        set is_unsupported 1
                        break
                    }
@@ -685,8 +684,6 @@ proc run_ld_link_exec_tests { ldtests args } {
     global env
     global CC_FOR_TARGET
     global CXX_FOR_TARGET
-    global CFLAGS_FOR_TARGET
-    global CXXFLAGS_FOR_TARGET
     global errcnt
     global exec_output
     global board_cflags
@@ -753,9 +750,9 @@ proc run_ld_link_exec_tests { ldtests args } {
            lappend objfiles $objfile
 
            if { [ string match "c++" $lang ] } {
-               set cmd "$CXX_FOR_TARGET -c $CXXFLAGS_FOR_TARGET $cflags"
+               set cmd "$CXX_FOR_TARGET -c $cflags"
            } else {
-               set cmd "$CC_FOR_TARGET -c $CFLAGS_FOR_TARGET $cflags"
+               set cmd "$CC_FOR_TARGET -c $cflags"
            }
            if ![ld_compile $cmd $srcdir/$subdir/$src_file $objfile] {
                set failed 1
@@ -860,8 +857,6 @@ proc run_cc_link_tests { ldtests } {
     global env
     global CC_FOR_TARGET
     global CXX_FOR_TARGET
-    global CFLAGS_FOR_TARGET
-    global CXXFLAGS_FOR_TARGET
     global ar
     global exec_output
     global board_cflags
@@ -950,9 +945,9 @@ proc run_cc_link_tests { ldtests } {
            lappend objfiles $objfile
 
            if { [ string match "c++" $lang ] } {
-               set cmd "$CXX_FOR_TARGET -c $CXXFLAGS_FOR_TARGET $cflags"
+               set cmd "$CXX_FOR_TARGET -c $cflags"
            } else {
-               set cmd "$CC_FOR_TARGET -c $CFLAGS_FOR_TARGET $cflags"
+               set cmd "$CC_FOR_TARGET -c $cflags"
            }
            if ![ld_compile $cmd $srcdir/$subdir/$src_file $objfile] {
                set failed 1