ld/testsuite: don't output to /dev/null
authorClément Chigot <chigot@adacore.com>
Fri, 13 Jan 2023 09:21:07 +0000 (10:21 +0100)
committerClément Chigot <chigot@adacore.com>
Tue, 21 Feb 2023 08:07:06 +0000 (09:07 +0100)
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 file for all targets.

ld/ChangeLog:

* testsuite/config/default.exp: Replace "-o /dev/null" by a
file.

ld/testsuite/config/default.exp

index 59a45e34d1d179543af2cfc5238fdeed7086ad5a..5c925476e23c9a69ef5fd2a0ee3d17fcbea59e0f 100644 (file)
@@ -383,6 +383,7 @@ proc compiler_supports { flag args } {
            append flags " [board_info [target_info name] ldflags]"
        }
        set fn "cs[pid].c"
+       set rfno "cs[pid].exe"
        set f [open $fn "w"]
        if { [llength $args] > 0 } {
            puts $f [lindex $args 0]
@@ -391,7 +392,8 @@ 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"]
+       set avail [run_host_cmd_yesno "$CC_FOR_TARGET" "$flags $flag $rfn -o $rfno"]
+       remote_file host delete $rfno
        remote_file host delete $rfn
        file delete $fn
        return $avail