commit f626e963acd7314915043e6dacf655072fb31d7c
parent 2ec63774edda33b204003802d007af211f314a50
Author: jvoisin <julien.voisin@dustri.org>
Date: Fri, 31 Oct 2025 15:36:44 +0100
Improve support for 64b time_t
fortify/poll.h includes poll.h, which redirects the ppoll sys call to __ppoll_time64,
if the _REDIR_TIME64 macro is 1. Then fortify/poll.h will #undef ppoll and use
the 32 bit version, which is inconsistent.
Taken from: https://github.com/openwrt/openwrt/pull/12575
Co-authored-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat:
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/poll.h b/include/poll.h
@@ -39,7 +39,7 @@ _FORTIFY_FN(poll) int poll(struct pollfd *__f, nfds_t __n, int __s)
return __orig_poll(__f, __n, __s);
}
-#ifdef _GNU_SOURCE
+#if defined(_GNU_SOURCE) && (!defined(_REDIR_TIME64) || !_REDIR_TIME64)
#undef ppoll
_FORTIFY_FN(ppoll) int ppoll(struct pollfd *__f, nfds_t __n, const struct timespec *__s,
const sigset_t *__m)