]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
tools/nolibc: define time_t in terms of __kernel_old_time_t
authorThomas Weißschuh <linux@weissschuh.net>
Sat, 12 Jul 2025 09:00:55 +0000 (11:00 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Aug 2025 14:25:53 +0000 (16:25 +0200)
commite52ec4dd28e6e9e5692c0ae3150821790f2a15b6
treed74a821eee7f3ae4df15a079aa7c5517f901ed62
parent83049106a32b58cdd78acfe8f1b5471d27c1210d
tools/nolibc: define time_t in terms of __kernel_old_time_t

[ Upstream commit d5094bcb5bfdfea2cf0de8aaf77cc65db56cbdb5 ]

Nolibc assumes that the kernel ABI is using a time values that are as
large as a long integer. For most ABIs this holds true.
But for x32 this is not correct, as it uses 32bit longs but 64bit times.

Also the 'struct stat' implementation of nolibc relies on timespec::tv_sec
and time_t being the same type. While timespec::tv_sec comes from the
kernel and is of type __kernel_old_time_t, time_t is defined within nolibc.

Switch to the __kernel_old_time_t to always get the correct type.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Link: https://lore.kernel.org/r/20250712-nolibc-x32-v1-1-6d81cb798710@weissschuh.net
Acked-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/include/nolibc/std.h