commit:     c9645e94e82e399c738168a4423c0969048d1fd2
Author:     germ <germtoo <AT> outlook <DOT> com>
AuthorDate: Wed Apr 10 06:20:53 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jul  3 14:46:57 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c9645e94

sys-apps/keyutils: fix LLD build issue

Closes: https://bugs.gentoo.org/914637
Signed-off-by: germ <germtoo <AT> outlook.com>
Part-of: https://github.com/gentoo/gentoo/pull/36190
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../keyutils/files/keyutils-1.6.3-symbols.patch    | 30 ++++++++++++++++++++++
 sys-apps/keyutils/keyutils-1.6.3-r1.ebuild         |  1 +
 2 files changed, 31 insertions(+)

diff --git a/sys-apps/keyutils/files/keyutils-1.6.3-symbols.patch 
b/sys-apps/keyutils/files/keyutils-1.6.3-symbols.patch
new file mode 100644
index 000000000000..b7be1e71b725
--- /dev/null
+++ b/sys-apps/keyutils/files/keyutils-1.6.3-symbols.patch
@@ -0,0 +1,30 @@
+https://lore.kernel.org/keyrings/85561febfcf0618a9280448d5c53775646f470d6.1703712863.git.nvinson...@gmail.com/raw
+
+Functions keyctl_restrict() and keyctl_dh_compute_kdf_alloc() are
+nodefined. Their inclusion in version.lds causes clang/llvm LTO
+optimizations to fail with error messages similar to
+
+    error: version script assignment of KEYUTILS_1.7 to symbol
+    keyctl_restrict failed: symbol not defined
+
+This patch fixes the issue by removing the symbol names from
+version.lds.
+
+Fixes Gentoo bug 914637 (https://bugs.gentoo.org/914637)
+
+Signed-off-by: Nicholas Vinson <[email protected]>
+
+--- a/version.lds
++++ b/version.lds
+@@ -76,9 +76,7 @@ KEYUTILS_1.6 {
+ 
+ KEYUTILS_1.7 {
+       /* management functions */
+-      keyctl_restrict;
+       keyctl_dh_compute_kdf;
+-      keyctl_dh_compute_kdf_alloc;
+ 
+ } KEYUTILS_1.6;
+ 
+-- 
+2.43.0

diff --git a/sys-apps/keyutils/keyutils-1.6.3-r1.ebuild 
b/sys-apps/keyutils/keyutils-1.6.3-r1.ebuild
index 691b0f34f61a..b825ccd3a198 100644
--- a/sys-apps/keyutils/keyutils-1.6.3-r1.ebuild
+++ b/sys-apps/keyutils/keyutils-1.6.3-r1.ebuild
@@ -23,6 +23,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-1.5.10-disable-tests.patch #519062 #522050
        "${FILESDIR}"/${PN}-1.5.9-header-extern-c.patch
        "${FILESDIR}"/${PN}-1.6.3-fix-rpmspec-check.patch
+       "${FILESDIR}"/${PN}-1.6.3-symbols.patch
        "${FILESDIR}"/${P}-tests.patch
 )
 

Reply via email to