* [PATCH] perf arm64: Fix mksyscalltbl when system kernel headers are ahead of the kernel @ 2019-05-21 3:02 Vitaly Chikunov 2019-05-21 13:28 ` Arnaldo Carvalho de Melo 2019-05-28 21:22 ` [tip:perf/urgent] " tip-bot for Vitaly Chikunov 0 siblings, 2 replies; 8+ messages in thread From: Vitaly Chikunov @ 2019-05-21 3:02 UTC (permalink / raw) To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, linux-kernel Cc: Alexander Shishkin, Hendrik Brueckner, Jiri Olsa, Kim Phillips, Namhyung Kim, Ravi Bangoria 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 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 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] perf arm64: Fix mksyscalltbl when system kernel headers are ahead of the kernel 2019-05-21 3:02 [PATCH] perf arm64: Fix mksyscalltbl when system kernel headers are ahead of the kernel Vitaly Chikunov @ 2019-05-21 13:28 ` Arnaldo Carvalho de Melo 2019-05-21 14:34 ` Michael Petlan 2019-05-28 21:22 ` [tip:perf/urgent] " tip-bot for Vitaly Chikunov 1 sibling, 1 reply; 8+ messages in thread From: Arnaldo Carvalho de Melo @ 2019-05-21 13:28 UTC (permalink / raw) To: Vitaly Chikunov Cc: Peter Zijlstra, Ingo Molnar, linux-kernel, Alexander Shishkin, Hendrik Brueckner, Jiri Olsa, Kim Phillips, Namhyung Kim, Ravi Bangoria 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@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 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] perf arm64: Fix mksyscalltbl when system kernel headers are ahead of the kernel 2019-05-21 13:28 ` Arnaldo Carvalho de Melo @ 2019-05-21 14:34 ` Michael Petlan 2019-05-21 15:19 ` Arnaldo Carvalho de Melo 0 siblings, 1 reply; 8+ messages in thread From: Michael Petlan @ 2019-05-21 14:34 UTC (permalink / raw) To: Arnaldo Carvalho de Melo Cc: Vitaly Chikunov, Peter Zijlstra, Ingo Molnar, linux-kernel, Alexander Shishkin, Hendrik Brueckner, Jiri Olsa, Kim Phillips, Namhyung Kim, Ravi Bangoria 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 > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] perf arm64: Fix mksyscalltbl when system kernel headers are ahead of the kernel 2019-05-21 14:34 ` Michael Petlan @ 2019-05-21 15:19 ` Arnaldo Carvalho de Melo 2019-05-21 18:03 ` Arnaldo Carvalho de Melo 0 siblings, 1 reply; 8+ messages in thread From: Arnaldo Carvalho de Melo @ 2019-05-21 15:19 UTC (permalink / raw) To: Michael Petlan Cc: Arnaldo Carvalho de Melo, Vitaly Chikunov, Peter Zijlstra, Ingo Molnar, linux-kernel, Alexander Shishkin, Hendrik Brueckner, Jiri Olsa, Kim Phillips, Namhyung Kim, Ravi Bangoria Em Tue, May 21, 2019 at 04:34:47PM +0200, Michael Petlan escreveu: > 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. Thanks, I'll add your Tested-by, appreciated. - Arnaldo ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] perf arm64: Fix mksyscalltbl when system kernel headers are ahead of the kernel 2019-05-21 15:19 ` Arnaldo Carvalho de Melo @ 2019-05-21 18:03 ` Arnaldo Carvalho de Melo 2019-05-21 20:53 ` Vitaly Chikunov 0 siblings, 1 reply; 8+ messages in thread From: Arnaldo Carvalho de Melo @ 2019-05-21 18:03 UTC (permalink / raw) To: Vitaly Chikunov Cc: Michael Petlan, Peter Zijlstra, Ingo Molnar, linux-kernel, Alexander Shishkin, Hendrik Brueckner, Jiri Olsa, Kim Phillips, Namhyung Kim, Ravi Bangoria Em Tue, May 21, 2019 at 12:19:18PM -0300, Arnaldo Carvalho de Melo escreveu: > Em Tue, May 21, 2019 at 04:34:47PM +0200, Michael Petlan escreveu: > > 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! > > I've hit the issue too, this patch fixes it for me. > > Tested. > Thanks, I'll add your Tested-by, appreciated. Was this in a cross-build environment? Native? I'm asking because I test this on several cross build environments, like on ubuntu 19.04 cross building to aarch64: perfbuilder@15e0b7c211c2:/git/perf$ grep PRETTY_NAME /etc/os-release PRETTY_NAME="Ubuntu 19.04" perfbuilder@15e0b7c211c2:/git/perf$ aarch64-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=aarch64-linux-gnu-gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/aarch64-linux-gnu/8/lto-wrapper Target: aarch64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 8.3.0-6ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --disable-libphobos --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=aarch64-linux-gnu --program-prefix=aarch64-linux-gnu- --includedir=/usr/aarch64-linux-gnu/include Thread model: posix gcc version 8.3.0 (Ubuntu/Linaro 8.3.0-6ubuntu1) perfbuilder@15e0b7c211c2:/git/perf$ I'm building it as: $ make CORESIGHT=1 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- EXTRA_CFLAGS= -C /git/perf/tools/perf O=/tmp/build/perf The end result is: $ file /tmp/build/perf/perf /tmp/build/perf/perf: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=5b4fd9f0f92cc331e43e6e4da9791c473524383d, for GNU/Linux 3.7.0, with debug_info, not stripped I.e. it didn't fail the build, but in the end these new syscalls are not there, while with your patch, they are: perfbuilder@6e20056ed532:/git/perf$ tail /tmp/build/perf/arch/arm64/include/generated/asm/syscalls.c [292] = "io_pgetevents", [293] = "rseq", [294] = "kexec_file_load", [424] = "pidfd_send_signal", [425] = "io_uring_setup", [426] = "io_uring_enter", [427] = "io_uring_register", [428] = "syscalls", #define SYSCALLTBL_ARM64_MAX_ID 428 }; perfbuilder@6e20056ed532:/git/perf$ perfbuilder@6e20056ed532:/git/perf$ strings /tmp/build/perf/perf | egrep '^(io_uring_|pidfd_|kexec_file)' kexec_file_load pidfd_send_signal io_uring_setup io_uring_enter io_uring_register perfbuilder@6e20056ed532:/git/perf$ Thanks, applied. - Arnaldo ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] perf arm64: Fix mksyscalltbl when system kernel headers are ahead of the kernel 2019-05-21 18:03 ` Arnaldo Carvalho de Melo @ 2019-05-21 20:53 ` Vitaly Chikunov 2019-05-22 0:29 ` Arnaldo Carvalho de Melo 0 siblings, 1 reply; 8+ messages in thread From: Vitaly Chikunov @ 2019-05-21 20:53 UTC (permalink / raw) To: Arnaldo Carvalho de Melo Cc: Michael Petlan, Peter Zijlstra, Ingo Molnar, linux-kernel, Alexander Shishkin, Hendrik Brueckner, Jiri Olsa, Kim Phillips, Namhyung Kim, Ravi Bangoria Arnaldo, On Tue, May 21, 2019 at 03:03:54PM -0300, Arnaldo Carvalho de Melo wrote: > Em Tue, May 21, 2019 at 12:19:18PM -0300, Arnaldo Carvalho de Melo escreveu: > > Em Tue, May 21, 2019 at 04:34:47PM +0200, Michael Petlan escreveu: > > > 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! > > > > I've hit the issue too, this patch fixes it for me. > > > Tested. > > > Thanks, I'll add your Tested-by, appreciated. > > Was this in a cross-build environment? Native? It was native build on aarch64 with both 'hostcc' and 'gcc' arguments of mksyscalltbl being set to gcc. > I'm asking because I test > this on several cross build environments, like on ubuntu 19.04 cross > building to aarch64: > ... > I.e. it didn't fail the build, but in the end these new syscalls are not > there, while with your patch, they are: Probably in your case system headers was older than kernel you are building so you just silently losing syscalls. > Thanks, applied. Thanks! > > - Arnaldo ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] perf arm64: Fix mksyscalltbl when system kernel headers are ahead of the kernel 2019-05-21 20:53 ` Vitaly Chikunov @ 2019-05-22 0:29 ` Arnaldo Carvalho de Melo 0 siblings, 0 replies; 8+ messages in thread From: Arnaldo Carvalho de Melo @ 2019-05-22 0:29 UTC (permalink / raw) To: Arnaldo Carvalho de Melo, Michael Petlan, Peter Zijlstra, Ingo Molnar, linux-kernel, Alexander Shishkin, Hendrik Brueckner, Jiri Olsa, Kim Phillips, Namhyung Kim, Ravi Bangoria Em Tue, May 21, 2019 at 11:53:23PM +0300, Vitaly Chikunov escreveu: > Arnaldo, > > On Tue, May 21, 2019 at 03:03:54PM -0300, Arnaldo Carvalho de Melo wrote: > > Em Tue, May 21, 2019 at 12:19:18PM -0300, Arnaldo Carvalho de Melo escreveu: > > > Em Tue, May 21, 2019 at 04:34:47PM +0200, Michael Petlan escreveu: > > > > 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! > > > > > > I've hit the issue too, this patch fixes it for me. > > > > Tested. > > > > > Thanks, I'll add your Tested-by, appreciated. > > > > Was this in a cross-build environment? Native? > > It was native build on aarch64 with both 'hostcc' and 'gcc' arguments of > mksyscalltbl being set to gcc. > > > I'm asking because I test > > this on several cross build environments, like on ubuntu 19.04 cross > > building to aarch64: > > ... > > I.e. it didn't fail the build, but in the end these new syscalls are not > > there, while with your patch, they are: > > Probably in your case system headers was older than kernel you are Yeah, that seems to have been the case, thanks for your patch... > building so you just silently losing syscalls. ... now we're not losing them anymore, as intended from day one :-) Thanks again! > > Thanks, applied. > > Thanks! > > > > > - Arnaldo -- - Arnaldo ^ permalink raw reply [flat|nested] 8+ messages in thread
* [tip:perf/urgent] perf arm64: Fix mksyscalltbl when system kernel headers are ahead of the kernel 2019-05-21 3:02 [PATCH] perf arm64: Fix mksyscalltbl when system kernel headers are ahead of the kernel Vitaly Chikunov 2019-05-21 13:28 ` Arnaldo Carvalho de Melo @ 2019-05-28 21:22 ` tip-bot for Vitaly Chikunov 1 sibling, 0 replies; 8+ messages in thread From: tip-bot for Vitaly Chikunov @ 2019-05-28 21:22 UTC (permalink / raw) To: linux-tip-commits Cc: linux-kernel, hpa, kim.phillips, tglx, mpetlan, peterz, acme, jolsa, namhyung, alexander.shishkin, ravi.bangoria, brueckner, mingo, vt Commit-ID: f95d050cdc5d34f9a4417e06c392ccbf146037bb Gitweb: https://git.kernel.org/tip/f95d050cdc5d34f9a4417e06c392ccbf146037bb Author: Vitaly Chikunov <vt@altlinux.org> AuthorDate: Tue, 21 May 2019 06:02:03 +0300 Committer: Arnaldo Carvalho de Melo <acme@redhat.com> CommitDate: Tue, 28 May 2019 09:49:03 -0300 perf arm64: Fix mksyscalltbl when system kernel headers are ahead of the kernel 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 compiling kernel tree includes, causing some syscall numbers to being undeclared. Committer testing: Before this patch, in my cross build environment, no build problems, but these new syscalls were not in the syscalls.c generated from the unistd.h file, which is a bug, this patch fixes it: perfbuilder@6e20056ed532:/git/perf$ tail /tmp/build/perf/arch/arm64/include/generated/asm/syscalls.c [292] = "io_pgetevents", [293] = "rseq", [294] = "kexec_file_load", [424] = "pidfd_send_signal", [425] = "io_uring_setup", [426] = "io_uring_enter", [427] = "io_uring_register", [428] = "syscalls", }; perfbuilder@6e20056ed532:/git/perf$ strings /tmp/build/perf/perf | egrep '^(io_uring_|pidfd_|kexec_file)' kexec_file_load pidfd_send_signal io_uring_setup io_uring_enter io_uring_register perfbuilder@6e20056ed532:/git/perf$ $ Well, there is that last "syscalls" thing, but that looks like some other bug. Signed-off-by: Vitaly Chikunov <vt@altlinux.org> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Tested-by: Michael Petlan <mpetlan@redhat.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Hendrik Brueckner <brueckner@linux.ibm.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> Link: http://lkml.kernel.org/r/20190521030203.1447-1-vt@altlinux.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.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 ^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2019-05-28 21:23 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-05-21 3:02 [PATCH] perf arm64: Fix mksyscalltbl when system kernel headers are ahead of the kernel Vitaly Chikunov 2019-05-21 13:28 ` Arnaldo Carvalho de Melo 2019-05-21 14:34 ` Michael Petlan 2019-05-21 15:19 ` Arnaldo Carvalho de Melo 2019-05-21 18:03 ` Arnaldo Carvalho de Melo 2019-05-21 20:53 ` Vitaly Chikunov 2019-05-22 0:29 ` Arnaldo Carvalho de Melo 2019-05-28 21:22 ` [tip:perf/urgent] " tip-bot for Vitaly Chikunov
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.