From 42295eb93713caefff4edbecccf7a001ce624b33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Thu, 6 Nov 2025 11:29:09 +0100 Subject: [PATCH] libcrypt.map: Do not include missing symbols. Some linkers, like lld or mold, will fail linking, if the version-script contains mappings for missing symbols. Fixes #181, #213. --- lib/libcrypt.map.in | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/libcrypt.map.in b/lib/libcrypt.map.in index a56b7bf8..3f8bb18c 100644 --- a/lib/libcrypt.map.in +++ b/lib/libcrypt.map.in @@ -21,12 +21,13 @@ crypt_checksalt XCRYPT_4.3 crypt_preferred_method XCRYPT_4.4 # Interfaces for code compatibility with libxcrypt v3.1.1 and earlier. -# No longer available to new binaries. -crypt_gensalt_r - XCRYPT_2.0 -xcrypt - XCRYPT_2.0 -xcrypt_r - XCRYPT_2.0 -xcrypt_gensalt - XCRYPT_2.0 -xcrypt_gensalt_r - XCRYPT_2.0 +# No longer available to new binaries. Include in version-script, only +# if one of the compatibility interfaces is enabled. +crypt_gensalt_r - XCRYPT_2.0:alt:glibc:owl:suse:yes +xcrypt - XCRYPT_2.0:alt:glibc:owl:suse:yes +xcrypt_r - XCRYPT_2.0:alt:glibc:owl:suse:yes +xcrypt_gensalt - XCRYPT_2.0:alt:glibc:owl:suse:yes +xcrypt_gensalt_r - XCRYPT_2.0:alt:glibc:owl:suse:yes # Deprecated interfaces, POSIX and otherwise; also present in GNU libc # since 2.0