]> 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)
committerNicholas Vinson <nvinson234@gmail.com>
Wed, 15 May 2024 23:36:40 +0000 (19:36 -0400)
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>
libuuid/src/libuuid.sym

index 4c4b4eba2e608b3cfa035d6cbe46d70dcc26371d..774228548a45e1981a72e17b03678589a589b23c 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;
 
 /*