Re: [PATCH] perf arm64: Fix mksyscalltbl when system kernel headers are ahead of the kernel

From: Arnaldo Carvalho de Melo
Date: Tue May 21 2019 - 09:31:24 EST


Em Tue, May 21, 2019 at 06:02:03AM +0300, Vitaly Chikunov escreveu:
> When a host system has kernel headers that are newer than a compiling
> kernel, mksyscalltbl fails with errors such as:
>
> <stdin>: In function 'main':
> <stdin>:271:44: error: '__NR_kexec_file_load' undeclared (first use in this function)
> <stdin>:271:44: note: each undeclared identifier is reported only once for each function it appears in
> <stdin>:272:46: error: '__NR_pidfd_send_signal' undeclared (first use in this function)
> <stdin>:273:43: error: '__NR_io_uring_setup' undeclared (first use in this function)
> <stdin>:274:43: error: '__NR_io_uring_enter' undeclared (first use in this function)
> <stdin>:275:46: error: '__NR_io_uring_register' undeclared (first use in this function)
> tools/perf/arch/arm64/entry/syscalls//mksyscalltbl: line 48: /tmp/create-table-xvUQdD: Permission denied
>
> mksyscalltbl is compiled with default host includes, but run with

It shouldn't :-\ So with this you're making it use the ones shipped in
tools/include? Good, I'll test it, thanks!

- Arnaldo

> compiling kernel tree includes, causing some syscall numbers being
> undeclared.
>
> Signed-off-by: Vitaly Chikunov <vt@xxxxxxxxxxxx>
> Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> Cc: Hendrik Brueckner <brueckner@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
> Cc: Kim Phillips <kim.phillips@xxxxxxx>
> Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: Ravi Bangoria <ravi.bangoria@xxxxxxxxxxxxxxxxxx>
> ---
> tools/perf/arch/arm64/entry/syscalls/mksyscalltbl | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl b/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl
> index c88fd32563eb..459469b7222c 100755
> --- a/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl
> +++ b/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl
> @@ -56,7 +56,7 @@ create_table()
> echo "};"
> }
>
> -$gcc -E -dM -x c $input \
> +$gcc -E -dM -x c -I $incpath/include/uapi $input \
> |sed -ne 's/^#define __NR_//p' \
> |sort -t' ' -k2 -nu \
> |create_table
> --
> 2.11.0

--

- Arnaldo