mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-10 08:14:09 -09:00
a5952f6629046fbd1d887ad448cd680d56b930d6
In commita2380157f6("toolchain: enable libquadmath for PowerPC with VSX"), the definition of BR2_TOOLCHAIN_HAS_LIBQUADMATH has been extended to also be true when BR2_POWERPC_CPU_HAS_VSX. However, practical experiments show that when 64-bit VSX-capable cores are used in 32-bit mode, libquadmath is not built by GCC, causing build failures: cp: cannot stat '/home/autobuild/autobuild/instance-3/output-1/host/powerpc-buildroot-linux-musl/lib*/libquadmath*': No such file or directory We did an extensive testing, building the 27 combinations of: - GCC versions: 14, 15, 16 - C library: glibc, uclibc, musl - PowerPC 32-bit, PowerPC 64-bit, PowerPC 64-bit little endian This testing provides the following results: | gcc14 | powerpc64 | glibc | OK | | gcc14 | powerpc64le | glibc | OK | | gcc14 | powerpc64le | musl | OK | | gcc14 | powerpc64le | uclibc | SKIPPED | | gcc14 | powerpc64 | musl | OK | | gcc14 | powerpc64 | uclibc | SKIPPED | | gcc14 | powerpc | glibc | FAILED | | gcc14 | powerpc | musl | FAILED | | gcc14 | powerpc | uclibc | FAILED | | gcc15 | powerpc64 | glibc | OK | | gcc15 | powerpc64le | glibc | OK | | gcc15 | powerpc64le | musl | OK | | gcc15 | powerpc64le | uclibc | SKIPPED | | gcc15 | powerpc64 | musl | OK | | gcc15 | powerpc64 | uclibc | SKIPPED | | gcc15 | powerpc | glibc | FAILED | | gcc15 | powerpc | musl | FAILED | | gcc15 | powerpc | uclibc | FAILED | | gcc16 | powerpc64 | glibc | OK | | gcc16 | powerpc64le | glibc | OK | | gcc16 | powerpc64le | musl | OK | | gcc16 | powerpc64le | uclibc | SKIPPED | | gcc16 | powerpc64 | musl | OK | | gcc16 | powerpc64 | uclibc | SKIPPED | | gcc16 | powerpc | glibc | FAILED | | gcc16 | powerpc | musl | FAILED | | gcc16 | powerpc | uclibc | FAILED | The "SKIPPED" are when the configuration is not possible: uClibc doesn't support powerpc64 or powerpc64le. Then, as we can see, the build fails for all "powerpc" configuration. Our conclusion is therefore that libquadmath is not supported on PowerPC 32-bit. While we were not able to find direct evidence in the gcc code base, this practical experiment shows that is simply doesn't work on PowerPC 32-bit. So, we take the logical action of adjusting BR2_TOOLCHAIN_HAS_LIBQUADMATH so that it is true only on powerpc64/powerpc64le. Fixes: https://autobuild.buildroot.org/results/46d435c9f5086a8695f4f6cd4026bb0d194de13c/ Cc: Romain Naour <romain.naour@smile.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com> (cherry picked from commit06426297c4) Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
…
…
…
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 https://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
Description
Languages
Makefile
62.5%
Python
19%
C
8.5%
Shell
6.1%
PHP
1.4%
Other
2.1%