[PATCH 54/94] sys-libs/glibc: more hurd fixes, now amd64
Sam James <[email protected]>
| Newsgroups | gmane.linux.gentoo.devel |
|---|---|
| Message-ID | <a39eae943ecb352c12a5a801baf41323c28a2032.1774994331.git.sam@gentoo.org> |
From: Andreas K. Hüttel <[email protected]> Signed-off-by: Andreas K. Hüttel <[email protected]> Signed-off-by: Sam James <[email protected]> --- sys-libs/glibc/glibc-2.42-r5.ebuild | 21 ++++++++++++++++----- sys-libs/glibc/glibc-2.43.ebuild | 21 ++++++++++++++++----- sys-libs/glibc/glibc-9999.ebuild | 21 ++++++++++++++++----- 3 files changed, 48 insertions(+), 15 deletions(-) diff --git a/sys-libs/glibc/glibc-2.42-r5.ebuild b/sys-libs/glibc/glibc-2.42-r5.ebuild index 95b782d7b5963..dccdc68f967db 100644 --- a/sys-libs/glibc/glibc-2.42-r5.ebuild +++ b/sys-libs/glibc/glibc-2.42-r5.ebuild @@ -1549,14 +1549,25 @@ glibc_do_src_install() { done fi - if is_hurd && has x86 $(get_install_abis) ; then - # On ix86, glibc and (unpatched) gcc disagree about the proper location for the dynamic loader. - # Which is maximally stupid since this one information is hardcoded into every single - # binary... + # On Hurd, glibc and (unpatched) gcc tend to disagree about the proper location for + # the dynamic loader. Which is maximally stupid since this one information is hardcoded + # into every single binary, and even if we were to fix *our* gcc it could still prevent + # us from running binaries prepared anywhere else... + + if is_hurd && has amd64 $(get_install_abis) ; then + # First, let's check for sanity + if [[ -f "$(alt_prefix)/lib/ld-x86-64.so.1" ]] ; then + die "Somehow your amd64 hurd glibc installed /lib/ld-x86-64.so.1 ... this should not happen." + fi + # Then make a compatibility symlink. + dosym ../lib64/ld-x86-64.so.1 "$(alt_prefix)/lib/ld-x86-64.so.1" + fi + + if is_hurd && has x86 $(get_install_abis) ; then # First, let's check for sanity if [[ -f "$(alt_prefix)/$(get_abi_LIBDIR x86)/ld.so" ]] ; then - die "Somehow your hurd glibc installed a literal ld.so ... this should not happen." + die "Somehow your x86 hurd glibc installed ld.so ... this should not happen." fi # Then make a compatibility symlink. diff --git a/sys-libs/glibc/glibc-2.43.ebuild b/sys-libs/glibc/glibc-2.43.ebuild index 698ac7a24dbce..7c72868843ed1 100644 --- a/sys-libs/glibc/glibc-2.43.ebuild +++ b/sys-libs/glibc/glibc-2.43.ebuild @@ -1573,14 +1573,25 @@ glibc_do_src_install() { done fi - if is_hurd && has x86 $(get_install_abis) ; then - # On ix86, glibc and (unpatched) gcc disagree about the proper location for the dynamic loader. - # Which is maximally stupid since this one information is hardcoded into every single - # binary... + # On Hurd, glibc and (unpatched) gcc tend to disagree about the proper location for + # the dynamic loader. Which is maximally stupid since this one information is hardcoded + # into every single binary, and even if we were to fix *our* gcc it could still prevent + # us from running binaries prepared anywhere else... + + if is_hurd && has amd64 $(get_install_abis) ; then + # First, let's check for sanity + if [[ -f "$(alt_prefix)/lib/ld-x86-64.so.1" ]] ; then + die "Somehow your amd64 hurd glibc installed /lib/ld-x86-64.so.1 ... this should not happen." + fi + # Then make a compatibility symlink. + dosym ../lib64/ld-x86-64.so.1 "$(alt_prefix)/lib/ld-x86-64.so.1" + fi + + if is_hurd && has x86 $(get_install_abis) ; then # First, let's check for sanity if [[ -f "$(alt_prefix)/$(get_abi_LIBDIR x86)/ld.so" ]] ; then - die "Somehow your hurd glibc installed a literal ld.so ... this should not happen." + die "Somehow your x86 hurd glibc installed ld.so ... this should not happen." fi # Then make a compatibility symlink. diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild index 5575e2deff0f7..14b0d5f56c72b 100644 --- a/sys-libs/glibc/glibc-9999.ebuild +++ b/sys-libs/glibc/glibc-9999.ebuild @@ -1573,14 +1573,25 @@ glibc_do_src_install() { done fi - if is_hurd && has x86 $(get_install_abis) ; then - # On ix86, glibc and (unpatched) gcc disagree about the proper location for the dynamic loader. - # Which is maximally stupid since this one information is hardcoded into every single - # binary... + # On Hurd, glibc and (unpatched) gcc tend to disagree about the proper location for + # the dynamic loader. Which is maximally stupid since this one information is hardcoded + # into every single binary, and even if we were to fix *our* gcc it could still prevent + # us from running binaries prepared anywhere else... + + if is_hurd && has amd64 $(get_install_abis) ; then + # First, let's check for sanity + if [[ -f "$(alt_prefix)/lib/ld-x86-64.so.1" ]] ; then + die "Somehow your amd64 hurd glibc installed /lib/ld-x86-64.so.1 ... this should not happen." + fi + # Then make a compatibility symlink. + dosym ../lib64/ld-x86-64.so.1 "$(alt_prefix)/lib/ld-x86-64.so.1" + fi + + if is_hurd && has x86 $(get_install_abis) ; then # First, let's check for sanity if [[ -f "$(alt_prefix)/$(get_abi_LIBDIR x86)/ld.so" ]] ; then - die "Somehow your hurd glibc installed a literal ld.so ... this should not happen." + die "Somehow your x86 hurd glibc installed ld.so ... this should not happen." fi # Then make a compatibility symlink. -- 2.53.0