[PATCH v3 1/2] selftests/nolibc: remove the x32 testcase
From: Sebastian Andrzej Siewior
Date: Thu Aug 13 2026 - 07:06:36 EST
From: Thomas Weißschuh <linux@xxxxxxxxxxxxxx>
Support for the x32 ABI is about to be removed from the kernel itself.
This will break the nolibc x32 testcase.
Remove the testcase to avoid breaking the testsuite in general.
This also ends official support from nolibc proper for x32. But as there
is no clear x32-specific code in the nolibc codebase, there won't be a
removal patch for that.
Signed-off-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
---
tools/testing/selftests/nolibc/Makefile.nolibc | 6 ------
tools/testing/selftests/nolibc/run-tests.sh | 7 +------
2 files changed, 1 insertion(+), 12 deletions(-)
diff --git a/tools/testing/selftests/nolibc/Makefile.nolibc b/tools/testing/selftests/nolibc/Makefile.nolibc
index 06f881e2e90c3..dadde26b9d3bf 100644
--- a/tools/testing/selftests/nolibc/Makefile.nolibc
+++ b/tools/testing/selftests/nolibc/Makefile.nolibc
@@ -47,7 +47,6 @@ XARCH_riscv = riscv64
XARCH = $(or $(XARCH_$(ARCH)),$(ARCH))
# map from user input variants to their kernel supported architectures
-ARCH_x32 = x86
ARCH_armthumb = arm
ARCH_ppc = powerpc
ARCH_ppc64 = powerpc
@@ -70,7 +69,6 @@ ARCH := $(or $(ARCH_$(XARCH)),$(XARCH))
# kernel image names by architecture
IMAGE_i386 = arch/x86/boot/bzImage
IMAGE_x86_64 = arch/x86/boot/bzImage
-IMAGE_x32 = arch/x86/boot/bzImage
IMAGE_x86 = arch/x86/boot/bzImage
IMAGE_arm64 = arch/arm64/boot/Image
IMAGE_arm = arch/arm/boot/zImage
@@ -106,7 +104,6 @@ DEFCONFIG_sh4 = rts7751r2dplus_defconfig
DEFCONFIG_openrisc = virt_defconfig
DEFCONFIG = $(or $(DEFCONFIG_$(XARCH)),defconfig)
-EXTRACONFIG_x32 = -e CONFIG_X86_X32_ABI
EXTRACONFIG_arm = -e CONFIG_NAMESPACES
EXTRACONFIG_armthumb = -e CONFIG_NAMESPACES
EXTRACONFIG_sparc32 = -e CONFIG_TMPFS
@@ -118,7 +115,6 @@ EXTRACONFIG = $(EXTRACONFIG_$(XARCH))
TEST =
# QEMU_ARCH: arch names used by qemu
-QEMU_ARCH_x32 = x86_64
QEMU_ARCH_x86 = x86_64
QEMU_ARCH_arm64 = aarch64
QEMU_ARCH_armthumb = arm
@@ -150,7 +146,6 @@ endif
# QEMU_ARGS : some arch-specific args to pass to qemu
QEMU_ARGS_i386 = -M pc -append "console=ttyS0,9600 i8042.noaux panic=-1 $(TEST:%=NOLIBC_TEST=%)"
QEMU_ARGS_x86_64 = -M pc -append "console=ttyS0,9600 i8042.noaux panic=-1 $(TEST:%=NOLIBC_TEST=%)"
-QEMU_ARGS_x32 = -M pc -append "console=ttyS0,9600 i8042.noaux panic=-1 $(TEST:%=NOLIBC_TEST=%)"
QEMU_ARGS_x86 = -M pc -append "console=ttyS0,9600 i8042.noaux panic=-1 $(TEST:%=NOLIBC_TEST=%)"
QEMU_ARGS_arm64 = -M virt -cpu cortex-a53 -append "panic=-1 $(TEST:%=NOLIBC_TEST=%)"
QEMU_ARGS_arm = -M virt -append "panic=-1 $(TEST:%=NOLIBC_TEST=%)"
@@ -187,7 +182,6 @@ Q=@
endif
CFLAGS_i386 = $(call cc-option,-m32)
-CFLAGS_x32 = -mx32
CFLAGS_arm = -marm
CFLAGS_armthumb = -mthumb -march=armv6t2
CFLAGS_parisc32 = -mfast-indirect-calls
diff --git a/tools/testing/selftests/nolibc/run-tests.sh b/tools/testing/selftests/nolibc/run-tests.sh
index 6460e25001de8..78d59d9e4a8aa 100755
--- a/tools/testing/selftests/nolibc/run-tests.sh
+++ b/tools/testing/selftests/nolibc/run-tests.sh
@@ -18,7 +18,7 @@ test_mode=system
werror=1
llvm=
all_archs=(
- i386 x86_64 x32
+ i386 x86_64
arm64 arm armthumb
mips32le mips32be mipsn32le mipsn32be mips64le mips64be
openrisc
@@ -118,7 +118,6 @@ crosstool_arch() {
mips*) echo mips;;
s390*) echo s390;;
sparc*) echo sparc64;;
- x32*) echo x86_64;;
parisc32) echo hppa;;
*) echo "$1";;
esac
@@ -197,10 +196,6 @@ test_arch() {
echo "Unsupported configuration"
return
fi
- if [ "$arch" = "x32" ] && [ "$test_mode" = "user" ]; then
- echo "Unsupported configuration"
- return
- fi
mkdir -p "$build_dir"
swallow_output "${MAKE[@]}" defconfig
--
2.55.0