summaryrefslogtreecommitdiffstats
path: root/debian/patches/upstream/libuuid-Add-uuid_time64-for-64bit-time_t-on-32bit.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/upstream/libuuid-Add-uuid_time64-for-64bit-time_t-on-32bit.patch')
-rw-r--r--debian/patches/upstream/libuuid-Add-uuid_time64-for-64bit-time_t-on-32bit.patch129
1 files changed, 0 insertions, 129 deletions
diff --git a/debian/patches/upstream/libuuid-Add-uuid_time64-for-64bit-time_t-on-32bit.patch b/debian/patches/upstream/libuuid-Add-uuid_time64-for-64bit-time_t-on-32bit.patch
deleted file mode 100644
index 84a2a0e..0000000
--- a/debian/patches/upstream/libuuid-Add-uuid_time64-for-64bit-time_t-on-32bit.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From: Thorsten Kukuk <kukuk@suse.com>
-Date: Thu, 30 Nov 2023 16:28:53 +0100
-Subject: libuuid: Add uuid_time64 for 64bit time_t on 32bit
-
-Signed-off-by: Thorsten Kukuk <kukuk@suse.com>
----
- libuuid/src/libuuid.sym | 9 ++++++++
- libuuid/src/uuid.h | 3 +++
- libuuid/src/uuid_time.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++++-
- 3 files changed, 70 insertions(+), 1 deletion(-)
-
-diff --git a/libuuid/src/libuuid.sym b/libuuid/src/libuuid.sym
-index 96372a8..0f67ede 100644
---- a/libuuid/src/libuuid.sym
-+++ b/libuuid/src/libuuid.sym
-@@ -52,6 +52,15 @@ global:
- uuid_parse_range;
- } UUID_2.31;
-
-+/*
-+ * version(s) since util-linux.2.40
-+ */
-+UUID_2.40 {
-+global:
-+ uuid_time64; /* only on 32bit architectures with 64bit time_t */
-+} UUID_2.36;
-+
-+
-
- /*
- * __uuid_* this is not part of the official API, this is
-diff --git a/libuuid/src/uuid.h b/libuuid/src/uuid.h
-index e791abf..2e3642c 100644
---- a/libuuid/src/uuid.h
-+++ b/libuuid/src/uuid.h
-@@ -109,6 +109,9 @@ extern void uuid_unparse_lower(const uuid_t uu, char *out);
- extern void uuid_unparse_upper(const uuid_t uu, char *out);
-
- /* uuid_time.c */
-+#if defined(__USE_TIME_BITS64) && defined(__GLIBC__)
-+# define uuid_time uuid_time64
-+#endif
- extern time_t uuid_time(const uuid_t uu, struct timeval *ret_tv);
- extern int uuid_type(const uuid_t uu);
- extern int uuid_variant(const uuid_t uu);
-diff --git a/libuuid/src/uuid_time.c b/libuuid/src/uuid_time.c
-index 6f07d51..9b415b3 100644
---- a/libuuid/src/uuid_time.c
-+++ b/libuuid/src/uuid_time.c
-@@ -40,6 +40,7 @@
- #define UUID MYUUID
- #endif
-
-+#include <errno.h>
- #include <stdio.h>
- #ifdef HAVE_UNISTD_H
- #include <unistd.h>
-@@ -53,7 +54,15 @@
-
- #include "uuidP.h"
-
--time_t uuid_time(const uuid_t uu, struct timeval *ret_tv)
-+#undef uuid_time
-+
-+/* prototype to make compiler happy */
-+time_t __uuid_time(const uuid_t uu, struct timeval *ret_tv);
-+
-+
-+/* this function could be 32bit time_t and 32bit timeval or 64bit,
-+ depending on compiler flags and architecture. */
-+time_t __uuid_time(const uuid_t uu, struct timeval *ret_tv)
- {
- struct timeval tv;
- struct uuid uuid;
-@@ -74,6 +83,54 @@ time_t uuid_time(const uuid_t uu, struct timeval *ret_tv)
-
- return tv.tv_sec;
- }
-+#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")));
-+#else
-+extern time_t uuid_time(const uuid_t uu, struct timeval *ret_tv) __attribute__((weak, alias("__uuid_time")));
-+#endif
-+
-+#if defined(__USE_TIME_BITS64) && defined(__GLIBC__)
-+struct timeval32
-+{
-+ int32_t tv_sec;
-+ int32_t tv_usec;
-+};
-+
-+/* prototype to make compiler happy */
-+int32_t __uuid_time32(const uuid_t uu, struct timeval32 *ret_tv);
-+
-+/* Check whether time fits in 32bit time_t. */
-+static inline int
-+in_time32_t_range(time_t t)
-+{
-+ int32_t s;
-+
-+ s = t;
-+
-+ return s == t;
-+}
-+
-+int32_t __uuid_time32(const uuid_t uu, struct timeval32 *ret_tv)
-+{
-+ struct timeval tv;
-+ time_t ret_time = __uuid_time(uu, &tv);
-+
-+ if (! in_time32_t_range(ret_time)) {
-+ ret_tv->tv_sec = -1;
-+ ret_tv->tv_usec = -1;
-+ errno = EOVERFLOW;
-+ return -1;
-+ }
-+
-+ if (ret_tv) {
-+ ret_tv->tv_sec = tv.tv_sec;
-+ ret_tv->tv_usec = tv.tv_usec;
-+ }
-+
-+ return tv.tv_sec;
-+}
-+extern int32_t uuid_time(const uuid_t uu, struct timeval32 *ret_tv) __attribute__((weak, alias("__uuid_time32")));
-+#endif
-
- int uuid_type(const uuid_t uu)
- {