Go to file
Julien Olivain bf952b0cb7 support/config-fragments: fix bootlin-x86-i686-musl
Commit a8be4a04ad "support/config-fragments: replace
br-i386-pentium-mmx-musl" replaced this old toolchain by
bootlin-x86-i686-musl.

When using test-pkg with all toolchains, bootlin-x86-i686-musl is always
failing. The issue can be reproduced with for example:

    utils/test-pkg -a -p busybox

The issue can also be reproduced with a simple config like:

    cat > .config <<EOF
    BR2_i386=y
    BR2_TOOLCHAIN_EXTERNAL=y
    BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
    BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_MUSL_STABLE=y
    BR2_PACKAGE_BUSYBOX=y
    EOF
    make olddefconfig
    make

Compilation fail with output:

    Cannot execute cross-compiler '/i586-linux-gcc'

This issue happen is because the toolchain can never be selected.

The config fragment [1] selects BR2_i386 alone.

The target architecture variant default to i586 if target
architecture is i386. See [2].

Finally, the generated toolchain options includes a depends on
BR2_i386 and !BR2_x86_i586, making the toolchain always ignored.
See [3].

This commit fixes the issue by adding BR2_x86_i686=y to the
bootlin-x86-i686-musl.config fragment as suggested by the
Bootlin toolchain fragment [4].

[1] a8be4a04ad/support/config-fragments/autobuild/bootlin-x86-i686-musl.config
[2] https://gitlab.com/buildroot.org/buildroot/-/blob/2024.02.2/arch/Config.in.x86?ref_type=tags#L38
[3] https://gitlab.com/buildroot.org/buildroot/-/blob/345ccb523e/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options#L5768-5770
[4] https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/fragments/x86-i686--musl--stable-2024.02-1.frag

Signed-off-by: Julien Olivain <ju.o@free.fr>
[Romain: add the link to the Bootlin toolchain fragment]
Signed-off-by: Romain Naour <romain.naour@smile.fr>
(cherry picked from commit 1263adf7a9)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-06-03 17:52:06 +02:00
.github .github: add a pull request warning that explains the mailing list workflow 2024-05-07 18:09:38 +02:00
arch arch: add support 16k page size on ARM64 2024-01-19 21:19:33 +01:00
board configs/sheevaplug_defconfig: add hashes for u-boot and Linux 2024-05-27 07:56:24 +02:00
boot boot/barebox/Config.in: source argument needs quotation marks 2024-05-26 21:57:39 +02:00
configs configs/sheevaplug_defconfig: add hashes for u-boot and Linux 2024-05-27 07:56:24 +02:00
docs docs/manual: fix host-python-setuptools typo 2024-05-01 21:22:10 +02:00
fs
linux {linux, linux-headers}: bump 4.19.x / 5.{4, 10, 15}.x / 6.{1, 6, 8}.x series 2024-05-07 22:40:52 +02:00
package package/imagemagick: bump to version 7.1.1-31 2024-06-03 17:47:24 +02:00
support support/config-fragments: fix bootlin-x86-i686-musl 2024-06-03 17:52:06 +02:00
system system: expose BR2_ROOTFS_POST_SCRIPT_ARGS for PRE_BUILD scripts 2024-04-28 14:07:55 +02:00
toolchain toolchain/helpers.mk: use int as main() return type in checks 2024-05-06 12:51:59 +02:00
utils utils/check-package: don't ignore check-package 2024-04-28 14:11:15 +02:00
.checkpackageignore package/qemu: fix disabling fp-bench test compilation 2024-05-26 21:46:32 +02:00
.clang-format
.defconfig
.editorconfig editorconfig: fix wildcard expansion 2023-12-20 21:32:06 +01:00
.flake8
.gitignore
.gitlab-ci.yml
.shellcheckrc
CHANGES Update for 2024.02.2 2024-05-07 09:30:06 +02:00
Config.in package/google-breakpad: needs C++17 2024-05-02 13:19:46 +02:00
Config.in.legacy toolchain: drop codescape mips toolchains 2024-03-22 20:51:35 +01:00
COPYING
DEVELOPERS support/testing: add socat runtime test 2024-06-03 17:32:48 +02:00
Makefile Update for 2024.02.2 2024-05-07 09:30:06 +02:00
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