diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2019-08-26 08:33:31 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2019-08-26 08:33:45 +0300 |
commit | c68388fccb8c0b5bf4d6b8efff91203796be98b2 (patch) | |
tree | f2b3d0381b84be54f0fc03f24daf603d2a6cb95a /poky/meta/recipes-devtools/gcc/gcc-9.2/0025-handle-sysroot-support-for-nativesdk-gcc.patch | |
parent | 665fd026517259031fd55bcfb2a9dab0d9f3582a (diff) | |
download | openbmc-c68388fccb8c0b5bf4d6b8efff91203796be98b2.tar.xz |
poky: subtree update:20946c63c2..c17113f1e2
Adrian Bunk (3):
shadow: musl now supports secure_getenv
kmod: Replace dolt hacks with backport of upstream dolt removal
btrfs-tools: Add a PACKAGECONFIG for zstd
Alexander Kanavin (12):
linux-yocto: add drm-bochs support
mesa: fix upstream version check
conf/conf-notes.txt: add a mention of common tools
conf/conf-notes.txt: add a mention of common tools
gtk-doc: upgrade 1.30 -> 1.31
desktop-file-utils: upgrade 0.23 -> 0.24
libdazzle: upgrade 3.32.2 -> 3.32.3
rt-tests: exclude another development version
vala: upgrade 0.44.5 -> 0.44.7
epiphany: upgrade 3.32.3 -> 3.32.4
libmodulemd: depend on target python at build time
createrepo-c: upgrade 0.14.3 -> 0.15.0
Alistair Francis (3):
qemu: Upgrade to version 4.1
scripts/runqemu: Add support for the BIOS variable
qemuriscv64: Specify the firmware as a bios instead of kernel
Anuj Mittal (2):
binutils: fix CVE-2019-14250 CVE-2019-14444
patch: backport fixes
Bruce Ashfield (6):
kernel-devsrc: tweak for v5.3+
kern-tools: Add SPDX license headers to source files
linux-yocto: arch/x86/boot: use prefix map to avoid embedded paths
kernel-yocto: import security fragments from meta-security
kconf_check: tweak CONFIG_ regex
linux-yocto/4.19: make drm-bochs feature available
Changqing Li (2):
dbus: disable test-bus
qemumips/qemumips64: move QB_SYSTEM_NAME to corresponding conf
Chen Qi (1):
target-sdk-provides-dummy: extend packages for multilib case
He Zhe (2):
ltp: Fix tgkill03 failure
ltp: Fix ustat02 failure
Hongxu Jia (3):
nfs-utils: decrease RLIMIT_NOFILE to 4k for systemd
distcc: upgrade 3.3.2 -> 3.3.3
ncurses: upgrade 6.1+20181013 -> 6.1+20190803
Jaewon Lee (1):
devtool: build: Also run deploy for devtool build if applicable
Jason Wessel (2):
cross-localedef-native: Add hardlink resolver from util-linux
libc-package.bbclass: Split locale hard link processing into two parts
Jon Mason (1):
resulttool: Prevent multiple results for the same test
Kai Kang (1):
webkitgtk: disable gold on mipsn32
Kevin Hao (1):
psplash: Avoid mount the psplash tmpfs twice
Khem Raj (10):
musl: Update to latest tip
systemd: Drop musl __secure_getenv patch
mesa: Add packageconfigs for vc4 and v3d
util-linux: Make pam specific logic apply to target recipe alone
systemd.bbclass: Limit rm_sysvinit_initddir and rm_systemd_unitdir to target alone
systemd: Refresh patch after removal of __secure_getenv patch
gcc-9: Upgrade to 9.2
gcc: Search in OE specific target gcclibdir
opensbi: Disable SECURITY_CFLAGS since it cant link with libssp
libffi: Upgrade to 3.3-rc0
Lei Maohui (2):
nativesdk-qemu: support aarch64_be.
at: fix a spelling mistake.
Mikko Rapeli (1):
stress-ng: provide stress
Mingli Yu (1):
python3: fix the test_locale output format
Oleksandr Kravchuk (8):
ffmpeg: update to 4.2
python-setuptools: update to 41.1.0
python3-scons: update to 3.1.1
ofono: update to 1.30
bitbake.conf: fix XORG_MIRROR URL
cups: update to 2.2.12
git: update to 2.23.0
python-setuptools: update to 41.2.0
Otavio Salvador (2):
linux-firmware: Upgrade 20190618 -> 20190815
kmscube: Bump revision to f632b23
Philippe Normand (1):
libtasn1: Enable nativesdk support
Ricardo Ribalda Delgado (1):
packagegroup-core-base-utils: Make it machine specific
Richard Purdie (7):
yocto-check-layer: Ensure we use OEBasicHash as the signature handler
package: Fix race between do_package and do_packagedata
bitbake: cookerdata: Delay the setup of the siggen slightly to allow metadata defined siggens
bitbake: runqueue: Small but critical fix
bitbake: runqueue: Optimise holdoff task handling
bitbake: runqueue: Further optimise holdoff tasks
bitbake: runqueue: Optimise build_taskdepdata slightly
Ross Burton (2):
systemd: add PACKAGECONFIG for gnu-efi
pango: upgrade to 1.44.5
Trevor Gamblin (2):
quilt: Export QUILT_PC variable in ptest Makefile
quilt: added less to RDEPENDS list
Wes Lindauer (5):
iw: Fix license field to BSD-2-Clause
openssh: Update LICENSE field with missing values
shadow: Fix BSD license file checksum
sudo: Fix BSD license file checksum
libunwind: Fix MIT license file checksum
Yuan Chao (1):
libnss-nis: upgrade 3.0 -> 3.1
Zang Ruochen (3):
acpid: upgrade 2.0.31 -> 2.0.32
lz4:upgrade 1.9.1 -> 1.9.2
python3-pip:upgrade 19.2.1 -> 19.2.2
Change-Id: I2068692bfdbbf18f892761a12f85e913b8212f3f
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'poky/meta/recipes-devtools/gcc/gcc-9.2/0025-handle-sysroot-support-for-nativesdk-gcc.patch')
-rw-r--r-- | poky/meta/recipes-devtools/gcc/gcc-9.2/0025-handle-sysroot-support-for-nativesdk-gcc.patch | 213 |
1 files changed, 213 insertions, 0 deletions
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0025-handle-sysroot-support-for-nativesdk-gcc.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0025-handle-sysroot-support-for-nativesdk-gcc.patch new file mode 100644 index 000000000..ba62bc1fd --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0025-handle-sysroot-support-for-nativesdk-gcc.patch @@ -0,0 +1,213 @@ +From a183c82ea2af934a8d30055a791dc1d80c9067a9 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 7 Dec 2015 23:39:54 +0000 +Subject: [PATCH 25/36] handle sysroot support for nativesdk-gcc + +Being able to build a nativesdk gcc is useful, particularly in cases +where the host compiler may be of an incompatible version (or a 32 +bit compiler is needed). + +Sadly, building nativesdk-gcc is not straight forward. We install +nativesdk-gcc into a relocatable location and this means that its +library locations can change. "Normal" sysroot support doesn't help +in this case since the values of paths like "libdir" change, not just +base root directory of the system. + +In order to handle this we do two things: + +a) Add %r into spec file markup which can be used for injected paths + such as SYSTEMLIBS_DIR (see gcc_multilib_setup()). +b) Add other paths which need relocation into a .gccrelocprefix section + which the relocation code will notice and adjust automatically. + +Upstream-Status: Inappropriate +RP 2015/7/28 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gcc/cppdefault.c | 50 +++++++++++++++++++++++++++++++++++------------- + gcc/cppdefault.h | 3 ++- + gcc/gcc.c | 20 +++++++++++++------ + 3 files changed, 53 insertions(+), 20 deletions(-) + +diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c +index 980e2bd47a7..39b6059efdc 100644 +--- a/gcc/cppdefault.c ++++ b/gcc/cppdefault.c +@@ -35,6 +35,30 @@ + # undef CROSS_INCLUDE_DIR + #endif + ++static char GPLUSPLUS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_INCLUDE_DIR; ++static char GCC_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GCC_INCLUDE_DIR; ++static char GPLUSPLUS_TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_TOOL_INCLUDE_DIR; ++static char GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_BACKWARD_INCLUDE_DIR; ++static char STANDARD_STARTFILE_PREFIX_2VAR[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET; ++#ifdef LOCAL_INCLUDE_DIR ++static char LOCAL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = LOCAL_INCLUDE_DIR; ++#endif ++#ifdef PREFIX_INCLUDE_DIR ++static char PREFIX_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = PREFIX_INCLUDE_DIR; ++#endif ++#ifdef FIXED_INCLUDE_DIR ++static char FIXED_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = FIXED_INCLUDE_DIR; ++#endif ++#ifdef CROSS_INCLUDE_DIR ++static char CROSS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = CROSS_INCLUDE_DIR; ++#endif ++#ifdef TOOL_INCLUDE_DIR ++static char TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = TOOL_INCLUDE_DIR; ++#endif ++#ifdef NATIVE_SYSTEM_HEADER_DIR ++static char NATIVE_SYSTEM_HEADER_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = NATIVE_SYSTEM_HEADER_DIR; ++#endif ++ + const struct default_include cpp_include_defaults[] + #ifdef INCLUDE_DEFAULTS + = INCLUDE_DEFAULTS; +@@ -42,38 +66,38 @@ const struct default_include cpp_include_defaults[] + = { + #ifdef GPLUSPLUS_INCLUDE_DIR + /* Pick up GNU C++ generic include files. */ +- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, ++ { GPLUSPLUS_INCLUDE_DIRVAR, "G++", 1, 1, + GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, + #endif + #ifdef GPLUSPLUS_TOOL_INCLUDE_DIR + /* Pick up GNU C++ target-dependent include files. */ +- { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, ++ { GPLUSPLUS_TOOL_INCLUDE_DIRVAR, "G++", 1, 1, + GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, + #endif + #ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR + /* Pick up GNU C++ backward and deprecated include files. */ +- { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, ++ { GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR, "G++", 1, 1, + GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, + #endif + #ifdef GCC_INCLUDE_DIR + /* This is the dir for gcc's private headers. */ +- { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, ++ { GCC_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 }, + #endif + #ifdef GCC_INCLUDE_SUBDIR_TARGET + /* This is the dir for gcc's private headers under the specified sysroot. */ +- { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 }, ++ { STANDARD_STARTFILE_PREFIX_2VAR, "GCC", 0, 0, 1, 0 }, + #endif + #ifdef LOCAL_INCLUDE_DIR + /* /usr/local/include comes before the fixincluded header files. */ +- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, +- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, ++ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 2 }, ++ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 0 }, + #endif + #ifdef PREFIX_INCLUDE_DIR +- { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0 }, ++ { PREFIX_INCLUDE_DIRVAR, 0, 0, 1, 0, 0 }, + #endif + #ifdef FIXED_INCLUDE_DIR + /* This is the dir for fixincludes. */ +- { FIXED_INCLUDE_DIR, "GCC", 0, 0, 0, ++ { FIXED_INCLUDE_DIRVAR, "GCC", 0, 0, 0, + /* A multilib suffix needs adding if different multilibs use + different headers. */ + #ifdef SYSROOT_HEADERS_SUFFIX_SPEC +@@ -85,16 +109,16 @@ const struct default_include cpp_include_defaults[] + #endif + #ifdef CROSS_INCLUDE_DIR + /* One place the target system's headers might be. */ +- { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, ++ { CROSS_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 }, + #endif + #ifdef TOOL_INCLUDE_DIR + /* Another place the target system's headers might be. */ +- { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0 }, ++ { TOOL_INCLUDE_DIRVAR, "BINUTILS", 0, 1, 0, 0 }, + #endif + #ifdef NATIVE_SYSTEM_HEADER_DIR + /* /usr/include comes dead last. */ +- { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 }, +- { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 }, ++ { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 }, ++ { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 }, + #endif + { 0, 0, 0, 0, 0, 0 } + }; +diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h +index e2d96f1e760..29fa5f815c8 100644 +--- a/gcc/cppdefault.h ++++ b/gcc/cppdefault.h +@@ -33,7 +33,8 @@ + + struct default_include + { +- const char *const fname; /* The name of the directory. */ ++ const char *fname; /* The name of the directory. */ ++ + const char *const component; /* The component containing the directory + (see update_path in prefix.c) */ + const char cplusplus; /* Only look here if we're compiling C++. */ +diff --git a/gcc/gcc.c b/gcc/gcc.c +index 1a3704b2763..db0e2934038 100644 +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -253,6 +253,8 @@ FILE *report_times_to_file = NULL; + #endif + static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT; + ++static char target_relocatable_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = SYSTEMLIBS_DIR; ++ + /* Nonzero means pass the updated target_system_root to the compiler. */ + + static int target_system_root_changed; +@@ -527,6 +529,7 @@ or with constant text in a single argument. + %G process LIBGCC_SPEC as a spec. + %R Output the concatenation of target_system_root and + target_sysroot_suffix. ++ %r Output the base path target_relocatable_prefix + %S process STARTFILE_SPEC as a spec. A capital S is actually used here. + %E process ENDFILE_SPEC as a spec. A capital E is actually used here. + %C process CPP_SPEC as a spec. +@@ -1493,10 +1496,10 @@ static const char *gcc_libexec_prefix; + gcc_exec_prefix is set because, in that case, we know where the + compiler has been installed, and use paths relative to that + location instead. */ +-static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX; +-static const char *const standard_libexec_prefix = STANDARD_LIBEXEC_PREFIX; +-static const char *const standard_bindir_prefix = STANDARD_BINDIR_PREFIX; +-static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; ++static char standard_exec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_EXEC_PREFIX; ++static char standard_libexec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_LIBEXEC_PREFIX; ++static char standard_bindir_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_BINDIR_PREFIX; ++static char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; + + /* For native compilers, these are well-known paths containing + components that may be provided by the system. For cross +@@ -1504,9 +1507,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; + static const char *md_exec_prefix = MD_EXEC_PREFIX; + static const char *md_startfile_prefix = MD_STARTFILE_PREFIX; + static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1; +-static const char *const standard_startfile_prefix_1 ++static char standard_startfile_prefix_1[4096] __attribute__ ((section (".gccrelocprefix"))) + = STANDARD_STARTFILE_PREFIX_1; +-static const char *const standard_startfile_prefix_2 ++static char standard_startfile_prefix_2[4096] __attribute__ ((section (".gccrelocprefix"))) + = STANDARD_STARTFILE_PREFIX_2; + + /* A relative path to be used in finding the location of tools +@@ -5915,6 +5918,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part) + } + break; + ++ case 'r': ++ obstack_grow (&obstack, target_relocatable_prefix, ++ strlen (target_relocatable_prefix)); ++ break; ++ + case 'S': + value = do_spec_1 (startfile_spec, 0, NULL); + if (value != 0) +-- +2.22.1 + |