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

Michael Petlan
2019-05-21T14:34:57Z

On Tue, 21 May 2019, Arnaldo Carvalho de Melo wrote:
> 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
>

I've hit the issue too, this patch fixes it for me.
Tested.

Michael

> > compiling kernel tree includes, causing some syscall numbers being
> > undeclared.
> >
> > Signed-off-by: Vitaly Chikunov <vt@altlinux.org>
> > Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
> > Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
> > Cc: Hendrik Brueckner <brueckner@linux.ibm.com>
> > Cc: Ingo Molnar <mingo@redhat.com>
> > Cc: Jiri Olsa <jolsa@redhat.com>
> > Cc: Kim Phillips <kim.phillips@arm.com>
> > Cc: Namhyung Kim <namhyung@kernel.org>
> > Cc: Peter Zijlstra <peterz@infradead.org>
> > Cc: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
> > ---
> > 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
>