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