In some configurations of our validation setup, we always call the compiler with -Wl,-rpath=XXX, which instructs the driver to invoke the linker if none of -c, -S or -E is used.
This happens to be the case in the PCH tests, where dg-flags-pch sets dg-do-what-default to precompile. This works most of the time, in absence of any linker option, the compiler defaults to generating a precompiled header (otherwise the linker complains because it cannot find 'main'). This small patch forces the use of '-c' when generating the .gch file, which is sufficient not to invoke the linker. Arguably, this could be seen as a dejagnu bug: in gcc-dg-test-1 (in gcc-dg.exp), we set compile_type to "precompiled_header", which is not one of the supported values in dejagnu's default_target_compile (in target.exp). 2023-10-27 Christophe Lyon <christophe.l...@linaro.org> gcc/testsuite/ * lib/dg-pch.exp (dg-flags-pch): Add -c when generating the precompiled header. --- gcc/testsuite/lib/dg-pch.exp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/lib/dg-pch.exp b/gcc/testsuite/lib/dg-pch.exp index b6fefaa0286..ae8ce3bf1e1 100644 --- a/gcc/testsuite/lib/dg-pch.exp +++ b/gcc/testsuite/lib/dg-pch.exp @@ -95,7 +95,7 @@ proc dg-flags-pch { subdir test otherflags options suffix } { set dg-do-what-default precompile catch { file_on_host delete "$bname$suffix" } gcc_copy_files "[file rootname $test]${suffix}s" "$bname$suffix" - dg-test -keep-output "./$bname$suffix" "$otherflags $flags" "" + dg-test -keep-output "./$bname$suffix" "$otherflags $flags -c" "" # For the rest, the default is to compile to .s. set dg-do-what-default compile -- 2.34.1