Files
openwrt/tools/util-linux/patches/101-macos-weak-aliases.patch
Thomas Weißschuh 7bbb78c622 tools: util-linux: update to v2.41
Release Notes:
	https://www.kernel.org/pub/linux/utils/util-linux/v2.41/v2.41-ReleaseNotes

Remove upstreamed:
	0001-hexdump-allow-enabling-with-disable-all-programs.patch
	110-pkgconfig-static.patch

Refresh:
	101-macos-weak-aliases.patch

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Link: https://github.com/openwrt/openwrt/pull/18493
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-04-18 17:23:42 +02:00

27 lines
1.0 KiB
Diff

From 9445f477cfcfb3615ffde8f93b1b98c809ee4eca Mon Sep 17 00:00:00 2001
From: Eugene Gershnik <gershnik@users.noreply.github.com>
Date: Mon, 6 May 2024 09:29:39 -0700
Subject: [PATCH] This re-enables build on macOS.
Weak aliases are not supported by clang on Darwin.
Instead this fix uses inline asm to make `_uuid_time` and alias to `___uuid_time`
Fixes util-linux/util-linux#2873
---
libuuid/src/uuid_time.c | 4 ++++
1 file changed, 4 insertions(+)
--- a/libuuid/src/uuid_time.c
+++ b/libuuid/src/uuid_time.c
@@ -144,6 +144,10 @@ time_t __uuid_time(const uuid_t uu, stru
}
#if defined(__USE_TIME_BITS64) && defined(__GLIBC__)
extern time_t uuid_time64(const uuid_t uu, struct timeval *ret_tv) __attribute__((weak, alias("__uuid_time")));
+#elif defined(__clang__) && defined(__APPLE__)
+__asm__(".globl _uuid_time");
+__asm__(".set _uuid_time, ___uuid_time");
+extern time_t uuid_time(const uuid_t uu, struct timeval *ret_tv);
#else
extern time_t uuid_time(const uuid_t uu, struct timeval *ret_tv) __attribute__((weak, alias("__uuid_time")));
#endif