On Thu, Oct 30, 2025 at 03:46:21PM +0100, Arnd Bergmann wrote:
On Wed, Oct 29, 2025, at 17:02, Thomas Weißschuh wrote:
+struct timespec {
- time_t tv_sec;
 - long tv_nsec;
 +}; +#define _STRUCT_TIMESPEC
+#include <linux/time.h>
Unfortunately this is not the definition we want on big-endian systems because it puts the tv_nsec field in the wrong place.
Indeed!
You can either uses the simple (non-POSIX) __kernel_timespec definition in nolibc with a 64-bit tv_nsec, or copy the more complicated definition with explicit padding that is used in musl and glibc.
I think that switching this patch and the next one (10/12) would just do the trick since both fields will become __kernel_time64_t. Or maybe the two should be squashed into a single one.
Willy