summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Le Cuirot <chewi@gentoo.org>2023-10-01 15:07:46 +0100
committerJames Le Cuirot <chewi@gentoo.org>2023-10-01 15:08:05 +0100
commit6010348df47c9b5bb8e2f3305b35f82f789aca36 (patch)
tree4f0dee504f995b72db3d09d76d33b9de36303889 /sys-devel/binutils
parentapp-emulation/dxvk: Stabilize 2.3 amd64, #915004 (diff)
downloadgentoo-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.ebuild4
-rw-r--r--sys-devel/binutils/files/binutils-2.40-linker-search-path.patch36
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);
-