You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As pointed out in #20864 passing -freport-bug to GCC when it triggers an ICE leads to another error:
Please submit a full bug report, with preprocessed source.
See <https://github.com/msys2/MINGW-packages/issues> for instructions.
gcc: fatal error: cannot execute 'C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/14.1.0/cc1.exe': open temporary output file: No such file or directory
I don't know what it's supposed to do and if that is worth looking into, since I don't know how to make it do anything without knowing a way to crash gcc.
The text was updated successfully, but these errors were encountered:
I did a quick grep of the gcc sources for "open temporary output file" and found the likely reason for this.
In gcc/gcc.cc do_report_bug() calls run_attempt(append=1), this append flag gets through pex_run/pex_run_in_environment in libiberty/pex-common.c, which ends in a call of pex_win32_open_write(append=1) in libiberty/pex-win32.c.
The function looks like this:
staticintpex_win32_open_write (structpex_obj*objATTRIBUTE_UNUSED, constchar*name,
intbinary, intappend)
{
/* Note that we can't use O_EXCL here because gcc may have already created the temporary file via make_temp_file. */if (append)
return-1;
return_open (name,
(_O_WRONLY | _O_CREAT | _O_TRUNC
| (binary ? _O_BINARY : _O_TEXT)),
_S_IREAD | _S_IWRITE);
}
So it immediately returns -1, which results in this error in pex_run_in_environment():
As pointed out in #20864 passing
-freport-bug
to GCC when it triggers an ICE leads to another error:I don't know what it's supposed to do and if that is worth looking into, since I don't know how to make it do anything without knowing a way to crash gcc.
The text was updated successfully, but these errors were encountered: