]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
Conditionally add uuid_time64 to sym. version map
authorNicholas Vinson <nvinson234@gmail.com>
Wed, 15 May 2024 15:14:54 +0000 (11:14 -0400)
committerThomas Weißschuh <thomas@t-8ch.de>
Mon, 1 Jul 2024 19:54:41 +0000 (21:54 +0200)
The symbol uuid_time64 is conditionally defined. It only exists on
32-bit platforms that use the glibc library and enable support for
the 64-bit time_t type.

For all other platforms, the symbol is undefined. As a result, when
ld.lld version 17 or newer is used with default flags, ld.lld will
reject the symbol map with the error:

    version script assignment of 'UUID_2.40' to symbol 'uuid_time64'
    failed: symbol not defined

To fix this issue, the reference to uuid_time64 is changed to
uuid_time64*. The change to a glob pattern satisifies ld.lld and allows
the library to link.

fixes util-linux/util-linux#3036
fixes Gentoo bug #931328

Signed-off-by: Nicholas Vinson <nvinson234@gmail.com>
(cherry picked from commit 86d3f3f03231d25f9cbf18d83aeeccd2225dd246)

libuuid/src/libuuid.sym

index 0f67ede0d5228f361ca3d7133b6c8a3dee4be54d..106c017790e70788cb7d61c1965e706da354f886 100644 (file)
@@ -57,7 +57,7 @@ global:
  */
 UUID_2.40 {
 global:
-        uuid_time64; /* only on 32bit architectures with 64bit time_t */
+        uuid_time64*; /* only on 32bit architectures with 64bit time_t */
 } UUID_2.36;