On 4/11/26 10:23 am, Sasha Levin wrote:
The powerpc Makefiles include lib.mk and then define their own
emit_tests rule, so every selftests build that includes powerpc warns,
on any architecture:
Makefile:60: warning: overriding recipe for target 'emit_tests'
../lib.mk:183: warning: ignoring old recipe for target 'emit_tests'
lib.mk used to keep the recipe in an EMIT_TESTS variable that Makefiles
could override, as they still do with RUN_TESTS, INSTALL_RULE and
CLEAN. Commit d4e59a536f50 ("selftests: Use runner.sh for emit
targets") dropped the variable, and commit 58b33e78a317
("selftests/powerpc: Fix emit_tests to work with run_kselftest.sh")
then replaced the powerpc EMIT_TESTS definitions with rules.
Bring EMIT_TESTS back in lib.mk and override it in the powerpc Makefiles
again. Mark the lib.mk recipe with '+', so that the powerpc sub-makes
still get the jobserver, as they did when $(MAKE) was in the rule
itself. The emitted test lists don't change.
Fixes: 58b33e78a317 ("selftests/powerpc: Fix emit_tests to work with run_kselftest.sh")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
Checked with "make ARCH=powerpc emit_tests" in
tools/testing/selftests/powerpc, which lists the same 186 tests as
before, and with an x86_64 selftests install, whose kselftest-list.txt
doesn't change. make -j2 --jobserver-style=pipe doesn't warn about the
jobserver.
tools/testing/selftests/lib.mk | 6 +++++-
tools/testing/selftests/powerpc/Makefile | 3 ++-
tools/testing/selftests/powerpc/pmu/Makefile | 3 ++-
3 files changed, 9 insertions(+), 3 deletions(-)
Thanks, this is the right fix. I should have done this in 58b33e78a317 but
just wanted to get it fixed without touching lib.mk, which was lazy.
Acked-by: Michael Ellerman <mpe@kernel.org>
cheers