On Wed, 2024-08-28 at 13:36 +0200, Jason A. Donenfeld wrote: > On Tue, Aug 27, 2024 at 05:29:56PM +0200, Jason A. Donenfeld wrote: > > On Tue, Aug 27, 2024 at 5:29 PM Xi Ruoyao <xry111@xxxxxxxxxxx> wrote: > > > Or, I can add $(KHDR_INCLUDES) but also keep > > > -isystem $(top_srcdir)/include/uapi, so "make -C tools/testing/selftests > > > TARGETS=vDSO" will still (happens to) work on x86 and ppc (without > > > headers in kernel-tree/usr). > > > > Oh, the porquenolosdos solution. That sounds good to me. > > > Does the below work for you? Yes, it works. > From 0a769491e0193cdf9728a23d02be5e6be975b513 Mon Sep 17 00:00:00 2001 > From: Xi Ruoyao <xry111@xxxxxxxxxxx> > Date: Wed, 28 Aug 2024 13:29:57 +0200 > Subject: [PATCH] selftests/vDSO: use KHDR_INCLUDES to locate UAPI headers for > vdso_test_getrandom > > Building test_vdso_getrandom currently leads to following issue: > > In file included from /home/xry111/git-repos/linux/tools/include/linux/compiler_types.h:36, > from /home/xry111/git-repos/linux/include/uapi/linux/stddef.h:5, > from /home/xry111/git-repos/linux/include/uapi/linux/posix_types.h:5, > from /usr/include/asm/sigcontext.h:12, > from /usr/include/bits/sigcontext.h:30, > from /usr/include/signal.h:301, > from vdso_test_getrandom.c:14: > /home/xry111/git-repos/linux/tools/include/linux/compiler-gcc.h:3:2: error: #error "Please don't include <linux/compiler-gcc.h> directly, include <linux/compiler.h> instead." > 3 | #error "Please don't include <linux/compiler-gcc.h> directly, include <linux/compiler.h> instead." > | ^~~~~ > > It's because the compiler_types.h inclusion in > include/uapi/linux/stddef.h is expected to be removed by the > header_install.sh script, as compiler_types.h shouldn't be used from > user space. > > Add KHDR_INCLUDES before the existing include/uapi inclusion so that > usr/include takes precedence if it's populated. > > Signed-off-by: Xi Ruoyao <xry111@xxxxxxxxxxx> > Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx> > --- > tools/testing/selftests/vDSO/Makefile | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tools/testing/selftests/vDSO/Makefile b/tools/testing/selftests/vDSO/Makefile > index d1452c7d6d4f..13a626ef64f7 100644 > --- a/tools/testing/selftests/vDSO/Makefile > +++ b/tools/testing/selftests/vDSO/Makefile > @@ -39,6 +39,7 @@ $(OUTPUT)/vdso_test_correctness: LDFLAGS += -ldl > > $(OUTPUT)/vdso_test_getrandom: parse_vdso.c > $(OUTPUT)/vdso_test_getrandom: CFLAGS += -isystem $(top_srcdir)/tools/include \ > + $(KHDR_INCLUDES) \ > -isystem $(top_srcdir)/include/uapi > > $(OUTPUT)/vdso_test_chacha: $(top_srcdir)/tools/arch/$(ARCH)/vdso/vgetrandom-chacha.S > -- > 2.46.0 > > -- Xi Ruoyao <xry111@xxxxxxxxxxx> School of Aerospace Science and Technology, Xidian University