buildroot/support/config-fragments/autobuild
Julien Olivain 1263adf7a9 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>
2024-05-22 13:55:43 +02:00
..
arm-aarch64.config support/config-fragments/autobuild: test the ARM AArch64 toolchain 2018-10-20 17:12:27 +02:00
bootlin-aarch64-glibc.config support/config-fragments/autobuild: use Bootlin toolchain for AArch64 glibc 2021-02-03 22:36:52 +01:00
bootlin-arcle-hs38-uclibc.config support/config-fragments/autobuild: use Bootlin toolchain for ARCle HS38 uclibc 2021-02-03 22:36:53 +01:00
bootlin-armv5-uclibc.config support/config-fragments/autobuild: use Bootlin toolchain for ARMv5 uclibc 2021-02-03 22:36:54 +01:00
bootlin-armv7-glibc.config support/config-fragments/autobuild: use Bootlin toolchain for ARMv7 glibc 2021-02-03 22:36:55 +01:00
bootlin-armv7-musl.config support/config-fragments/autobuild: use Bootlin toolchain for ARMv7 musl 2021-02-03 22:36:56 +01:00
bootlin-armv7m-uclibc.config support/config-fragments/autobuild/bootlin-armv7m-uclibc.config: specify configuration more precisely 2022-09-17 14:45:47 +02:00
bootlin-m68k-5208-uclibc.config support/config-fragments/autobuild: use Bootlin toolchain for m68k 5208 uclibc 2021-02-03 22:37:00 +01:00
bootlin-m68k-68040-uclibc.config support/config-fragments/autobuild: use Bootlin toolchain for m68k 68040 uclibc 2021-02-03 22:36:59 +01:00
bootlin-microblazeel-uclibc.config support/config-fragments/autobuild: use Bootlin toolchain for Microblaze EL uclibc 2021-02-03 22:37:01 +01:00
bootlin-mipsel32r6-glibc.config support/config-fragments/autobuild: use Bootlin toolchain for mipsel32r6 glibc 2021-02-03 22:37:02 +01:00
bootlin-mipsel-uclibc.config support/config-fragments/autobuild: use Bootlin toolchain for mipsel uclibc 2021-02-03 22:37:03 +01:00
bootlin-nios2-glibc.config support/config-fragments/autobuild: use Bootlin toolchain for NIOS2 glibc 2021-02-03 22:37:05 +01:00
bootlin-openrisc-uclibc.config support/config-fragments/autobuild: use Bootlin toolchain for OpenRISC uclibc 2021-02-03 22:37:06 +01:00
bootlin-powerpc64le-power8-glibc.config support/config-fragments/autobuild: use Bootlin toolchain for PowerPC64le Power8 glibc 2021-02-03 22:37:07 +01:00
bootlin-powerpc-e500mc-uclibc.config support/config-fragments/autobuild: use Bootlin toolchain for PowerPC e500mc uclibc 2021-02-03 22:37:08 +01:00
bootlin-riscv32-glibc.config support/config-fragments/autobuild: use Bootlin toolchain for RISC-V 32 glibc 2021-02-03 22:37:09 +01:00
bootlin-riscv64-glibc.config support/config-fragments/autobuild: fix bootlin-riscv64 configs 2022-01-04 18:08:57 +01:00
bootlin-riscv64-musl.config support/config-fragments/autobuild: fix bootlin-riscv64 configs 2022-01-04 18:08:57 +01:00
bootlin-s390x-z13-glibc.config support/config-fragments: add a bootlin s390x toolchain 2023-02-15 10:23:35 +01:00
bootlin-sh4-uclibc.config support/config-fragments/autobuild: use Bootlin toolchain for SH4 uclibc 2021-02-03 22:41:52 +01:00
bootlin-sparc64-glibc.config support/config-fragments/autobuild: use Bootlin toolchain for SPARC64 glibc 2021-02-03 22:42:39 +01:00
bootlin-sparc-uclibc.config support/config-fragments/autobuild: use Bootlin toolchain for SPARC uclibc 2021-02-03 22:42:39 +01:00
bootlin-x86-64-glibc.config support/config-fragments/autobuild/bootlin-x86-64-glibc: use toolchain-external-bootlin 2021-01-17 10:29:17 +01:00
bootlin-x86-64-musl.config support/config-fragments/autobuild: use Bootlin toolchain for x86-64 musl 2021-02-03 22:42:39 +01:00
bootlin-x86-64-uclibc.config support/config-fragments/autobuild: use Bootlin toolchain for x86-64 uclibc 2021-02-03 22:42:39 +01:00
bootlin-x86-i686-musl.config support/config-fragments: fix bootlin-x86-i686-musl 2024-05-22 13:55:43 +02:00
bootlin-xtensa-uclibc.config support/scripts/gen-bootlin-toolchains: correct xtensa-lx60 toolchain dependencies 2021-03-02 23:52:49 +01:00
br-arc-full-internal.config
br-arc-internal-glibc.config support/config-fragments/autobuild: add ARC glibc fragment 2017-10-21 22:04:28 +02:00
br-arm-basic.config support/config-fragments/autobuild: update Buildroot toolchains to 2020.11.2 2021-02-03 22:47:02 +01:00
br-arm-full-nothread.config support/config-fragments/autobuild: update Buildroot toolchains to 2020.11.2 2021-02-03 22:47:02 +01:00
br-arm-full-static.config support/config-fragments/autobuild: update Buildroot toolchains to 2020.11.2 2021-02-03 22:47:02 +01:00
br-arm-internal-full.config support/config-fragments/autobuild: fix ARM internal fragment 2017-07-29 15:41:57 +02:00
br-arm-internal-glibc.config support/config-fragments/autobuild/br-arm-internal-glibc: update to bleeding edge components 2024-03-03 11:46:05 +01:00
br-arm-internal-musl.config support/config-fragments: add internal defconfigs for glibc and musl 2018-02-05 22:45:17 +01:00
br-i386-pentium4-full.config support/config-fragments/autobuild: update Buildroot toolchains to 2020.11.2 2021-02-03 22:47:02 +01:00
br-microblazeel-full-internal.config
br-mips64-n64-full.config support/config-fragments/autobuild: update Buildroot toolchains to 2020.11.2 2021-02-03 22:47:02 +01:00
br-mips64r6-el-hf-glibc.config support/config-fragments/autobuild: update Buildroot toolchains to 2020.11.2 2021-02-03 22:47:02 +01:00
br-powerpc64-power7-glibc.config support/config-fragments/autobuild: update Buildroot toolchains to 2020.11.2 2021-02-03 22:47:02 +01:00
br-powerpc-603e-basic-cpp.config support/config-fragments/autobuild: update Buildroot toolchains to 2020.11.2 2021-02-03 22:47:02 +01:00
br-powerpc-internal-full.config support/config-fragments: br-powerpc-internal-full: remove old option 2018-01-12 22:25:52 +01:00
br-riscv64-full-internal.config support/config-fragments: add RISC-V 64-bit uclibc autobuild config 2020-07-27 18:00:17 +02:00
br-s390x-z13-internal-glibc.config support/config-fragments: add s390x z13 to autobuild configs 2020-09-30 21:33:25 +02:00
br-xtensa-full-internal.config support/config-fragments: remove bogus BR2_JLEVEL option 2018-02-05 22:46:59 +01:00
linaro-aarch64-be.config support/config-fragments/autobuild: add Linaro AArch64 BE support 2018-06-28 22:15:57 +02:00
linaro-aarch64.config
linaro-arm.config
sourcery-mips64.config
sourcery-mips.config
toolchain-configs.csv support/config-fragments: replace br-i386-pentium-mmx-musl 2024-05-09 18:32:35 +02:00