mirror of
https://git.busybox.net/busybox.git
synced 2024-12-03 18:43:26 +08:00
build system: Make it possible to build with 64bit time_t
On most 32bit architectures time_t (and a few other time related types) are a signed 32bit wide integer type. As a consequence they can only represent dates between Fri Dec 13 08:45:52 PM UTC 1901 (-0x80000000 seconds before Jan 1 1970) and Tue Jan 19 03:14:07 AM UTC 2038 (0x7fffffff seconds after Jan 1 1970). Given that some machines that are built today have an expected lifetime of >15 years, this needs to be extended. To to that, define the cpp symbol _TIME_BITS to 64 which results in some magic in glibc to make time_t (and the few other time related types) 64 bit wide. This new switch CONFIG_TIME64 is in the spirit of CONFIG_LFS and only expected to have the expected effect with glibc. On musl for examples time_t already defaults to 64bit wide types. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
07f8b6feac
commit
40fa8eb998
10
Config.in
10
Config.in
@ -108,6 +108,16 @@ config LFS
|
||||
programs that can benefit from large file support include dd, gzip,
|
||||
cp, mount, tar.
|
||||
|
||||
config TIME64
|
||||
bool "Support 64bit wide time types"
|
||||
default y
|
||||
depends on LFS
|
||||
help
|
||||
Make times later than 2038 representable for several libc syscalls
|
||||
(stat, clk_gettime etc.). Note this switch is specific to glibc and has
|
||||
no effect on platforms that already use 64bit wide time types (i.e. all
|
||||
64bit archs and some selected 32bit archs (currently riscv and x32)).
|
||||
|
||||
config PAM
|
||||
bool "Support PAM (Pluggable Authentication Modules)"
|
||||
default n
|
||||
|
@ -15,6 +15,7 @@ CPPFLAGS += \
|
||||
-include include/autoconf.h \
|
||||
-D_GNU_SOURCE -DNDEBUG \
|
||||
$(if $(CONFIG_LFS),-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64) \
|
||||
$(if $(CONFIG_TIME64),-D_TIME_BITS=64) \
|
||||
-DBB_VER=$(squote)$(quote)$(BB_VER)$(quote)$(squote)
|
||||
|
||||
CFLAGS += $(call cc-option,-Wall,)
|
||||
|
Loading…
Reference in New Issue
Block a user