https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97574
Tamar Christina <tnfchris at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |tnfchris at gcc dot gnu.org --- Comment #2 from Tamar Christina <tnfchris at gcc dot gnu.org> --- error is in the driver, it's accidentally adding the suffix when nul device is used and making the filename invalid. diff --git a/gcc/gcc.c b/gcc/gcc.c index ff7b6c4a320..74438f63046 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -3651,7 +3651,7 @@ convert_filename (const char *name, int do_exe ATTRIBUTE_UNUSED, #if defined(HAVE_TARGET_EXECUTABLE_SUFFIX) /* If there is no filetype, make it the executable suffix (which includes the "."). But don't get confused if we have just "-o". */ - if (! do_exe || TARGET_EXECUTABLE_SUFFIX[0] == 0 || (len == 2 && name[0] == '-')) + if (! do_exe || TARGET_EXECUTABLE_SUFFIX[0] == 0 || not_actual_file_p (name)) return name; for (i = len - 1; i >= 0; i--) should fix it, but can't test till later.