aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPeter Damianov <peter0x44@disroot.org>2024-04-28 16:16:12 -0700
committerRichard Biener <rguenther@suse.de>2024-05-02 12:42:33 +0200
commita704554d2e798e2e1b74b9fea4baf3477180bd9d (patch)
tree3c159af7ffe10cc62aefe3c668ec8c9c17342e82 /gcc
parent985b5a90f70c7376c771317c6c8c3bc5ef05e227 (diff)
downloadgcc-a704554d2e798e2e1b74b9fea4baf3477180bd9d.zip
gcc-a704554d2e798e2e1b74b9fea4baf3477180bd9d.tar.gz
gcc-a704554d2e798e2e1b74b9fea4baf3477180bd9d.tar.bz2
lto-wrapper: Truncate files using -truncate driver option [PR110710]
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. Signed-off-by: Peter Damianov <peter0x44@disroot.org> PR lto/110710 * lto-wrapper.cc (run_gcc): Instead of truncating a processed ltrans input from the Makefile use the new -truncate option to accomplish the same.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/lto-wrapper.cc6
1 files changed, 2 insertions, 4 deletions
diff --git a/gcc/lto-wrapper.cc b/gcc/lto-wrapper.cc
index 0257995..cfded75 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
{