summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/gcc-libs-static/Unlink-the-response-file.patch54
1 files changed, 54 insertions, 0 deletions
diff --git a/libre/gcc-libs-static/Unlink-the-response-file.patch b/libre/gcc-libs-static/Unlink-the-response-file.patch
new file mode 100644
index 000000000..55c95a797
--- /dev/null
+++ b/libre/gcc-libs-static/Unlink-the-response-file.patch
@@ -0,0 +1,54 @@
+From f591a95d1532ac7791c146a8e55ba3a32b3e476f Mon Sep 17 00:00:00 2001
+From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 23 Jun 2015 20:48:07 +0000
+Subject: [PATCH] * collect-utils.c (collect_wait): Unlink the
+ response file here instead of... (do_wait): ...here.
+ (utils_cleanup): ...and here.
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224858 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ gcc/ChangeLog | 7 +++++++
+ gcc/collect-utils.c | 14 ++++++--------
+ 2 files changed, 13 insertions(+), 8 deletions(-)
+
+diff --git a/gcc/collect-utils.c b/gcc/collect-utils.c
+index 6bbe9eb..517a075 100644
+--- a/gcc/collect-utils.c
++++ b/gcc/collect-utils.c
+@@ -68,6 +68,12 @@ collect_wait (const char *prog, struct pex_obj *pex)
+ fatal_error (input_location, "can't get program status: %m");
+ pex_free (pex);
+
++ if (response_file && !save_temps)
++ {
++ unlink (response_file);
++ response_file = NULL;
++ }
++
+ if (status)
+ {
+ if (WIFSIGNALED (status))
+@@ -90,12 +96,6 @@ do_wait (const char *prog, struct pex_obj *pex)
+ int ret = collect_wait (prog, pex);
+ if (ret != 0)
+ fatal_error (input_location, "%s returned %d exit status", prog, ret);
+-
+- if (response_file && !save_temps)
+- {
+- unlink (response_file);
+- response_file = NULL;
+- }
+ }
+
+
+@@ -224,7 +224,5 @@ utils_cleanup (bool from_signal)
+ calls to maybe_unlink fails. */
+ cleanup_done = true;
+
+- if (response_file)
+- maybe_unlink (response_file);
+ tool_cleanup (from_signal);
+ }
+--
+2.7.1
+