Go to file
Romain Naour 6e33e59080 package/Makefile.in: Use 64-bit time_t with glibc toolchains for > year 2038 support
To use time_t 64-bit for glibc >= 2.34 toolchains we have to set both
_FILE_OFFSET_BITS=64 and _TIME_BITS=64 for glibc toolchains. Buildroot
already define _FILE_OFFSET_BITS=64 since 2008 [1] before the first
release tag 2009.02.

_TIME_BITS is not needed for musl libc since it already year2038
ready [2].

The uclibc-ng libc only support time_t 32-bit (long int) so it will be
affected by the year2038 issue [3].

Fixes (in French, chapter Buildroot 2022 and GlibC):
https://www.blaess.fr/christophe/2038

Runtime tested with qemu_arm_vexpress_defconfig and the Bootlin glibc
bleeding-edge 2021.11-1 toolchain.

Before:
 # date
 Tue Jan 19 03:14:07 UTC 2038
 # date
 Thu Jan  1 00:00:00 UTC 1970

After:
 # date
 Tue Jan 19 03:14:07 UTC 2038
 # date
 Tue Jan 19 03:14:08 UTC 2038
 # date
 Tue Jan 19 03:14:09 UTC 2038

[1] 60b5eee76e
[2] https://git.musl-libc.org/cgit/musl/tree/include/alltypes.h.in?h=v1.2.2#n3
[3] https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/tree/include/time.h?h=v1.0.40#n75
    https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/tree/libc/sysdeps/linux/common/bits/types.h?h=v1.0.40#n106

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Christophe Blaess <christophe.blaess@logilin.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-03-07 20:52:04 +01:00
arch core: introduce NORMALIZED_ARCH as non-kernel replacement for KERNEL_ARCH 2022-02-08 21:20:23 +01:00
board board/orangepi/orangepi-rk3399/genimage: fix partition types for gpt 2022-03-05 16:01:27 +01:00
boot boot/uboot: fix build with host-gcc 10+ 2022-02-12 21:38:18 +01:00
configs configs/zynqmp_zcu10x: fix U-Boot dts config 2022-02-23 21:07:20 +01:00
docs docs: fix links to AsciiDoc 2022-03-07 20:26:24 +01:00
fs fs: clean the volatile /run and /tmp directories 2022-01-09 10:04:34 +01:00
linux {linux, linux-headers}: bump 4.{4, 9, 14, 19}.x / 5.{4, 10, 15, 16}.x series 2022-03-05 17:26:53 +01:00
package package/Makefile.in: Use 64-bit time_t with glibc toolchains for > year 2038 support 2022-03-07 20:52:04 +01:00
support Update for 2021.11.2 2022-02-28 22:11:17 +01:00
system system/skeleton: provide run/lock directory 2022-01-12 20:38:09 +01:00
toolchain toolchain: fix gcc bug 99140 condition 2022-02-14 21:38:27 +01:00
utils utils/docker-run: hide docker run command 2022-02-16 22:55:15 +01:00
.clang-format .clang-format: initial import from Linux 5.15.6 2022-01-01 15:01:13 +01:00
.defconfig
.flake8 Revert ".flake8: fix check for 80/132 columns" 2021-01-02 17:38:20 +01:00
.gitignore
.gitlab-ci.yml utils/checkpackagelib/lib_sysv: run shellcheck 2022-02-06 18:27:03 +01:00
CHANGES Update for 2022.02-rc3 2022-02-28 22:38:26 +01:00
Config.in support/download: Add SFTP support 2022-01-06 09:34:05 +01:00
Config.in.legacy package/weston: drop fbdev 2022-02-23 20:59:59 +01:00
COPYING
DEVELOPERS package/gdk-pixbuf-xlib: new package 2022-03-03 23:03:03 +01:00
Makefile Update for 2022.02-rc3 2022-02-28 22:38:26 +01:00
Makefile.legacy
README docs: move the IRC channel away from Freenode 2021-05-29 22:16:23 +02:00

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on OFTC IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches