On Thu, Apr 18, 2024 at 6:12 AM Peter Damianov <peter0...@disroot.org> wrote: > > This commit changes the Makefiles generated by lto-wrapper to no longer use > the "mv" and "touch" shell commands. These don't exist on Windows, so when the > Makefile attempts to call them, it results in errors like: > The system cannot find the file specified. > > This problem only manifested when calling gcc from cmd.exe, and having no > sh.exe present on the PATH. The Windows port of GNU Make searches the PATH for > an sh.exe, and uses it if present. > > I have tested this in environments with and without sh.exe on the PATH and > confirmed it works as expected.
OK. Thanks, Richard. > Signed-off-by: Peter Damianov <peter0...@disroot.org> > --- > gcc/lto-wrapper.cc | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/gcc/lto-wrapper.cc b/gcc/lto-wrapper.cc > index 02579951569..a36a59e6fb8 100644 > --- a/gcc/lto-wrapper.cc > +++ b/gcc/lto-wrapper.cc > @@ -2023,14 +2023,12 @@ cont: > fprintf (mstream, "%s:\n\t@%s ", output_name, new_argv[0]); > for (j = 1; new_argv[j] != NULL; ++j) > fprintf (mstream, " '%s'", new_argv[j]); > - fprintf (mstream, "\n"); > /* If we are not preserving the ltrans input files then > truncate them as soon as we have processed it. This > reduces temporary disk-space usage. */ > if (! save_temps) > - fprintf (mstream, "\t@-touch -r \"%s\" \"%s.tem\" > /dev/null > " > - "2>&1 && mv \"%s.tem\" \"%s\"\n", > - input_name, input_name, input_name, input_name); > + fprintf (mstream, " '-truncate' '%s'", input_name); > + fprintf (mstream, "\n"); > } > else > { > -- > 2.39.2 >