[PATCH] selftests/prctl: select the tests by ARCH alone
From: Sasha Levin
Date: Wed Nov 04 2026 - 16:36:25 EST
The prctl tests are only built for x86, and only when CROSS_COMPILE is
not set. In every other case the Makefile defines no rules, so building
or installing the suite fails:
make[1]: *** No targets. Stop.
TuxMake sets CROSS_COMPILE for every build, native x86_64 ones
included, so CI systems that use it, such as KernelCI, see prctl fail
on every architecture and never build its tests.
Like breakpoints, ipc and x86, decide by ARCH alone whether the tests
are built, and give the Makefile empty targets on other architectures,
as sparc64 and drivers/s390x/uvdevice do, so that the suite builds and
installs nothing there.
Fixes: 92dd8dd4d07f ("selftests: move prctl tests from Documentation/prctl")
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
Found with KernelCI-style TuxMake builds that record per-suite results
with KSFT_BUILD_REPORT. With this, an x86_64 build with CROSS_COMPILE
set builds and installs the five tests, arm64 and arm builds succeed
without installing anything, and the tests also compile for i386.
tools/testing/selftests/prctl/Makefile | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/prctl/Makefile b/tools/testing/selftests/prctl/Makefile
index e770e86fad9ac..b230e4d955061 100644
--- a/tools/testing/selftests/prctl/Makefile
+++ b/tools/testing/selftests/prctl/Makefile
@@ -1,5 +1,4 @@
# SPDX-License-Identifier: GPL-2.0
-ifndef CROSS_COMPILE
ARCH ?= $(shell uname -m 2>/dev/null || echo not)
override ARCH := $(shell echo $(ARCH) | sed -e s/i.86/x86/ -e s/x86_64/x86/)
@@ -10,5 +9,8 @@ all: $(TEST_PROGS)
include ../lib.mk
-endif
+else
+nothing:
+.PHONY: all clean run_tests install
+.SILENT:
endif
--
2.53.0