• [gentoo-dev] [PATCH] toolchain.eclass: Don't prefixify dynamic linker f

    From James Le Cuirot@21:1/5 to All on Thu Jan 2 17:40:02 2025
    Cross environments within a prefixed system do not have a nested prefix,
    i.e. they are located at ${EPREFIX}/usr/${CHOST}, not ${EPREFIX}/usr/${CHOST}/${EPREFIX}. Binaries built with the
    cross-compiler should therefore get an unprefixed dynamic linker path by default so that they work out of the box with QEMU's -L option.

    Signed-off-by: James Le Cuirot <chewi@gentoo.org>
    ---
    eclass/toolchain.eclass | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
    index c605c437f355a..f5d3b83c2e03b 100644
    --- a/eclass/toolchain.eclass
    +++ b/eclass/toolchain.eclass
    @@ -716,7 +716,7 @@ toolchain_src_prepare() {

    gnuconfig_update

    - if ! use prefix-guest && [[ -n ${EPREFIX} ]] ; then
    + if ! is_crosscompile && ! use prefix-guest && [[ -n ${EPREFIX} ]] ; then
    einfo "Prefixifying dynamic linkers..."
    for f in gcc/config/*/*linux*.h ; do
    ebegin " Updating ${f}"
    --
    2.47.1

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Sam James@21:1/5 to James Le Cuirot on Thu Jan 2 21:00:02 2025
    James Le Cuirot <chewi@gentoo.org> writes:

    Cross environments within a prefixed system do not have a nested prefix,
    i.e. they are located at ${EPREFIX}/usr/${CHOST}, not ${EPREFIX}/usr/${CHOST}/${EPREFIX}. Binaries built with the
    cross-compiler should therefore get an unprefixed dynamic linker path by default so that they work out of the box with QEMU's -L option.

    Remember to CC eclass maintainers.

    Looks good.


    Signed-off-by: James Le Cuirot <chewi@gentoo.org>
    ---
    eclass/toolchain.eclass | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
    index c605c437f355a..f5d3b83c2e03b 100644
    --- a/eclass/toolchain.eclass
    +++ b/eclass/toolchain.eclass
    @@ -716,7 +716,7 @@ toolchain_src_prepare() {

    gnuconfig_update

    - if ! use prefix-guest && [[ -n ${EPREFIX} ]] ; then
    + if ! is_crosscompile && ! use prefix-guest && [[ -n ${EPREFIX} ]] ; then
    einfo "Prefixifying dynamic linkers..."
    for f in gcc/config/*/*linux*.h ; do
    ebegin " Updating ${f}"

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)