diff options
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-9.1/0020-Ensure-target-gcc-headers-can-be-included.patch')
| -rw-r--r-- | meta/recipes-devtools/gcc/gcc-9.1/0020-Ensure-target-gcc-headers-can-be-included.patch | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-9.1/0020-Ensure-target-gcc-headers-can-be-included.patch b/meta/recipes-devtools/gcc/gcc-9.1/0020-Ensure-target-gcc-headers-can-be-included.patch new file mode 100644 index 0000000000..f37c6f39aa --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-9.1/0020-Ensure-target-gcc-headers-can-be-included.patch | |||
| @@ -0,0 +1,98 @@ | |||
| 1 | From 89f7a8e5c55b31bff011cd7466d78cd84d1eb307 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Fri, 20 Feb 2015 10:25:11 +0000 | ||
| 4 | Subject: [PATCH 20/37] Ensure target gcc headers can be included | ||
| 5 | |||
| 6 | There are a few headers installed as part of the OpenEmbedded | ||
| 7 | gcc-runtime target (omp.h, ssp/*.h). Being installed from a recipe | ||
| 8 | built for the target architecture, these are within the target | ||
| 9 | sysroot and not cross/nativesdk; thus they weren't able to be | ||
| 10 | found by gcc with the existing search paths. Add support for | ||
| 11 | picking up these headers under the sysroot supplied on the gcc | ||
| 12 | command line in order to resolve this. | ||
| 13 | |||
| 14 | Upstream-Status: Pending | ||
| 15 | |||
| 16 | Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> | ||
| 17 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 18 | --- | ||
| 19 | gcc/Makefile.in | 2 ++ | ||
| 20 | gcc/cppdefault.c | 4 ++++ | ||
| 21 | gcc/defaults.h | 9 +++++++++ | ||
| 22 | gcc/gcc.c | 7 ------- | ||
| 23 | 4 files changed, 15 insertions(+), 7 deletions(-) | ||
| 24 | |||
| 25 | diff --git a/gcc/Makefile.in b/gcc/Makefile.in | ||
| 26 | index 88b1aec732b..eb1dc304de2 100644 | ||
| 27 | --- a/gcc/Makefile.in | ||
| 28 | +++ b/gcc/Makefile.in | ||
| 29 | @@ -618,6 +618,7 @@ libexecdir = @libexecdir@ | ||
| 30 | |||
| 31 | # Directory in which the compiler finds libraries etc. | ||
| 32 | libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) | ||
| 33 | +libsubdir_target = gcc/$(target_noncanonical)/$(version) | ||
| 34 | # Directory in which the compiler finds executables | ||
| 35 | libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) | ||
| 36 | # Directory in which all plugin resources are installed | ||
| 37 | @@ -2867,6 +2868,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\" | ||
| 38 | |||
| 39 | PREPROCESSOR_DEFINES = \ | ||
| 40 | -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \ | ||
| 41 | + -DGCC_INCLUDE_SUBDIR_TARGET=\"$(libsubdir_target)/include\" \ | ||
| 42 | -DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \ | ||
| 43 | -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ | ||
| 44 | -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \ | ||
| 45 | diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c | ||
| 46 | index c4796385643..980e2bd47a7 100644 | ||
| 47 | --- a/gcc/cppdefault.c | ||
| 48 | +++ b/gcc/cppdefault.c | ||
| 49 | @@ -59,6 +59,10 @@ const struct default_include cpp_include_defaults[] | ||
| 50 | /* This is the dir for gcc's private headers. */ | ||
| 51 | { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, | ||
| 52 | #endif | ||
| 53 | +#ifdef GCC_INCLUDE_SUBDIR_TARGET | ||
| 54 | + /* This is the dir for gcc's private headers under the specified sysroot. */ | ||
| 55 | + { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 }, | ||
| 56 | +#endif | ||
| 57 | #ifdef LOCAL_INCLUDE_DIR | ||
| 58 | /* /usr/local/include comes before the fixincluded header files. */ | ||
| 59 | { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, | ||
| 60 | diff --git a/gcc/defaults.h b/gcc/defaults.h | ||
| 61 | index b7534256119..41ca579b267 100644 | ||
| 62 | --- a/gcc/defaults.h | ||
| 63 | +++ b/gcc/defaults.h | ||
| 64 | @@ -1459,4 +1459,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | ||
| 65 | #define DWARF_GNAT_ENCODINGS_DEFAULT DWARF_GNAT_ENCODINGS_GDB | ||
| 66 | #endif | ||
| 67 | |||
| 68 | +/* Default prefixes to attach to command names. */ | ||
| 69 | + | ||
| 70 | +#ifndef STANDARD_STARTFILE_PREFIX_1 | ||
| 71 | +#define STANDARD_STARTFILE_PREFIX_1 "/lib/" | ||
| 72 | +#endif | ||
| 73 | +#ifndef STANDARD_STARTFILE_PREFIX_2 | ||
| 74 | +#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/" | ||
| 75 | +#endif | ||
| 76 | + | ||
| 77 | #endif /* ! GCC_DEFAULTS_H */ | ||
| 78 | diff --git a/gcc/gcc.c b/gcc/gcc.c | ||
| 79 | index cef26c454d7..14b1a6e8c44 100644 | ||
| 80 | --- a/gcc/gcc.c | ||
| 81 | +++ b/gcc/gcc.c | ||
| 82 | @@ -1470,13 +1470,6 @@ static const char *gcc_libexec_prefix; | ||
| 83 | |||
| 84 | /* Default prefixes to attach to command names. */ | ||
| 85 | |||
| 86 | -#ifndef STANDARD_STARTFILE_PREFIX_1 | ||
| 87 | -#define STANDARD_STARTFILE_PREFIX_1 "/lib/" | ||
| 88 | -#endif | ||
| 89 | -#ifndef STANDARD_STARTFILE_PREFIX_2 | ||
| 90 | -#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/" | ||
| 91 | -#endif | ||
| 92 | - | ||
| 93 | #ifdef CROSS_DIRECTORY_STRUCTURE /* Don't use these prefixes for a cross compiler. */ | ||
| 94 | #undef MD_EXEC_PREFIX | ||
| 95 | #undef MD_STARTFILE_PREFIX | ||
| 96 | -- | ||
| 97 | 2.20.1 | ||
| 98 | |||
