https://gcc.gnu.org/g:7fc97118a0f359123958bd61f74e0b07c6e4d8e4
commit r17-1481-g7fc97118a0f359123958bd61f74e0b07c6e4d8e4 Author: Iain Sandoe <[email protected]> Date: Wed Jun 10 20:05:33 2026 +0100 testsuite, Darwin: Fix outputs.exp for ld64. ld64 warns on missing paths provided to -L flags, leading to spurious fails. Fix this by passing -w to those invocations. gcc/testsuite/ChangeLog: * gcc.misc-tests/outputs.exp: Pass -w to linker invocations when ld64 is in use. Signed-off-by: Iain Sandoe <[email protected]> Diff: --- gcc/testsuite/gcc.misc-tests/outputs.exp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/testsuite/gcc.misc-tests/outputs.exp b/gcc/testsuite/gcc.misc-tests/outputs.exp index 3da6423c0dac..2aa0b666f2ff 100644 --- a/gcc/testsuite/gcc.misc-tests/outputs.exp +++ b/gcc/testsuite/gcc.misc-tests/outputs.exp @@ -60,6 +60,8 @@ if !$skip_lto { # created, and thus fail. Configuring the compiler --with-gnu-ld # fixes this. set gld [check_effective_target_gld] +# Darwin's linker is not silent about missing -L values. +set ld64 [istarget *-*-darwin*] # Prepare additional options to be used for linking. # We do not compile to an executable, because that requires naming an output. @@ -185,7 +187,7 @@ proc outest { test sources opts dirs outputs } { foreach og $olist { if { [string index $og 0] == "!" } { global gspd ltop - global gld + global gld ld64 set cond [expr $og] continue } @@ -371,7 +373,12 @@ if !$skip_atsave { outest "$b-22 exe savetmp namedb-2" $sing "@$devnull -o $b.exe -save-temps" {} {{--0.i --0.s --0.o .args.0 !!$gld .ld1_args !0 .exe}} outest "$b-23 exe savetmp named2-2" $mult "@$devnull -o $b.exe -save-temps" {} {{--1.i --1.s --1.o --2.i --2.s --2.o .args.0 !!$gld .ld1_args !0 .exe}} outest "$b-24 exe savetmp named2-3" $mult "@$devnull -I dummy -o $b.exe -save-temps" {} {{--1.i --1.s --1.o --2.i --2.s --2.o -args.0 -args.1 .args.2 !!$gld .ld1_args !0 .exe}} -outest "$b-25 exe savetmp named2-4" $mult "@$devnull -I dummy -L dummy -o $b.exe -save-temps" {} {{--1.i --1.s --1.o --2.i --2.s --2.o -args.0 -args.1 .args.2 .args.3 !!$gld .ld1_args !0 .exe}} + if $ld64 { + # Darwin's linker warns about missing args to -L. + outest "$b-25 exe savetmp named2-4" $mult "@$devnull -I dummy -L dummy -o $b.exe -save-temps -Wl,-w" {} {{--1.i --1.s --1.o --2.i --2.s --2.o -args.0 -args.1 .args.2 !!0 .args.3 !!$gld .ld1_args !0 .exe}} + } else { + outest "$b-25 exe savetmp named2-4" $mult "@$devnull -I dummy -L dummy -o $b.exe -save-temps" {} {{--1.i --1.s --1.o --2.i --2.s --2.o -args.0 -args.1 .args.2 .args.3 !!$gld .ld1_args !0 .exe}} + } } # Setting the main output to a dir selects it as the default aux&dump
