Re: [PATCH v2 16/16] selftests: vDSO: vdso_standalone_test_x86: Switch to nolibc

From: Jason Gunthorpe

Date: Wed Sep 17 2025 - 11:33:17 EST


On Wed, Feb 26, 2025 at 12:44:55PM +0100, Thomas Weißschuh wrote:

> -$(OUTPUT)/vdso_standalone_test_x86: vdso_standalone_test_x86.c parse_vdso.c
> -$(OUTPUT)/vdso_standalone_test_x86: CFLAGS +=-nostdlib -fno-asynchronous-unwind-tables -fno-stack-protector
> +$(OUTPUT)/vdso_standalone_test_x86: vdso_standalone_test_x86.c parse_vdso.c | headers
> +$(OUTPUT)/vdso_standalone_test_x86: CFLAGS:=$(CFLAGS_NOLIBC) $(CFLAGS)

This addition of "| headers" breaks O=build builds. ie this:

$ make O=build-x86 allnoconfig -s -j 14
$ make O=build-x86 -s -j 14
$ make O=build-x86 kselftest-all -s -j 16 &> /dev/null || true
$ make O=build-x86 -s -j 14

Fails with:

***
*** The source tree is not clean, please run 'make mrproper'
*** in /home/jgg/oss/wip/kselftests_dirty
***

Because the build now spews stuff outside the build directory that it
should not do.. Bisection points to this patch and removing the "|
headers" makes it stop doing that..

Any idea how to fix it?

Thanks,
Jason