diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2021-04-20 09:00:45 +0100 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2021-04-20 09:08:44 +0100 |
commit | 7dac8045b21d0f0539d929ef70c6905e0be6c16f (patch) | |
tree | ce8f4791ec0d73f86b64db8e6cd151111dd8e83d /sys-devel/binutils/files/binutils-2.36.1-ld-ctf.patch | |
parent | dev-python/flask-mongoengine: Add a test dep on email-validator (diff) | |
download | gentoo-7dac8045b21d0f0539d929ef70c6905e0be6c16f.tar.gz gentoo-7dac8045b21d0f0539d929ef70c6905e0be6c16f.tar.bz2 gentoo-7dac8045b21d0f0539d929ef70c6905e0be6c16f.zip |
sys-devel/binutils: fix ctf/bfd relinking order
Before the change libctf could install before libbfd
into target location. That triggers libtool to link
against system's libbfd.
The change pulls in makefile depends to make sure
libbfd gets installed first for libtool to always
find a local copy.
Reported-by: Andreas K. Hüttel
Reported-by: Magnus Granberg
Bug: https://bugs.gentoo.org/783777
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'sys-devel/binutils/files/binutils-2.36.1-ld-ctf.patch')
-rw-r--r-- | sys-devel/binutils/files/binutils-2.36.1-ld-ctf.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/sys-devel/binutils/files/binutils-2.36.1-ld-ctf.patch b/sys-devel/binutils/files/binutils-2.36.1-ld-ctf.patch new file mode 100644 index 000000000000..012df3aed812 --- /dev/null +++ b/sys-devel/binutils/files/binutils-2.36.1-ld-ctf.patch @@ -0,0 +1,48 @@ +https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=f04ce15e831b691d7610dba284e266919e757b10 +https://bugs.gentoo.org/783777 + +From f04ce15e831b691d7610dba284e266919e757b10 Mon Sep 17 00:00:00 2001 +From: Nick Alcock <nick.alcock@oracle.com> +Date: Tue, 26 Jan 2021 16:05:17 +0000 +Subject: [PATCH] ld: depend on libctf + +Since ld may depend on libctf (if present), and libctf may be relinked +by the installation process, libctf must be installed before ld is, +or the relink may fail if it calls on symbols or symbol versions that do +not exist in any libctf already present on the system. (If none is +present, the copy in the build tree will be automatically used, but +if one *is* present, it may take precedence and break things.) + +(This is a maybe- dependency, so it will work even if libctf is +disabled.) + +ChangeLog +2021-01-26 Nick Alcock <nick.alcock@oracle.com> + + PR 27250 + * Makefile.def: Add install-libctf dependency to install-ld. + * Makefile.in: Regenerated. +--- +--- a/Makefile.def ++++ b/Makefile.def +@@ -448,6 +448,7 @@ dependencies = { module=all-binutils; on=all-intl; }; + dependencies = { module=all-binutils; on=all-gas; }; + dependencies = { module=all-binutils; on=all-libctf; }; + dependencies = { module=all-ld; on=all-libctf; }; ++dependencies = { module=install-ld; on=install-libctf; }; + + // We put install-opcodes before install-binutils because the installed + // binutils might be on PATH, and they might need the shared opcodes +--- a/Makefile.in ++++ b/Makefile.in +@@ -52170,6 +52170,7 @@ all-stage3-ld: maybe-all-stage3-libctf + all-stage4-ld: maybe-all-stage4-libctf + all-stageprofile-ld: maybe-all-stageprofile-libctf + all-stagefeedback-ld: maybe-all-stagefeedback-libctf ++install-ld: maybe-install-libctf + install-binutils: maybe-install-opcodes + install-strip-binutils: maybe-install-strip-opcodes + install-opcodes: maybe-install-bfd +-- +2.27.0 + |