initial import from Debian
version: 14.3.0-5 commit: bee30ab0fff2fd6af94c62376c8aa4221bb831e0
This commit is contained in:
56
debian/patches/pr87808.diff
vendored
Normal file
56
debian/patches/pr87808.diff
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
# DP: Fix PR jit/87808.
|
||||
|
||||
--- a/src/gcc/jit/Make-lang.in
|
||||
+++ b/src/gcc/jit/Make-lang.in
|
||||
@@ -146,6 +146,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
|
||||
@@ -43,6 +43,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"
|
||||
@@ -3212,7 +3213,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 (),
|
Reference in New Issue
Block a user