[PATCH 2/4] ld/testsuite: don't output to /dev/null on mingw hosts
Clément Chigot
chigot@adacore.com
Mon Feb 20 08:22:22 GMT 2023
Mingw doesn't have /dev/null and thus "-o /dev/null" will fail.
Currently, all the options are checked using this "-o /dev/null",
resulting in them being disabled on mingw hosts. Fix that by
outputting to a real .exe file.
ld/ChangeLog:
* testsuite/config/default.exp: Replace "-o /dev/null" by a file
on mingw hosts.
---
ld/testsuite/config/default.exp | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/ld/testsuite/config/default.exp b/ld/testsuite/config/default.exp
index 257fd4ba985..776b33842c2 100644
--- a/ld/testsuite/config/default.exp
+++ b/ld/testsuite/config/default.exp
@@ -383,6 +383,9 @@ proc compiler_supports { flag args } {
append flags " [board_info [target_info name] ldflags]"
}
set fn "cs[pid].c"
+ if [ishost "*-*-mingw*"] {
+ set fno "cs[pid].exe"
+ }
set f [open $fn "w"]
if { [llength $args] > 0 } {
puts $f [lindex $args 0]
@@ -391,7 +394,12 @@ proc compiler_supports { flag args } {
}
close $f
set rfn [remote_download host $fn]
- set avail [run_host_cmd_yesno "$CC_FOR_TARGET" "$flags $flag $rfn -o /dev/null"]
+ if [ishost "*-*-mingw*"] {
+ set avail [run_host_cmd_yesno "$CC_FOR_TARGET" "$flags $flag $rfn -o $fno"]
+ file delete $fno
+ } else {
+ set avail [run_host_cmd_yesno "$CC_FOR_TARGET" "$flags $flag $rfn -o /dev/null"]
+ }
remote_file host delete $rfn
file delete $fn
return $avail
--
2.25.1
More information about the Binutils
mailing list