Browse Source

signal to kernel headers that time_t is 64-bit

linux/input.h and perhaps others use this macro to determine whether
the userspace time_t is 64-bit when potentially defining types in
terms of time_t and derived structures. the name __USE_TIME_BITS64 is
unfortunate; it really should have been in the __UAPI namespace. but
this is what was chosen back in v4.16 when first preparing input.h for
time64 userspace, presumably based on expectations about what the
glibc-internal features.h macro for time64 would be, and changing it
now would just put a new minimum version requirement on kernel
headers.

the __USE_TIME_BITS64 macro is not intended as a public interface. it
is purely an internal contract between libc and Linux uapi headers.
Rich Felker 5 years ago
parent
commit
f12bd8e05c
1 changed files with 1 additions and 0 deletions
  1. 1 0
      include/alltypes.h.in

+ 1 - 0
include/alltypes.h.in

@@ -1,5 +1,6 @@
 #define __LITTLE_ENDIAN 1234
 #define __BIG_ENDIAN 4321
+#define __USE_TIME_BITS64 1
 
 TYPEDEF unsigned _Addr size_t;
 TYPEDEF unsigned _Addr uintptr_t;