Skip to content

Commit

Permalink
eclass/toolchain.eclass: mask LIBPATH for cross-case, bug #692844
Browse files Browse the repository at this point in the history
/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 <[email protected]>
  • Loading branch information
Sergei Trofimovich committed Aug 25, 2019
1 parent 1c34380 commit 35e71fc
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions eclass/toolchain.eclass
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 35e71fc

Please sign in to comment.