From e58fd0a23e84cec8b27a13e614068117076958d9 Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Sat, 18 May 2024 16:14:55 +1200 Subject: [PATCH] musl: Mark not EXPERIMENTAL Musl was marked experimental in commit 08d91d41 ("musl: config is broken for !EXPERIMENTAL"). Most of the reasoning for that change no longer applies and as it's been about 8 years it's time to let musl loose on the world. Drop the `depends on EXPERIMENTAL` and update the sample configs for aarch64 and x86_64. For powerpc64 the ABI needs to be elfv2. Enforce this via the powerpc config. Add a sample configuration for powerpc-unknown-linux-musl. Signed-off-by: Chris Packham --- .github/workflows/continuous-integration-workflow.yml | 1 + config/arch/powerpc.in | 7 ++++--- config/libc/musl.in | 1 - samples/aarch64-unknown-linux-musl/crosstool.config | 1 - samples/powerpc64-unknown-linux-musl/crosstool.config | 11 +++++++++++ samples/powerpc64-unknown-linux-musl/reported.by | 3 +++ samples/x86_64-multilib-linux-musl/crosstool.config | 1 - 7 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 samples/powerpc64-unknown-linux-musl/crosstool.config create mode 100644 samples/powerpc64-unknown-linux-musl/reported.by diff --git a/.github/workflows/continuous-integration-workflow.yml b/.github/workflows/continuous-integration-workflow.yml index c95f023f..c25a721b 100644 --- a/.github/workflows/continuous-integration-workflow.yml +++ b/.github/workflows/continuous-integration-workflow.yml @@ -126,6 +126,7 @@ jobs: "mips64-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "powerpc64-unknown-linux-gnu", + "powerpc64-unknown-linux-musl", "riscv32-unknown-elf", "riscv64-unknown-elf", "s390-unknown-linux-gnu", diff --git a/config/arch/powerpc.in b/config/arch/powerpc.in index 26954c88..dddd73a6 100644 --- a/config/arch/powerpc.in +++ b/config/arch/powerpc.in @@ -19,9 +19,10 @@ config ARCH_powerpc_ABI string - default "" if ARCH_powerpc_ABI_DEFAULT - default "eabi" if ARCH_powerpc_ABI_EABI - default "spe" if ARCH_powerpc_ABI_SPE + default "" if ARCH_powerpc_ABI_DEFAULT + default "eabi" if ARCH_powerpc_ABI_EABI + default "spe" if ARCH_powerpc_ABI_SPE + default "elfv2" if ARCH_64 && LIBC_MUSL choice bool diff --git a/config/libc/musl.in b/config/libc/musl.in index 427dd699..71d9c990 100644 --- a/config/libc/musl.in +++ b/config/libc/musl.in @@ -1,7 +1,6 @@ # musl second-part option ## depends on ! WINDOWS && ! BARE_METAL -## depends on EXPERIMENTAL ## select LIBC_SUPPORT_THREADS_NATIVE ## select CC_CORE_NEEDED diff --git a/samples/aarch64-unknown-linux-musl/crosstool.config b/samples/aarch64-unknown-linux-musl/crosstool.config index c1b6a9c6..ceb87d54 100644 --- a/samples/aarch64-unknown-linux-musl/crosstool.config +++ b/samples/aarch64-unknown-linux-musl/crosstool.config @@ -1,5 +1,4 @@ CT_CONFIG_VERSION="4" -CT_EXPERIMENTAL=y CT_ARCH_ARM=y CT_ARCH_64=y CT_TARGET_VENDOR="" diff --git a/samples/powerpc64-unknown-linux-musl/crosstool.config b/samples/powerpc64-unknown-linux-musl/crosstool.config new file mode 100644 index 00000000..bd97e306 --- /dev/null +++ b/samples/powerpc64-unknown-linux-musl/crosstool.config @@ -0,0 +1,11 @@ +CT_CONFIG_VERSION="4" +CT_ARCH_POWERPC=y +CT_ARCH_64=y +CT_ARCH_ABI="elfv2" +CT_KERNEL_LINUX=y +CT_BINUTILS_PLUGINS=y +CT_LIBC_MUSL=y +CT_CC_LANG_CXX=y +CT_DEBUG_GDB=y +# CT_GDB_CROSS_PYTHON is not set +CT_GDB_NATIVE=y diff --git a/samples/powerpc64-unknown-linux-musl/reported.by b/samples/powerpc64-unknown-linux-musl/reported.by new file mode 100644 index 00000000..15241934 --- /dev/null +++ b/samples/powerpc64-unknown-linux-musl/reported.by @@ -0,0 +1,3 @@ +reporter_name="Chris Packham " +reporter_url="http://crosstool-ng.org/" +reporter_comment="" diff --git a/samples/x86_64-multilib-linux-musl/crosstool.config b/samples/x86_64-multilib-linux-musl/crosstool.config index 0fe7cda2..91813a62 100644 --- a/samples/x86_64-multilib-linux-musl/crosstool.config +++ b/samples/x86_64-multilib-linux-musl/crosstool.config @@ -1,5 +1,4 @@ CT_CONFIG_VERSION="4" -CT_EXPERIMENTAL=y CT_ARCH_X86=y CT_MULTILIB=y CT_ARCH_64=y