On Tue, Aug 27, 2024 at 02:07:59PM +0000, LEROY Christophe wrote: > Le 27/08/2024 à 15:58, Jason A. Donenfeld a écrit : > > On Tue, Aug 27, 2024 at 09:20:16PM +0800, Xi Ruoyao wrote: > >> 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 the > >> user space. > > > > Hmm. If I run this on my current 6.10-based system, I get: > > > > $ make > > CC vdso_standalone_test_x86 > > CC vdso_test_getrandom > > vdso_test_getrandom.c:43:41: error: field ‘params’ has incomplete type > > 43 | struct vgetrandom_opaque_params params; > > | ^~~~~~ > > > > Because KHDR_INCLUDES is /usr/include instead. > > > > Christophe, any suggestions on this one? And any idea why loongarch is > > hitting it, but not x86 or ppc? > > > > > Can you 'make clean' then provide the output of 'make V=1' ? With*out* this patch, the output is: gcc -std=gnu99 -D_GNU_SOURCE= -isystem /home/zx2c4/Projects/random-linux/tools/testing/selftests/../../../tools/include -isystem /home/zx2c4/Projects/random-linux/tools/testing/selftests/../../../include/uapi vdso_test_getrandom.c parse_vdso.c -o /home/zx2c4/Projects/random-linux/tools/testing/selftests/vDSO/vdso_test_getrandom *With* this patch, the output is: gcc -std=gnu99 -D_GNU_SOURCE= -isystem /home/zx2c4/Projects/random-linux/tools/testing/selftests/../../../tools/include -isystem /home/zx2c4/Projects/random-linux/tools/testing/selftests/../../../usr/include vdso_test_getrandom.c parse_vdso.c -o /home/zx2c4/Projects/random-linux/tools/testing/selftests/vDSO/vdso_test_getrandom vdso_test_getrandom.c:43:41: error: field ‘params’ has incomplete type 43 | struct vgetrandom_opaque_params params; | ^~~~~~ $ ls /home/zx2c4/Projects/random-linux/tools/testing/selftests/../../../usr/include headers_check.pl Makefile Since I don't build in there, this directory is empty. Jason