On the architectures that supports libsanitizer (part of gcc), the build is currently failing with BR2_TIME_BITS_64=y. This is because some code in libsanitizer unsets _FILE_OFFSET_BITS, but building code with _FILE_OFFSET_BITS unset, but _TIME_BITS set isn't legal. To fix this, this commit backports two changes: - One change to also unset _TIME_BITS in sanitizer_platform_limits_posix.cpp. This change is upstream in LLVM, and already part of GCC 14.x, so we only bringing it to GCC 12.x and GCC 13.x. - A second change doing the same modification, but in sanitizer_procmaps_solaris.cpp, which as crazy as it might sound, also gets compiled on Linux platforms (but to basically an empty file). This change has been submitted upstream to both LLVM and gcc. Notes: - the special PowerPC SPE version of GCC cannot be affected, as only uClibc-ng is used for this architecture, and uClibc-ng doesn't use _TIME_BITS=64 (but now default to 64-bit time_t on 32-bit architectures, like musl does). - the special ARC version doesn't need patching because libsanitizer doesn't support the ARC architecture, so it doesn't get built Fixes: http://autobuild.buildroot.net/results/ff2dbfdabf0bb6a0d82ea8a80122ab97fd75bd3f/ https://gitlab.com/buildroot.org/buildroot/-/issues/16 Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> (cherry picked from commit 81a4b6e7b8b5bb368bce940798bf8432fb420851) [Peter: drop 14.1.0 patch] Signed-off-by: Peter Korsgaard <peter@korsgaard.com> |
||
---|---|---|
.github | ||
.gitlab/issue_templates | ||
arch | ||
board | ||
boot | ||
configs | ||
docs | ||
fs | ||
linux | ||
package | ||
support | ||
system | ||
toolchain | ||
utils | ||
.b4-config | ||
.checkpackageignore | ||
.clang-format | ||
.defconfig | ||
.editorconfig | ||
.flake8 | ||
.gitignore | ||
.gitlab-ci.yml | ||
.shellcheckrc | ||
CHANGES | ||
Config.in | ||
Config.in.legacy | ||
COPYING | ||
DEVELOPERS | ||
Makefile | ||
Makefile.legacy | ||
README |
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