summaryrefslogtreecommitdiffstats
path: root/debian/patches/pr87808.diff
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:22:56 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:22:56 +0000
commit3f472a4e5ca21e3ddb13737473e636b2b11a408a (patch)
tree7db1ab317884b9f6e04b6e13737c1679879cb97a /debian/patches/pr87808.diff
parentAdding upstream version 13.2.0. (diff)
downloadgcc-13-debian.tar.xz
gcc-13-debian.zip
Adding debian version 13.2.0-10.debian/13.2.0-10debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/patches/pr87808.diff')
-rw-r--r--debian/patches/pr87808.diff56
1 files changed, 56 insertions, 0 deletions
diff --git a/debian/patches/pr87808.diff b/debian/patches/pr87808.diff
new file mode 100644
index 0000000..7f9e7d0
--- /dev/null
+++ b/debian/patches/pr87808.diff
@@ -0,0 +1,56 @@
+# DP: Fix PR jit/87808.
+
+--- a/src/gcc/jit/Make-lang.in
++++ b/src/gcc/jit/Make-lang.in
+@@ -136,6 +136,9 @@ ifneq (,$(findstring mingw,$(target)))
+ jit_OBJS += jit/jit-w32.o
+ endif
+
++CFLAGS-jit/jit-playback.o += \
++ -DFALLBACK_GCC_EXEC_PREFIX=\"$(libdir)/gcc/$(target_subdir)/$(version)\"
++
+ # Use strict warnings for this front end.
+ jit-warn = $(STRICT_WARN)
+
+--- a/src/gcc/jit/jit-playback.cc
++++ b/src/gcc/jit/jit-playback.cc
+@@ -41,6 +41,7 @@ along with GCC; see the file COPYING3.
+ #include "gcc.h"
+ #include "diagnostic.h"
+ #include "stmt.h"
++#include "file-find.h"
+
+ #include "jit-playback.h"
+ #include "jit-result.h"
+@@ -3058,7 +3059,31 @@ void
+ playback::context::
+ invoke_embedded_driver (const vec <char *> *argvec)
+ {
++ static char* gcc_driver_file = NULL;
++
+ JIT_LOG_SCOPE (get_logger ());
++
++ /* process_command(), uses make_relative_prefix(), searches PATH
++ for the external driver, which might not be found. In this case
++ fall back to the configured default. */
++#ifdef FALLBACK_GCC_EXEC_PREFIX
++ if (gcc_driver_file == NULL && ::getenv ("GCC_EXEC_PREFIX") == NULL)
++ {
++ struct path_prefix path = { 0, 0, "exec" };
++
++ prefix_from_env ("PATH", &path);
++ gcc_driver_file = find_a_file (&path, gcc_driver_name, X_OK);
++ if (gcc_driver_file == NULL)
++ {
++ char *str = concat ("GCC_EXEC_PREFIX=",
++ FALLBACK_GCC_EXEC_PREFIX, NULL);
++ ::putenv (str);
++ log ("gcc driver %s not found, using fallback GCC_EXEC_PREFIX=%s",
++ gcc_driver_name, FALLBACK_GCC_EXEC_PREFIX);
++ }
++ }
++#endif
++
+ driver d (true, /* can_finalize */
+ false); /* debug */
+ int result = d.main (argvec->length (),