Message ID | 20241212-perf_syscalltbl-v2-2-f8ca984ffe40@rivosinc.com (mailing list archive) |
---|---|
State | Handled Elsewhere |
Headers | show |
Series | perf tools: Use generic syscall scripts for all archs | expand |
On Thu, Dec 12, 2024 at 04:32:52PM -0800, Charlie Jenkins wrote: > Arc uses the generic syscall table, use that in perf instead of > requiring libaudit. > > Signed-off-by: Charlie Jenkins <charlie@rivosinc.com> > --- > tools/perf/Makefile.config | 2 +- > tools/perf/Makefile.perf | 2 +- > tools/perf/arch/arc/entry/syscalls/Kbuild | 2 ++ > tools/perf/arch/arc/entry/syscalls/Makefile.syscalls | 3 +++ > tools/perf/arch/arc/include/syscall_table.h | 2 ++ > 5 files changed, 9 insertions(+), 2 deletions(-) > > diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config > index a72f25162714f0117a88d94474da336814d4f030..3959a9c9972999f6d1bb85e8c1d7dc5dce92fd09 100644 > --- a/tools/perf/Makefile.config > +++ b/tools/perf/Makefile.config > @@ -36,7 +36,7 @@ ifneq ($(NO_SYSCALL_TABLE),1) > endif > > # architectures that use the generic syscall table scripts > - ifeq ($(SRCARCH),riscv) > + ifeq ($(SRCARCH),$(filter $(SRCARCH),riscv arc)) This might work as well. ifneq ($(filter $(SRCARCH), riscv arc),) And maybe you can add a variable for supported archs. Thanks, Namhyung > NO_SYSCALL_TABLE := 0 > CFLAGS += -DGENERIC_SYSCALL_TABLE > CFLAGS += -I$(OUTPUT)/tools/perf/arch/$(SRCARCH)/include/generated > diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf > index f5278ed9f778f928436693a14e016c5c3c5171c1..3b463b42b0e3982e74056e672b2ee6adad5a3f0e 100644 > --- a/tools/perf/Makefile.perf > +++ b/tools/perf/Makefile.perf > @@ -311,7 +311,7 @@ FEATURE_TESTS := all > endif > endif > # architectures that use the generic syscall table > -ifeq ($(SRCARCH),riscv) > +ifeq ($(SRCARCH),$(filter $(SRCARCH),riscv arc)) > include $(srctree)/tools/perf/scripts/Makefile.syscalls > endif > include Makefile.config > diff --git a/tools/perf/arch/arc/entry/syscalls/Kbuild b/tools/perf/arch/arc/entry/syscalls/Kbuild > new file mode 100644 > index 0000000000000000000000000000000000000000..11707c481a24ecf4e220e51eb1aca890fe929a13 > --- /dev/null > +++ b/tools/perf/arch/arc/entry/syscalls/Kbuild > @@ -0,0 +1,2 @@ > +# SPDX-License-Identifier: GPL-2.0 > +syscall-y += syscalls_32.h > diff --git a/tools/perf/arch/arc/entry/syscalls/Makefile.syscalls b/tools/perf/arch/arc/entry/syscalls/Makefile.syscalls > new file mode 100644 > index 0000000000000000000000000000000000000000..391d30ab7a831b72d2ed3f2e7966fdbf558a9ed7 > --- /dev/null > +++ b/tools/perf/arch/arc/entry/syscalls/Makefile.syscalls > @@ -0,0 +1,3 @@ > +# SPDX-License-Identifier: GPL-2.0 > + > +syscall_abis_32 += arc time32 renameat stat64 rlimit > diff --git a/tools/perf/arch/arc/include/syscall_table.h b/tools/perf/arch/arc/include/syscall_table.h > new file mode 100644 > index 0000000000000000000000000000000000000000..4c942821662d95216765b176a84d5fc7974e1064 > --- /dev/null > +++ b/tools/perf/arch/arc/include/syscall_table.h > @@ -0,0 +1,2 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > +#include <asm/syscalls_32.h> > > -- > 2.34.1 >
On Fri, Dec 13, 2024 at 03:51:48PM -0800, Namhyung Kim wrote: > On Thu, Dec 12, 2024 at 04:32:52PM -0800, Charlie Jenkins wrote: > > Arc uses the generic syscall table, use that in perf instead of > > requiring libaudit. > > > > Signed-off-by: Charlie Jenkins <charlie@rivosinc.com> > > --- > > tools/perf/Makefile.config | 2 +- > > tools/perf/Makefile.perf | 2 +- > > tools/perf/arch/arc/entry/syscalls/Kbuild | 2 ++ > > tools/perf/arch/arc/entry/syscalls/Makefile.syscalls | 3 +++ > > tools/perf/arch/arc/include/syscall_table.h | 2 ++ > > 5 files changed, 9 insertions(+), 2 deletions(-) > > > > diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config > > index a72f25162714f0117a88d94474da336814d4f030..3959a9c9972999f6d1bb85e8c1d7dc5dce92fd09 100644 > > --- a/tools/perf/Makefile.config > > +++ b/tools/perf/Makefile.config > > @@ -36,7 +36,7 @@ ifneq ($(NO_SYSCALL_TABLE),1) > > endif > > > > # architectures that use the generic syscall table scripts > > - ifeq ($(SRCARCH),riscv) > > + ifeq ($(SRCARCH),$(filter $(SRCARCH),riscv arc)) > > This might work as well. > > ifneq ($(filter $(SRCARCH), riscv arc),) > > And maybe you can add a variable for supported archs. Yeah I can do that. All of this is just temporary though. The final patch removes all of this, since this series implements this for every architecture. - Charlie > > Thanks, > Namhyung > > > > NO_SYSCALL_TABLE := 0 > > CFLAGS += -DGENERIC_SYSCALL_TABLE > > CFLAGS += -I$(OUTPUT)/tools/perf/arch/$(SRCARCH)/include/generated > > diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf > > index f5278ed9f778f928436693a14e016c5c3c5171c1..3b463b42b0e3982e74056e672b2ee6adad5a3f0e 100644 > > --- a/tools/perf/Makefile.perf > > +++ b/tools/perf/Makefile.perf > > @@ -311,7 +311,7 @@ FEATURE_TESTS := all > > endif > > endif > > # architectures that use the generic syscall table > > -ifeq ($(SRCARCH),riscv) > > +ifeq ($(SRCARCH),$(filter $(SRCARCH),riscv arc)) > > include $(srctree)/tools/perf/scripts/Makefile.syscalls > > endif > > include Makefile.config > > diff --git a/tools/perf/arch/arc/entry/syscalls/Kbuild b/tools/perf/arch/arc/entry/syscalls/Kbuild > > new file mode 100644 > > index 0000000000000000000000000000000000000000..11707c481a24ecf4e220e51eb1aca890fe929a13 > > --- /dev/null > > +++ b/tools/perf/arch/arc/entry/syscalls/Kbuild > > @@ -0,0 +1,2 @@ > > +# SPDX-License-Identifier: GPL-2.0 > > +syscall-y += syscalls_32.h > > diff --git a/tools/perf/arch/arc/entry/syscalls/Makefile.syscalls b/tools/perf/arch/arc/entry/syscalls/Makefile.syscalls > > new file mode 100644 > > index 0000000000000000000000000000000000000000..391d30ab7a831b72d2ed3f2e7966fdbf558a9ed7 > > --- /dev/null > > +++ b/tools/perf/arch/arc/entry/syscalls/Makefile.syscalls > > @@ -0,0 +1,3 @@ > > +# SPDX-License-Identifier: GPL-2.0 > > + > > +syscall_abis_32 += arc time32 renameat stat64 rlimit > > diff --git a/tools/perf/arch/arc/include/syscall_table.h b/tools/perf/arch/arc/include/syscall_table.h > > new file mode 100644 > > index 0000000000000000000000000000000000000000..4c942821662d95216765b176a84d5fc7974e1064 > > --- /dev/null > > +++ b/tools/perf/arch/arc/include/syscall_table.h > > @@ -0,0 +1,2 @@ > > +/* SPDX-License-Identifier: GPL-2.0 */ > > +#include <asm/syscalls_32.h> > > > > -- > > 2.34.1 > >
diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config index a72f25162714f0117a88d94474da336814d4f030..3959a9c9972999f6d1bb85e8c1d7dc5dce92fd09 100644 --- a/tools/perf/Makefile.config +++ b/tools/perf/Makefile.config @@ -36,7 +36,7 @@ ifneq ($(NO_SYSCALL_TABLE),1) endif # architectures that use the generic syscall table scripts - ifeq ($(SRCARCH),riscv) + ifeq ($(SRCARCH),$(filter $(SRCARCH),riscv arc)) NO_SYSCALL_TABLE := 0 CFLAGS += -DGENERIC_SYSCALL_TABLE CFLAGS += -I$(OUTPUT)/tools/perf/arch/$(SRCARCH)/include/generated diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf index f5278ed9f778f928436693a14e016c5c3c5171c1..3b463b42b0e3982e74056e672b2ee6adad5a3f0e 100644 --- a/tools/perf/Makefile.perf +++ b/tools/perf/Makefile.perf @@ -311,7 +311,7 @@ FEATURE_TESTS := all endif endif # architectures that use the generic syscall table -ifeq ($(SRCARCH),riscv) +ifeq ($(SRCARCH),$(filter $(SRCARCH),riscv arc)) include $(srctree)/tools/perf/scripts/Makefile.syscalls endif include Makefile.config diff --git a/tools/perf/arch/arc/entry/syscalls/Kbuild b/tools/perf/arch/arc/entry/syscalls/Kbuild new file mode 100644 index 0000000000000000000000000000000000000000..11707c481a24ecf4e220e51eb1aca890fe929a13 --- /dev/null +++ b/tools/perf/arch/arc/entry/syscalls/Kbuild @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: GPL-2.0 +syscall-y += syscalls_32.h diff --git a/tools/perf/arch/arc/entry/syscalls/Makefile.syscalls b/tools/perf/arch/arc/entry/syscalls/Makefile.syscalls new file mode 100644 index 0000000000000000000000000000000000000000..391d30ab7a831b72d2ed3f2e7966fdbf558a9ed7 --- /dev/null +++ b/tools/perf/arch/arc/entry/syscalls/Makefile.syscalls @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: GPL-2.0 + +syscall_abis_32 += arc time32 renameat stat64 rlimit diff --git a/tools/perf/arch/arc/include/syscall_table.h b/tools/perf/arch/arc/include/syscall_table.h new file mode 100644 index 0000000000000000000000000000000000000000..4c942821662d95216765b176a84d5fc7974e1064 --- /dev/null +++ b/tools/perf/arch/arc/include/syscall_table.h @@ -0,0 +1,2 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#include <asm/syscalls_32.h>
Arc uses the generic syscall table, use that in perf instead of requiring libaudit. Signed-off-by: Charlie Jenkins <charlie@rivosinc.com> --- tools/perf/Makefile.config | 2 +- tools/perf/Makefile.perf | 2 +- tools/perf/arch/arc/entry/syscalls/Kbuild | 2 ++ tools/perf/arch/arc/entry/syscalls/Makefile.syscalls | 3 +++ tools/perf/arch/arc/include/syscall_table.h | 2 ++ 5 files changed, 9 insertions(+), 2 deletions(-)