blob: 8976b3748b81297f9b090fb809643f2f78d6e0d4 [file] [log] [blame]
From 7284c7ae0df9aa5a9c8aa0a81a018e17289fe2c4 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 8 Sep 2022 07:22:26 -0700
Subject: [PATCH] portability: Fix timer_settime_wrap for 32bit systems with
64bit time_t
glibc does not define SYS_timer_settime if the 32bit syscall is not
available, new architectures like riscv32 has defaulted to 64bit time_t
from get go and avoided wiring 32bit syscall, therefore alias it to
64bit version here
Upstream-Status: Submitted [https://github.com/landley/toybox/pull/373]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
lib/portability.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/lib/portability.c b/lib/portability.c
index d955d081..4baa9367 100644
--- a/lib/portability.c
+++ b/lib/portability.c
@@ -711,6 +711,12 @@ int timer_create_wrap(clockid_t c, struct sigevent *se, timer_t *t)
return 0;
}
+#if !defined(SYS_timer_settime) && defined(SYS_timer_settime64)
+// glibc does not define defines SYS_timer_settime on 32-bit systems
+// with 64-bit time_t defaults e.g. riscv32
+#define SYS_timer_settime SYS_timer_settime64
+#endif
+
int timer_settime_wrap(timer_t t, int flags, struct itimerspec *val,
struct itimerspec *old)
{
--
2.37.3