[PATCH 51/94] sys-libs/glibc: more hurd fixes
Sam James <[email protected]>
| Newsgroups | gmane.linux.gentoo.devel |
|---|---|
| Message-ID | <83541a568f72febd84281272fc7d765f89fcc683.1774994330.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 | 16 +++++++++++++++- sys-libs/glibc/glibc-2.43.ebuild | 16 +++++++++++++++- sys-libs/glibc/glibc-9999.ebuild | 16 +++++++++++++++- 3 files changed, 45 insertions(+), 3 deletions(-) diff --git a/sys-libs/glibc/glibc-2.42-r5.ebuild b/sys-libs/glibc/glibc-2.42-r5.ebuild index b85dd9ecfdfa0..95b782d7b5963 100644 --- a/sys-libs/glibc/glibc-2.42-r5.ebuild +++ b/sys-libs/glibc/glibc-2.42-r5.ebuild @@ -1510,7 +1510,7 @@ glibc_do_src_install() { local ldso_abi_list=( # x86 amd64 /lib64/ld-x86-64.so.1 - x86 /lib/ld.so + x86 /lib/ld.so.1 ) fi if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then @@ -1549,6 +1549,20 @@ 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... + + # 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." + fi + + # Then make a compatibility symlink. + dosym ld.so.1 "$(alt_prefix)/$(get_abi_LIBDIR x86)/ld.so" + fi + # With devpts under Linux mounted properly, we do not need the pt_chown # binary to be setuid. This is because the default owners/perms will be # exactly what we want. diff --git a/sys-libs/glibc/glibc-2.43.ebuild b/sys-libs/glibc/glibc-2.43.ebuild index a84ae1e4630b3..698ac7a24dbce 100644 --- a/sys-libs/glibc/glibc-2.43.ebuild +++ b/sys-libs/glibc/glibc-2.43.ebuild @@ -1534,7 +1534,7 @@ glibc_do_src_install() { local ldso_abi_list=( # x86 amd64 /lib64/ld-x86-64.so.1 - x86 /lib/ld.so + x86 /lib/ld.so.1 ) fi if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then @@ -1573,6 +1573,20 @@ 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... + + # 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." + fi + + # Then make a compatibility symlink. + dosym ld.so.1 "$(alt_prefix)/$(get_abi_LIBDIR x86)/ld.so" + fi + # With devpts under Linux mounted properly, we do not need the pt_chown # binary to be setuid. This is because the default owners/perms will be # exactly what we want. diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild index 9e678b1a7ec81..5575e2deff0f7 100644 --- a/sys-libs/glibc/glibc-9999.ebuild +++ b/sys-libs/glibc/glibc-9999.ebuild @@ -1534,7 +1534,7 @@ glibc_do_src_install() { local ldso_abi_list=( # x86 amd64 /lib64/ld-x86-64.so.1 - x86 /lib/ld.so + x86 /lib/ld.so.1 ) fi if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then @@ -1573,6 +1573,20 @@ 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... + + # 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." + fi + + # Then make a compatibility symlink. + dosym ld.so.1 "$(alt_prefix)/$(get_abi_LIBDIR x86)/ld.so" + fi + # With devpts under Linux mounted properly, we do not need the pt_chown # binary to be setuid. This is because the default owners/perms will be # exactly what we want. -- 2.53.0