From e3271a6786524008b7135228145d0540df7c1451 Mon Sep 17 00:00:00 2001 From: Andre Heider Date: Wed, 23 Apr 2025 13:04:15 +0200 Subject: [PATCH] treewide: remove unused archs leftovers These are all unused by the current targets, clean up and stop irritating the user with irrelevant grep results. Signed-off-by: Andre Heider Link: https://github.com/openwrt/openwrt/pull/23240 Signed-off-by: Robert Marko --- config/Config-build.in | 2 +- config/Config-devel.in | 2 +- include/image.mk | 2 +- include/kernel.mk | 4 - include/target.mk | 10 --- package/libs/openssl/Config.in | 1 - package/libs/openssl/Makefile | 2 +- .../openssl/patches/110-openwrt_targets.patch | 5 +- package/libs/pcre2/Config.in | 2 +- package/libs/toolchain/Makefile | 8 +- target/Config.in | 36 -------- .../332-arc-add-OWRTDTB-section.patch | 84 ------------------- ...able-unaligned-access-in-kernel-mode.patch | 24 ------ .../332-arc-add-OWRTDTB-section.patch | 84 ------------------- ...able-unaligned-access-in-kernel-mode.patch | 24 ------ toolchain/Config.in | 6 +- toolchain/gcc/common.mk | 1 - 17 files changed, 11 insertions(+), 286 deletions(-) delete mode 100644 target/linux/generic/pending-6.12/332-arc-add-OWRTDTB-section.patch delete mode 100644 target/linux/generic/pending-6.12/333-arc-enable-unaligned-access-in-kernel-mode.patch delete mode 100644 target/linux/generic/pending-6.18/332-arc-add-OWRTDTB-section.patch delete mode 100644 target/linux/generic/pending-6.18/333-arc-enable-unaligned-access-in-kernel-mode.patch diff --git a/config/Config-build.in b/config/Config-build.in index 90fe2e5c43..2d38d2bd2b 100644 --- a/config/Config-build.in +++ b/config/Config-build.in @@ -185,7 +185,7 @@ menu "Global build settings" Packages can choose to opt-out via setting PKG_BUILD_FLAGS:=no-lto config MOLD - depends on (aarch64 || arm || i386 || i686 || loongarch64 || m68k || powerpc || powerpc64 || riscv64 || sh4 || x86_64) + depends on (aarch64 || arm || i386 || i686 || loongarch64 || powerpc || powerpc64 || riscv64 || x86_64) depends on !HOST_OS_MACOS def_bool $(shell, ./config/check-hostcxx.sh 10 2 12) diff --git a/config/Config-devel.in b/config/Config-devel.in index 3fe78f325b..f5f3417c89 100644 --- a/config/Config-devel.in +++ b/config/Config-devel.in @@ -207,7 +207,7 @@ menuconfig DEVEL config EXTRA_OPTIMIZATION string "Additional compiler options" if DEVEL - default "-fno-caller-saves -fno-plt" if !CONFIG_EXTERNAL_TOOLCHAIN && !arc + default "-fno-caller-saves -fno-plt" if !CONFIG_EXTERNAL_TOOLCHAIN default "-fno-caller-saves" help Extra target-independent optimizations to use when building for the target. diff --git a/include/image.mk b/include/image.mk index e62468c598..6ef34016aa 100644 --- a/include/image.mk +++ b/include/image.mk @@ -94,7 +94,7 @@ SQUASHFSOPT += -small-readers $(CONFIG_TARGET_SQUASHFS_SMALL_READERS) SQUASHFSCOMP := gzip LZMA_XZ_OPTIONS := -Xpreset 9 -Xe -Xlc 0 -Xlp 2 -Xpb 2 ifeq ($(CONFIG_SQUASHFS_XZ),y) - ifneq ($(filter arm x86 powerpc sparc,$(LINUX_KARCH)),) + ifneq ($(filter arm x86 powerpc,$(LINUX_KARCH)),) BCJ_FILTER:=-Xbcj $(LINUX_KARCH) endif SQUASHFSCOMP := xz $(LZMA_XZ_OPTIONS) $(BCJ_FILTER) diff --git a/include/kernel.mk b/include/kernel.mk index 1eb54735cd..5b590cf3ff 100644 --- a/include/kernel.mk +++ b/include/kernel.mk @@ -82,8 +82,6 @@ ifneq (,$(findstring uml,$(BOARD))) LINUX_KARCH=um else ifneq (,$(findstring $(ARCH) , aarch64 aarch64_be )) LINUX_KARCH := arm64 -else ifneq (,$(findstring $(ARCH) , arceb )) - LINUX_KARCH := arc else ifneq (,$(findstring $(ARCH) , armeb )) LINUX_KARCH := arm else ifneq (,$(findstring $(ARCH) , loongarch64 )) @@ -94,8 +92,6 @@ else ifneq (,$(findstring $(ARCH) , powerpc64 )) LINUX_KARCH := powerpc else ifneq (,$(findstring $(ARCH) , riscv64 )) LINUX_KARCH := riscv -else ifneq (,$(findstring $(ARCH) , sh2 sh3 sh4 )) - LINUX_KARCH := sh else ifneq (,$(findstring $(ARCH) , i386 x86_64 )) LINUX_KARCH := x86 else diff --git a/include/target.mk b/include/target.mk index 45d0a6686b..9b692ddf42 100644 --- a/include/target.mk +++ b/include/target.mk @@ -252,21 +252,11 @@ ifeq ($(DUMP),1) CPU_CFLAGS_e5500:=-mcpu=e5500 CPU_CFLAGS_powerpc64:=-mcpu=powerpc64 endif - ifeq ($(ARCH),sparc) - CPU_TYPE = sparc - CPU_CFLAGS_ultrasparc = -mcpu=ultrasparc - endif ifeq ($(ARCH),aarch64) CPU_TYPE ?= generic CPU_CFLAGS_generic = -mcpu=generic CPU_CFLAGS_cortex-a53 = -mcpu=cortex-a53 endif - ifeq ($(ARCH),arc) - CPU_TYPE ?= arc700 - CPU_CFLAGS += -matomic - CPU_CFLAGS_arc700 = -mcpu=arc700 - CPU_CFLAGS_archs = -mcpu=archs - endif ifeq ($(ARCH),riscv64) CPU_TYPE ?= generic CPU_CFLAGS_generic:=-mabi=lp64d -march=rv64gc diff --git a/package/libs/openssl/Config.in b/package/libs/openssl/Config.in index ad2396df0b..4359fc86f6 100644 --- a/package/libs/openssl/Config.in +++ b/package/libs/openssl/Config.in @@ -38,7 +38,6 @@ config OPENSSL_WITH_ASM bool default y prompt "Compile with optimized assembly code" - depends on !arc help Disabling this option will reduce code size and performance. The increase in performance and size depends on the target diff --git a/package/libs/openssl/Makefile b/package/libs/openssl/Makefile index 014b130de9..b7eb5e6c21 100644 --- a/package/libs/openssl/Makefile +++ b/package/libs/openssl/Makefile @@ -94,7 +94,7 @@ $(call Package/openssl/Default) +OPENSSL_ENGINE_BUILTIN_AFALG:kmod-crypto-user \ +OPENSSL_ENGINE_BUILTIN_DEVCRYPTO:kmod-cryptodev \ +OPENSSL_ENGINE_BUILTIN_PADLOCK:kmod-crypto-hw-padlock \ - +(arm||armeb||mips||mipsel||powerpc||arc):libatomic + +(arm||armeb||mips||mipsel||powerpc):libatomic TITLE+= (libraries) ABI_VERSION:=$(firstword $(subst .,$(space),$(PKG_VERSION))) MENU:=1 diff --git a/package/libs/openssl/patches/110-openwrt_targets.patch b/package/libs/openssl/patches/110-openwrt_targets.patch index 3cc349fe6c..8cae4ab248 100644 --- a/package/libs/openssl/patches/110-openwrt_targets.patch +++ b/package/libs/openssl/patches/110-openwrt_targets.patch @@ -9,7 +9,7 @@ Signed-off-by: Eneas U de Queiroz --- /dev/null +++ b/Configurations/25-openwrt.conf -@@ -0,0 +1,55 @@ +@@ -0,0 +1,52 @@ +## Openwrt "CONFIG_ARCH" matching targets. + +# The targets need to end in '-openwrt' for the AFALG patch to work @@ -18,9 +18,6 @@ Signed-off-by: Eneas U de Queiroz + "linux-aarch64-openwrt" => { + inherit_from => [ "linux-aarch64" ], + }, -+ "linux-arc-openwrt" => { -+ inherit_from => [ "linux-latomic" ], -+ }, + "linux-arm-openwrt" => { + inherit_from => [ "linux-armv4" ], + }, diff --git a/package/libs/pcre2/Config.in b/package/libs/pcre2/Config.in index ce2cb79ce1..25e9cdd048 100644 --- a/package/libs/pcre2/Config.in +++ b/package/libs/pcre2/Config.in @@ -1,6 +1,6 @@ config PCRE2_JIT_ENABLED bool - depends on PACKAGE_libpcre2 && (aarch64 || aarch64_be || arm || i386 || i686 || x86_64 || mips || mipsel || mips64 || mips64el || powerpc || powerpc64 || powerpcle || sparc) + depends on PACKAGE_libpcre2 && (aarch64 || aarch64_be || arm || i386 || i686 || x86_64 || mips || mipsel || mips64 || mips64el || powerpc || powerpc64 || powerpcle) default y if (aarch64 || arm || i686 || x86_64) prompt "Enable JIT compiler support" help diff --git a/package/libs/toolchain/Makefile b/package/libs/toolchain/Makefile index 0db9c1a841..37f23902d2 100644 --- a/package/libs/toolchain/Makefile +++ b/package/libs/toolchain/Makefile @@ -142,7 +142,7 @@ define Package/libasan $(call Package/gcc/Default) NAME:=libasan TITLE:=Runtime library for AddressSanitizer in GCC - DEPENDS:=@USE_GLIBC +librt +libstdcpp @!mips64 @!mips64el @!arc + DEPENDS:=@USE_GLIBC +librt +libstdcpp @!mips64 @!mips64el ABI_VERSION:=5 endef @@ -171,7 +171,7 @@ define Package/libtsan $(call Package/gcc/Default) NAME:=libtsan TITLE:=Runtime library for ThreadSanitizer in GCC - DEPENDS:=@USE_GLIBC +librt +libstdcpp @!loongarch64 @!mips @!mipsel @!mips64 @!mips64el @!arc + DEPENDS:=@USE_GLIBC +librt +libstdcpp @!loongarch64 @!mips @!mipsel @!mips64 @!mips64el ABI_VERSION:=0 endef @@ -200,7 +200,7 @@ define Package/liblsan $(call Package/gcc/Default) NAME:=liblsan TITLE:=Runtime library for LeakSanitizer in GCC - DEPENDS:=@USE_GLIBC +librt +libstdcpp @!loongarch64 @!mips @!mipsel @!mips64 @!mips64el @!arc + DEPENDS:=@USE_GLIBC +librt +libstdcpp @!loongarch64 @!mips @!mipsel @!mips64 @!mips64el ABI_VERSION:=0 endef @@ -229,7 +229,7 @@ define Package/libubsan $(call Package/gcc/Default) NAME:=libubsan TITLE:=Runtime library for UndefinedBehaviorSanitizer in GCC - DEPENDS:=@USE_GLIBC +librt +libstdcpp @!mips64 @!mips64el @!arc + DEPENDS:=@USE_GLIBC +librt +libstdcpp @!mips64 @!mips64el ABI_VERSION:=1 endef diff --git a/target/Config.in b/target/Config.in index d56de80f5a..293567ec7c 100644 --- a/target/Config.in +++ b/target/Config.in @@ -142,13 +142,6 @@ config aarch64_be select BIG_ENDIAN bool -config arc - bool - -config arceb - select BIG_ENDIAN - bool - config arm bool @@ -172,9 +165,6 @@ config loongarch64 select ARCH_64BIT bool -config m68k - bool - config mips select BIG_ENDIAN bool @@ -204,24 +194,6 @@ config riscv64 select ARCH_64BIT bool -config sh3 - bool - -config sh3eb - select BIG_ENDIAN - bool - -config sh4 - bool - -config sh4eb - select BIG_ENDIAN - bool - -config sparc - select BIG_ENDIAN - bool - config x86_64 select ARCH_64BIT bool @@ -230,14 +202,11 @@ config ARCH string default "aarch64" if aarch64 default "aarch64_be" if aarch64_be - default "arc" if arc - default "arceb" if arceb default "arm" if arm default "armeb" if armeb default "i386" if i386 default "i686" if i686 default "loongarch64" if loongarch64 - default "m68k" if m68k default "mips" if mips default "mipsel" if mipsel default "mips64" if mips64 @@ -245,10 +214,5 @@ config ARCH default "powerpc" if powerpc default "powerpc64" if powerpc64 default "riscv64" if riscv64 - default "sh3" if sh3 - default "sh3eb" if sh3eb - default "sh4" if sh4 - default "sh4eb" if sh4eb - default "sparc" if sparc default "x86_64" if x86_64 diff --git a/target/linux/generic/pending-6.12/332-arc-add-OWRTDTB-section.patch b/target/linux/generic/pending-6.12/332-arc-add-OWRTDTB-section.patch deleted file mode 100644 index 5b943f3734..0000000000 --- a/target/linux/generic/pending-6.12/332-arc-add-OWRTDTB-section.patch +++ /dev/null @@ -1,84 +0,0 @@ -From bb0c3b0175240bf152fd7c644821a0cf9f77c37c Mon Sep 17 00:00:00 2001 -From: Evgeniy Didin -Date: Fri, 15 Mar 2019 18:53:38 +0300 -Subject: [PATCH] arc add OWRTDTB section - -This change allows OpenWRT to patch resulting kernel binary with -external .dtb. - -That allows us to re-use exactky the same vmlinux on different boards -given its ARC core configurations match (at least cache line sizes etc). - -""patch-dtb" searches for ASCII "OWRTDTB:" strign and copies external -.dtb right after it, keeping the string in place. - -Signed-off-by: Eugeniy Paltsev -Signed-off-by: Alexey Brodkin -Signed-off-by: Evgeniy Didin ---- - arch/arc/kernel/head.S | 10 ++++++++++ - arch/arc/kernel/setup.c | 4 +++- - arch/arc/kernel/vmlinux.lds.S | 13 +++++++++++++ - 3 files changed, 26 insertions(+), 1 deletion(-) - ---- a/arch/arc/kernel/head.S -+++ b/arch/arc/kernel/head.S -@@ -88,6 +88,16 @@ - DSP_EARLY_INIT - .endm - -+ ; Here "patch-dtb" will embed external .dtb -+ ; Note "patch-dtb" searches for ASCII "OWRTDTB:" string -+ ; and pastes .dtb right after it, hense the string precedes -+ ; __image_dtb symbol. -+ .section .owrt, "aw",@progbits -+ .ascii "OWRTDTB:" -+ENTRY(__image_dtb) -+ .fill 0x4000 -+END(__image_dtb) -+ - .section .init.text, "ax",@progbits - - ;---------------------------------------------------------------- ---- a/arch/arc/kernel/setup.c -+++ b/arch/arc/kernel/setup.c -@@ -450,6 +450,8 @@ static inline bool uboot_arg_invalid(uns - /* We always pass 0 as magic from U-boot */ - #define UBOOT_MAGIC_VALUE 0 - -+extern struct boot_param_header __image_dtb; -+ - void __init handle_uboot_args(void) - { - bool use_embedded_dtb = true; -@@ -488,7 +490,7 @@ void __init handle_uboot_args(void) - ignore_uboot_args: - - if (use_embedded_dtb) { -- machine_desc = setup_machine_fdt(__dtb_start); -+ machine_desc = setup_machine_fdt(&__image_dtb); - if (!machine_desc) - panic("Embedded DT invalid\n"); - } ---- a/arch/arc/kernel/vmlinux.lds.S -+++ b/arch/arc/kernel/vmlinux.lds.S -@@ -27,6 +27,19 @@ SECTIONS - - . = CONFIG_LINUX_LINK_BASE; - -+ /* -+ * In OpenWRT we want to patch built binary embedding .dtb of choice. -+ * This is implemented with "patch-dtb" utility which searches for -+ * "OWRTDTB:" string in first 16k of image and if it is found -+ * copies .dtb right after mentioned string. -+ * -+ * Note: "OWRTDTB:" won't be overwritten with .dtb, .dtb will follow it. -+ */ -+ .owrt : { -+ *(.owrt) -+ . = ALIGN(PAGE_SIZE); -+ } -+ - _int_vec_base_lds = .; - .vector : { - *(.vector) diff --git a/target/linux/generic/pending-6.12/333-arc-enable-unaligned-access-in-kernel-mode.patch b/target/linux/generic/pending-6.12/333-arc-enable-unaligned-access-in-kernel-mode.patch deleted file mode 100644 index 2c9808de2a..0000000000 --- a/target/linux/generic/pending-6.12/333-arc-enable-unaligned-access-in-kernel-mode.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Alexey Brodkin -Subject: arc: enable unaligned access in kernel mode - -This enables misaligned access handling even in kernel mode. -Some wireless drivers (ath9k-htc and mt7601u) use misaligned accesses -here and there and to cope with that without fixing stuff in the drivers -we're just gracefully handling it on ARC. - -Signed-off-by: Alexey Brodkin ---- - arch/arc/kernel/unaligned.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/arch/arc/kernel/unaligned.c -+++ b/arch/arc/kernel/unaligned.c -@@ -203,7 +203,7 @@ int misaligned_fixup(unsigned long addre - char buf[TASK_COMM_LEN]; - - /* handle user mode only and only if enabled by sysadmin */ -- if (!user_mode(regs) || !unaligned_enabled) -+ if (!unaligned_enabled) - return 1; - - if (no_unaligned_warning) { diff --git a/target/linux/generic/pending-6.18/332-arc-add-OWRTDTB-section.patch b/target/linux/generic/pending-6.18/332-arc-add-OWRTDTB-section.patch deleted file mode 100644 index 5b943f3734..0000000000 --- a/target/linux/generic/pending-6.18/332-arc-add-OWRTDTB-section.patch +++ /dev/null @@ -1,84 +0,0 @@ -From bb0c3b0175240bf152fd7c644821a0cf9f77c37c Mon Sep 17 00:00:00 2001 -From: Evgeniy Didin -Date: Fri, 15 Mar 2019 18:53:38 +0300 -Subject: [PATCH] arc add OWRTDTB section - -This change allows OpenWRT to patch resulting kernel binary with -external .dtb. - -That allows us to re-use exactky the same vmlinux on different boards -given its ARC core configurations match (at least cache line sizes etc). - -""patch-dtb" searches for ASCII "OWRTDTB:" strign and copies external -.dtb right after it, keeping the string in place. - -Signed-off-by: Eugeniy Paltsev -Signed-off-by: Alexey Brodkin -Signed-off-by: Evgeniy Didin ---- - arch/arc/kernel/head.S | 10 ++++++++++ - arch/arc/kernel/setup.c | 4 +++- - arch/arc/kernel/vmlinux.lds.S | 13 +++++++++++++ - 3 files changed, 26 insertions(+), 1 deletion(-) - ---- a/arch/arc/kernel/head.S -+++ b/arch/arc/kernel/head.S -@@ -88,6 +88,16 @@ - DSP_EARLY_INIT - .endm - -+ ; Here "patch-dtb" will embed external .dtb -+ ; Note "patch-dtb" searches for ASCII "OWRTDTB:" string -+ ; and pastes .dtb right after it, hense the string precedes -+ ; __image_dtb symbol. -+ .section .owrt, "aw",@progbits -+ .ascii "OWRTDTB:" -+ENTRY(__image_dtb) -+ .fill 0x4000 -+END(__image_dtb) -+ - .section .init.text, "ax",@progbits - - ;---------------------------------------------------------------- ---- a/arch/arc/kernel/setup.c -+++ b/arch/arc/kernel/setup.c -@@ -450,6 +450,8 @@ static inline bool uboot_arg_invalid(uns - /* We always pass 0 as magic from U-boot */ - #define UBOOT_MAGIC_VALUE 0 - -+extern struct boot_param_header __image_dtb; -+ - void __init handle_uboot_args(void) - { - bool use_embedded_dtb = true; -@@ -488,7 +490,7 @@ void __init handle_uboot_args(void) - ignore_uboot_args: - - if (use_embedded_dtb) { -- machine_desc = setup_machine_fdt(__dtb_start); -+ machine_desc = setup_machine_fdt(&__image_dtb); - if (!machine_desc) - panic("Embedded DT invalid\n"); - } ---- a/arch/arc/kernel/vmlinux.lds.S -+++ b/arch/arc/kernel/vmlinux.lds.S -@@ -27,6 +27,19 @@ SECTIONS - - . = CONFIG_LINUX_LINK_BASE; - -+ /* -+ * In OpenWRT we want to patch built binary embedding .dtb of choice. -+ * This is implemented with "patch-dtb" utility which searches for -+ * "OWRTDTB:" string in first 16k of image and if it is found -+ * copies .dtb right after mentioned string. -+ * -+ * Note: "OWRTDTB:" won't be overwritten with .dtb, .dtb will follow it. -+ */ -+ .owrt : { -+ *(.owrt) -+ . = ALIGN(PAGE_SIZE); -+ } -+ - _int_vec_base_lds = .; - .vector : { - *(.vector) diff --git a/target/linux/generic/pending-6.18/333-arc-enable-unaligned-access-in-kernel-mode.patch b/target/linux/generic/pending-6.18/333-arc-enable-unaligned-access-in-kernel-mode.patch deleted file mode 100644 index 002db0d57e..0000000000 --- a/target/linux/generic/pending-6.18/333-arc-enable-unaligned-access-in-kernel-mode.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Alexey Brodkin -Subject: arc: enable unaligned access in kernel mode - -This enables misaligned access handling even in kernel mode. -Some wireless drivers (ath9k-htc and mt7601u) use misaligned accesses -here and there and to cope with that without fixing stuff in the drivers -we're just gracefully handling it on ARC. - -Signed-off-by: Alexey Brodkin ---- - arch/arc/kernel/unaligned.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/arch/arc/kernel/unaligned.c -+++ b/arch/arc/kernel/unaligned.c -@@ -202,7 +202,7 @@ int misaligned_fixup(unsigned long addre - struct disasm_state state; - - /* handle user mode only and only if enabled by sysadmin */ -- if (!user_mode(regs) || !unaligned_enabled) -+ if (!unaligned_enabled) - return 1; - - if (no_unaligned_warning) { diff --git a/toolchain/Config.in b/toolchain/Config.in index 056932bf86..0168c404dd 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -222,7 +222,6 @@ menuconfig TOOLCHAINOPTS menuconfig EXTRA_TARGET_ARCH bool prompt "Enable an extra toolchain target architecture" if TOOLCHAINOPTS - depends on !sparc help Some builds may require a 'biarch' toolchain. This option allows you to specify an additional target arch. @@ -298,7 +297,6 @@ comment "C Library" choice prompt "C Library implementation" if TOOLCHAINOPTS - default LIBC_USE_GLIBC if arc default LIBC_USE_MUSL help Select the C library implementation. @@ -310,7 +308,6 @@ choice config LIBC_USE_MUSL select USE_MUSL bool "Use musl" - depends on !arc endchoice @@ -356,11 +353,10 @@ config USE_LLVM_BUILD bool config USE_GLIBC - default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN && (arc) bool config USE_MUSL - default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN && !(arc) + default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN bool config SSP_SUPPORT diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk index ae162ad6f5..b53c508dc7 100644 --- a/toolchain/gcc/common.mk +++ b/toolchain/gcc/common.mk @@ -108,7 +108,6 @@ GCC_CONFIGURE:= \ $(call qstrip,$(CONFIG_EXTRA_GCC_CONFIG_OPTIONS)) \ $(if $(CONFIG_mips64)$(CONFIG_mips64el),--with-arch=mips64 \ --with-abi=$(call qstrip,$(CONFIG_MIPS64_ABI))) \ - $(if $(CONFIG_arc),--with-cpu=$(CONFIG_CPU_TYPE)) \ $(if $(CONFIG_powerpc64), $(if $(CONFIG_USE_MUSL),--with-abi=elfv2)) \ --with-system-zlib=$(STAGING_DIR_HOST) \ --with-zstd=$(STAGING_DIR_HOST) \