Re: [tip:sched/core 7/28] rseq.c:139:37: error: 'AT_RSEQ_ALIGN' undeclared; did you mean 'R_SH_ALIGN'?

From: Mathieu Desnoyers
Date: Mon Jan 16 2023 - 15:18:30 EST


On 2023-01-16 14:40, kernel test robot wrote:
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched/core
head: 79ba1e607d68178db7d3fe4f6a4aa38f06805e7b
commit: 03f5c0272d1b59343144e199becc911dae52c37e [7/28] selftests/rseq: Use ELF auxiliary vector for extensible rseq
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce:
# https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=03f5c0272d1b59343144e199becc911dae52c37e
git remote add tip https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
git fetch --no-tags tip sched/core
git checkout 03f5c0272d1b59343144e199becc911dae52c37e
make O=/tmp/kselftest headers
make O=/tmp/kselftest -C tools/testing/selftests

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>

In order to fix this, I need to change -I../../../../usr/include/ for $(KHDR_INCLUDES) in tools/testing/selftests/rseq/Makefile

I can find 25 odd uses of the same pattern in the kernel selftests. Should I fix them all in one go ?

grep -r "../../../../usr/include/" tools/testing/selftests/ | wc -l
25

AFAIU it typically works just because the build system happens to have recent enough kernel headers installed in the root environment.

Thanks,

Mathieu



All errors (new ones prefixed by >>):

rseq.c: In function 'get_rseq_feature_size':
rseq.c:139:37: error: 'AT_RSEQ_ALIGN' undeclared (first use in this function); did you mean 'R_SH_ALIGN'?
139 | auxv_rseq_align = getauxval(AT_RSEQ_ALIGN);
| ^~~~~~~~~~~~~
| R_SH_ALIGN
rseq.c:139:37: note: each undeclared identifier is reported only once for each function it appears in
rseq.c:142:44: error: 'AT_RSEQ_FEATURE_SIZE' undeclared (first use in this function); did you mean 'ORIG_RSEQ_FEATURE_SIZE'?
142 | auxv_rseq_feature_size = getauxval(AT_RSEQ_FEATURE_SIZE);
| ^~~~~~~~~~~~~~~~~~~~
| ORIG_RSEQ_FEATURE_SIZE


--
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com