diff options
author | James Le Cuirot <chewi@gentoo.org> | 2023-10-01 15:07:46 +0100 |
---|---|---|
committer | James Le Cuirot <chewi@gentoo.org> | 2023-10-01 15:08:05 +0100 |
commit | 6010348df47c9b5bb8e2f3305b35f82f789aca36 (patch) | |
tree | 4f0dee504f995b72db3d09d76d33b9de36303889 /sys-devel/binutils | |
parent | app-emulation/dxvk: Stabilize 2.3 amd64, #915004 (diff) | |
download | gentoo-6010348df47c9b5bb8e2f3305b35f82f789aca36.tar.gz gentoo-6010348df47c9b5bb8e2f3305b35f82f789aca36.tar.bz2 gentoo-6010348df47c9b5bb8e2f3305b35f82f789aca36.zip |
sys-devel/binutils: Drop ld.so.conf prefix patch and enable -L patch for cross
The ld.so.conf prefix patch didn't work in all the cases we needed it to. We'll
fix the issue with /usr/etc/ld.so.conf via env-update instead.
The -L patch was previously only applied to prefixed systems, but it's needed to
fix crossdev environments too. We should probably just take it into the general
patchset.
Bug: https://bugs.gentoo.org/892549
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Diffstat (limited to 'sys-devel/binutils')
-rw-r--r-- | sys-devel/binutils/binutils-2.40-r9.ebuild (renamed from sys-devel/binutils/binutils-2.40-r8.ebuild) | 4 | ||||
-rw-r--r-- | sys-devel/binutils/binutils-2.41-r2.ebuild (renamed from sys-devel/binutils/binutils-2.41-r1.ebuild) | 4 | ||||
-rw-r--r-- | sys-devel/binutils/binutils-9999.ebuild | 4 | ||||
-rw-r--r-- | sys-devel/binutils/files/binutils-2.40-linker-search-path.patch | 36 |
4 files changed, 9 insertions, 39 deletions
diff --git a/sys-devel/binutils/binutils-2.40-r8.ebuild b/sys-devel/binutils/binutils-2.40-r9.ebuild index 789ad23b059c..b7fac9c0e71c 100644 --- a/sys-devel/binutils/binutils-2.40-r8.ebuild +++ b/sys-devel/binutils/binutils-2.40-r9.ebuild @@ -118,7 +118,9 @@ src_prepare() { # This is applied conditionally for now just out of caution. # It should be okay on non-prefix systems though. See bug #892549. - use prefix && eapply "${FILESDIR}"/binutils-2.40-linker-search-path.patch + if is_cross || use prefix; then + eapply "${FILESDIR}"/binutils-2.40-linker-search-path.patch + fi fi fi diff --git a/sys-devel/binutils/binutils-2.41-r1.ebuild b/sys-devel/binutils/binutils-2.41-r2.ebuild index eec1ecb1e001..de4cbac1dadd 100644 --- a/sys-devel/binutils/binutils-2.41-r1.ebuild +++ b/sys-devel/binutils/binutils-2.41-r2.ebuild @@ -118,7 +118,9 @@ src_prepare() { # This is applied conditionally for now just out of caution. # It should be okay on non-prefix systems though. See bug #892549. - use prefix && eapply "${FILESDIR}"/binutils-2.40-linker-search-path.patch + if is_cross || use prefix; then + eapply "${FILESDIR}"/binutils-2.40-linker-search-path.patch + fi fi fi diff --git a/sys-devel/binutils/binutils-9999.ebuild b/sys-devel/binutils/binutils-9999.ebuild index 11e84c53af1c..5d9cedc9c2b5 100644 --- a/sys-devel/binutils/binutils-9999.ebuild +++ b/sys-devel/binutils/binutils-9999.ebuild @@ -118,7 +118,9 @@ src_prepare() { # This is applied conditionally for now just out of caution. # It should be okay on non-prefix systems though. See bug #892549. - use prefix && eapply "${FILESDIR}"/binutils-2.40-linker-search-path.patch + if is_cross || use prefix; then + eapply "${FILESDIR}"/binutils-2.40-linker-search-path.patch + fi fi fi diff --git a/sys-devel/binutils/files/binutils-2.40-linker-search-path.patch b/sys-devel/binutils/files/binutils-2.40-linker-search-path.patch index 7423f8d70556..bddfa1ec6eb5 100644 --- a/sys-devel/binutils/files/binutils-2.40-linker-search-path.patch +++ b/sys-devel/binutils/files/binutils-2.40-linker-search-path.patch @@ -36,39 +36,3 @@ libstdc++.so.6, while other linkers do not use this file at all. sprintf (filename, "%s/%s", search->name, l->name); nn.name = filename; if (ldelf_try_needed (&nn, force, is_linux)) - -From 8afc65c8d8c0fff2f686ddd8eb9023c7ebabcca9 Mon Sep 17 00:00:00 2001 -From: James Le Cuirot <chewi@gentoo.org> -Date: Sat, 11 Feb 2023 15:18:58 +0000 -Subject: [PATCH 2/2] ldelf.c: Do not search for libraries using ld.so.conf - -Other linkers do not do this. It is problematic for Gentoo Linux, -because crossdev installs libraries such as libstdc++.so.6 outside of -the sysroot. ---- a/ld/ld.texi -+++ b/ld/ld.texi -@@ -2355,7 +2355,9 @@ For a linker for a Linux system, if the file @file{/etc/ld.so.conf} - exists, the list of directories found in that file. Note: the path - to this file is prefixed with the @code{sysroot} value, if that is - defined, and then any @code{prefix} string if the linker was --configured with the @command{--prefix=<path>} option. -+configured with the @command{--prefix=<path>} option. This has feature has -+been disabled on Gentoo Linux to make it consistent with the other -+linkers, which do not do this. - @item - For a native linker on a FreeBSD system, any directories specified by - the @code{_PATH_ELF_HINTS} macro defined in the @file{elf-hints.h} ---- a/ld/ldelf.c -+++ b/ld/ldelf.c -@@ -1156,10 +1156,6 @@ ldelf_handle_dt_needed (struct elf_link_hash_table *htab, - if (is_freebsd - && ldelf_check_ld_elf_hints (l, force, elfsize)) - break; -- -- if (is_linux -- && ldelf_check_ld_so_conf (l, force, elfsize, prefix)) -- break; - } - - len = strlen (l->name); - |