summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2019-08-25 10:23:54 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2019-08-25 10:40:18 +0100
commit35e71fcd352e9113c55447b66f6a93e164839dd7 (patch)
tree9c4e35a9b7a5bd0529966bc5b2c0685273c89572 /eclass/toolchain.eclass
parentsys-kernel/vanilla-sources: Automated version bump to {4.4.190,4.9.190,4.14.1... (diff)
downloadgentoo-35e71fcd352e9113c55447b66f6a93e164839dd7.tar.gz
gentoo-35e71fcd352e9113c55447b66f6a93e164839dd7.tar.bz2
gentoo-35e71fcd352e9113c55447b66f6a93e164839dd7.zip
eclass/toolchain.eclass: mask LIBPATH for cross-case, bug #692844
/usr/lib/gcc/${CTARGET}/${GCC_CONFIG_VER} contains libraries destined to be used by ${CTARGET}. revdep-rebuild complains about missing dependencies against them as we don't populate LDPATH (or anything else) for them. The change populates /etc/revdep-rebuild/05cross-${CTARGET}-${GCC_CONFIG_VER} with a single entry: SEARCH_DIRS_MASK="/usr/lib/gcc/${CTARGET}/${GCC_CONFIG_VER}" crossdev will still own root's SEARCH_DIRS_MASK="/usr/${CTARGET}". Reported-by: crocket Closes: https://bugs.gentoo.org/692844 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'eclass/toolchain.eclass')
-rw-r--r--eclass/toolchain.eclass15
1 files changed, 15 insertions, 0 deletions
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 12b86214a055..156ec3d0cf88 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1818,6 +1818,7 @@ toolchain_src_install() {
dodir /etc/env.d/gcc
create_gcc_env_entry
+ create_revdep_rebuild_entry
# Setup the gcc_env_entry for hardened gcc 4 with minispecs
want_minispecs && copy_minispecs_gcc_specs
@@ -2138,6 +2139,20 @@ create_gcc_env_entry() {
EOF
}
+create_revdep_rebuild_entry() {
+ dodir /etc/revdep-rebuild
+ local revdep_rebuild_base="/etc/revdep-rebuild/05cross-${CTARGET}-${GCC_CONFIG_VER}"
+ local revdep_rebuild_file="${ED}${revdep_rebuild_base}"
+
+ is_crosscompile || return 0
+
+ cat <<-EOF > ${revdep_rebuild_file}
+ # Generated by ${CATEGORY}/${PF}
+ # Ignore libraries built for ${CTARGET}, https://bugs.gentoo.org/692844.
+ SEARCH_DIRS_MASK="${LIBPATH}"
+ EOF
+}
+
copy_minispecs_gcc_specs() {
# on gcc 6 we don't need minispecs
if tc_version_is_at_least 6.0 ; then