Message ID | 20250210165108.95894-2-irogers@google.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | perf: Support multiple system call tables in the build | expand |
Context | Check | Description |
---|---|---|
bjorn/pre-ci_am | success | Success |
bjorn/build-rv32-defconfig | success | build-rv32-defconfig |
bjorn/build-rv64-clang-allmodconfig | success | build-rv64-clang-allmodconfig |
bjorn/build-rv64-gcc-allmodconfig | success | build-rv64-gcc-allmodconfig |
bjorn/build-rv64-nommu-k210-defconfig | success | build-rv64-nommu-k210-defconfig |
bjorn/build-rv64-nommu-k210-virt | success | build-rv64-nommu-k210-virt |
bjorn/checkpatch | warning | checkpatch |
bjorn/dtb-warn-rv64 | success | dtb-warn-rv64 |
bjorn/header-inline | success | header-inline |
bjorn/kdoc | success | kdoc |
bjorn/module-param | success | module-param |
bjorn/verify-fixes | success | verify-fixes |
bjorn/verify-signedoff | success | verify-signedoff |
On Mon, Feb 10, 2025 at 08:51:02AM -0800, Ian Rogers wrote: > The definition of "static const char *const syscalltbl[] = {" is done > in a generated syscalls_32.h or syscalls_64.h that is architecture > dependent. In order to include the appropriate file a syscall_table.h > is found via the perf include path and it includes the syscalls_32.h > or syscalls_64.h as appropriate. > > To support having multiple syscall tables, one for 32-bit and one for > 64-bit, or for different architectures, an include path cannot be > used. Remove syscall_table.h because of this and inline what it does > into syscalltbl.c. > > For architectures without a syscall_table.h this will cause a failure > to include either syscalls_32.h or syscalls_64.h rather than a failure > to include syscall_table.h. For architectures that only included one > or other, the behavior matches BITS_PER_LONG as previously done on > architectures supporting both syscalls_32.h and syscalls_64.h. This is a great way of doing this, thank you. Reviewed-by: Charlie Jenkins <charlie@rivosinc.com> > > Signed-off-by: Ian Rogers <irogers@google.com> > Reviewed-by: Howard Chu <howardchu95@gmail.com> > --- > tools/perf/arch/alpha/include/syscall_table.h | 2 -- > tools/perf/arch/arc/include/syscall_table.h | 2 -- > tools/perf/arch/arm/include/syscall_table.h | 2 -- > tools/perf/arch/arm64/include/syscall_table.h | 8 -------- > tools/perf/arch/csky/include/syscall_table.h | 2 -- > tools/perf/arch/loongarch/include/syscall_table.h | 2 -- > tools/perf/arch/mips/include/syscall_table.h | 2 -- > tools/perf/arch/parisc/include/syscall_table.h | 8 -------- > tools/perf/arch/powerpc/include/syscall_table.h | 8 -------- > tools/perf/arch/riscv/include/syscall_table.h | 8 -------- > tools/perf/arch/s390/include/syscall_table.h | 2 -- > tools/perf/arch/sh/include/syscall_table.h | 2 -- > tools/perf/arch/sparc/include/syscall_table.h | 8 -------- > tools/perf/arch/x86/include/syscall_table.h | 8 -------- > tools/perf/arch/xtensa/include/syscall_table.h | 2 -- > tools/perf/util/syscalltbl.c | 8 +++++++- > 16 files changed, 7 insertions(+), 67 deletions(-) > delete mode 100644 tools/perf/arch/alpha/include/syscall_table.h > delete mode 100644 tools/perf/arch/arc/include/syscall_table.h > delete mode 100644 tools/perf/arch/arm/include/syscall_table.h > delete mode 100644 tools/perf/arch/arm64/include/syscall_table.h > delete mode 100644 tools/perf/arch/csky/include/syscall_table.h > delete mode 100644 tools/perf/arch/loongarch/include/syscall_table.h > delete mode 100644 tools/perf/arch/mips/include/syscall_table.h > delete mode 100644 tools/perf/arch/parisc/include/syscall_table.h > delete mode 100644 tools/perf/arch/powerpc/include/syscall_table.h > delete mode 100644 tools/perf/arch/riscv/include/syscall_table.h > delete mode 100644 tools/perf/arch/s390/include/syscall_table.h > delete mode 100644 tools/perf/arch/sh/include/syscall_table.h > delete mode 100644 tools/perf/arch/sparc/include/syscall_table.h > delete mode 100644 tools/perf/arch/x86/include/syscall_table.h > delete mode 100644 tools/perf/arch/xtensa/include/syscall_table.h > > diff --git a/tools/perf/arch/alpha/include/syscall_table.h b/tools/perf/arch/alpha/include/syscall_table.h > deleted file mode 100644 > index b53e31c15805..000000000000 > --- a/tools/perf/arch/alpha/include/syscall_table.h > +++ /dev/null > @@ -1,2 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0 */ > -#include <asm/syscalls_64.h> > diff --git a/tools/perf/arch/arc/include/syscall_table.h b/tools/perf/arch/arc/include/syscall_table.h > deleted file mode 100644 > index 4c942821662d..000000000000 > --- a/tools/perf/arch/arc/include/syscall_table.h > +++ /dev/null > @@ -1,2 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0 */ > -#include <asm/syscalls_32.h> > diff --git a/tools/perf/arch/arm/include/syscall_table.h b/tools/perf/arch/arm/include/syscall_table.h > deleted file mode 100644 > index 4c942821662d..000000000000 > --- a/tools/perf/arch/arm/include/syscall_table.h > +++ /dev/null > @@ -1,2 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0 */ > -#include <asm/syscalls_32.h> > diff --git a/tools/perf/arch/arm64/include/syscall_table.h b/tools/perf/arch/arm64/include/syscall_table.h > deleted file mode 100644 > index 7ff51b783000..000000000000 > --- a/tools/perf/arch/arm64/include/syscall_table.h > +++ /dev/null > @@ -1,8 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0 */ > -#include <asm/bitsperlong.h> > - > -#if __BITS_PER_LONG == 64 > -#include <asm/syscalls_64.h> > -#else > -#include <asm/syscalls_32.h> > -#endif > diff --git a/tools/perf/arch/csky/include/syscall_table.h b/tools/perf/arch/csky/include/syscall_table.h > deleted file mode 100644 > index 4c942821662d..000000000000 > --- a/tools/perf/arch/csky/include/syscall_table.h > +++ /dev/null > @@ -1,2 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0 */ > -#include <asm/syscalls_32.h> > diff --git a/tools/perf/arch/loongarch/include/syscall_table.h b/tools/perf/arch/loongarch/include/syscall_table.h > deleted file mode 100644 > index 9d0646d3455c..000000000000 > --- a/tools/perf/arch/loongarch/include/syscall_table.h > +++ /dev/null > @@ -1,2 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0 */ > -#include <asm/syscall_table_64.h> > diff --git a/tools/perf/arch/mips/include/syscall_table.h b/tools/perf/arch/mips/include/syscall_table.h > deleted file mode 100644 > index b53e31c15805..000000000000 > --- a/tools/perf/arch/mips/include/syscall_table.h > +++ /dev/null > @@ -1,2 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0 */ > -#include <asm/syscalls_64.h> > diff --git a/tools/perf/arch/parisc/include/syscall_table.h b/tools/perf/arch/parisc/include/syscall_table.h > deleted file mode 100644 > index 7ff51b783000..000000000000 > --- a/tools/perf/arch/parisc/include/syscall_table.h > +++ /dev/null > @@ -1,8 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0 */ > -#include <asm/bitsperlong.h> > - > -#if __BITS_PER_LONG == 64 > -#include <asm/syscalls_64.h> > -#else > -#include <asm/syscalls_32.h> > -#endif > diff --git a/tools/perf/arch/powerpc/include/syscall_table.h b/tools/perf/arch/powerpc/include/syscall_table.h > deleted file mode 100644 > index 7ff51b783000..000000000000 > --- a/tools/perf/arch/powerpc/include/syscall_table.h > +++ /dev/null > @@ -1,8 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0 */ > -#include <asm/bitsperlong.h> > - > -#if __BITS_PER_LONG == 64 > -#include <asm/syscalls_64.h> > -#else > -#include <asm/syscalls_32.h> > -#endif > diff --git a/tools/perf/arch/riscv/include/syscall_table.h b/tools/perf/arch/riscv/include/syscall_table.h > deleted file mode 100644 > index 7ff51b783000..000000000000 > --- a/tools/perf/arch/riscv/include/syscall_table.h > +++ /dev/null > @@ -1,8 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0 */ > -#include <asm/bitsperlong.h> > - > -#if __BITS_PER_LONG == 64 > -#include <asm/syscalls_64.h> > -#else > -#include <asm/syscalls_32.h> > -#endif > diff --git a/tools/perf/arch/s390/include/syscall_table.h b/tools/perf/arch/s390/include/syscall_table.h > deleted file mode 100644 > index b53e31c15805..000000000000 > --- a/tools/perf/arch/s390/include/syscall_table.h > +++ /dev/null > @@ -1,2 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0 */ > -#include <asm/syscalls_64.h> > diff --git a/tools/perf/arch/sh/include/syscall_table.h b/tools/perf/arch/sh/include/syscall_table.h > deleted file mode 100644 > index 4c942821662d..000000000000 > --- a/tools/perf/arch/sh/include/syscall_table.h > +++ /dev/null > @@ -1,2 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0 */ > -#include <asm/syscalls_32.h> > diff --git a/tools/perf/arch/sparc/include/syscall_table.h b/tools/perf/arch/sparc/include/syscall_table.h > deleted file mode 100644 > index 7ff51b783000..000000000000 > --- a/tools/perf/arch/sparc/include/syscall_table.h > +++ /dev/null > @@ -1,8 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0 */ > -#include <asm/bitsperlong.h> > - > -#if __BITS_PER_LONG == 64 > -#include <asm/syscalls_64.h> > -#else > -#include <asm/syscalls_32.h> > -#endif > diff --git a/tools/perf/arch/x86/include/syscall_table.h b/tools/perf/arch/x86/include/syscall_table.h > deleted file mode 100644 > index 7ff51b783000..000000000000 > --- a/tools/perf/arch/x86/include/syscall_table.h > +++ /dev/null > @@ -1,8 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0 */ > -#include <asm/bitsperlong.h> > - > -#if __BITS_PER_LONG == 64 > -#include <asm/syscalls_64.h> > -#else > -#include <asm/syscalls_32.h> > -#endif > diff --git a/tools/perf/arch/xtensa/include/syscall_table.h b/tools/perf/arch/xtensa/include/syscall_table.h > deleted file mode 100644 > index 4c942821662d..000000000000 > --- a/tools/perf/arch/xtensa/include/syscall_table.h > +++ /dev/null > @@ -1,2 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0 */ > -#include <asm/syscalls_32.h> > diff --git a/tools/perf/util/syscalltbl.c b/tools/perf/util/syscalltbl.c > index 928aca4cd6e9..2f76241494c8 100644 > --- a/tools/perf/util/syscalltbl.c > +++ b/tools/perf/util/syscalltbl.c > @@ -7,13 +7,19 @@ > > #include "syscalltbl.h" > #include <stdlib.h> > +#include <asm/bitsperlong.h> > #include <linux/compiler.h> > #include <linux/zalloc.h> > > #include <string.h> > #include "string2.h" > > -#include <syscall_table.h> > +#if __BITS_PER_LONG == 64 > + #include <asm/syscalls_64.h> > +#else > + #include <asm/syscalls_32.h> > +#endif > + > const int syscalltbl_native_max_id = SYSCALLTBL_MAX_ID; > static const char *const *syscalltbl_native = syscalltbl; > > -- > 2.48.1.502.g6dc24dfdaf-goog >
diff --git a/tools/perf/arch/alpha/include/syscall_table.h b/tools/perf/arch/alpha/include/syscall_table.h deleted file mode 100644 index b53e31c15805..000000000000 --- a/tools/perf/arch/alpha/include/syscall_table.h +++ /dev/null @@ -1,2 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#include <asm/syscalls_64.h> diff --git a/tools/perf/arch/arc/include/syscall_table.h b/tools/perf/arch/arc/include/syscall_table.h deleted file mode 100644 index 4c942821662d..000000000000 --- a/tools/perf/arch/arc/include/syscall_table.h +++ /dev/null @@ -1,2 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#include <asm/syscalls_32.h> diff --git a/tools/perf/arch/arm/include/syscall_table.h b/tools/perf/arch/arm/include/syscall_table.h deleted file mode 100644 index 4c942821662d..000000000000 --- a/tools/perf/arch/arm/include/syscall_table.h +++ /dev/null @@ -1,2 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#include <asm/syscalls_32.h> diff --git a/tools/perf/arch/arm64/include/syscall_table.h b/tools/perf/arch/arm64/include/syscall_table.h deleted file mode 100644 index 7ff51b783000..000000000000 --- a/tools/perf/arch/arm64/include/syscall_table.h +++ /dev/null @@ -1,8 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#include <asm/bitsperlong.h> - -#if __BITS_PER_LONG == 64 -#include <asm/syscalls_64.h> -#else -#include <asm/syscalls_32.h> -#endif diff --git a/tools/perf/arch/csky/include/syscall_table.h b/tools/perf/arch/csky/include/syscall_table.h deleted file mode 100644 index 4c942821662d..000000000000 --- a/tools/perf/arch/csky/include/syscall_table.h +++ /dev/null @@ -1,2 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#include <asm/syscalls_32.h> diff --git a/tools/perf/arch/loongarch/include/syscall_table.h b/tools/perf/arch/loongarch/include/syscall_table.h deleted file mode 100644 index 9d0646d3455c..000000000000 --- a/tools/perf/arch/loongarch/include/syscall_table.h +++ /dev/null @@ -1,2 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#include <asm/syscall_table_64.h> diff --git a/tools/perf/arch/mips/include/syscall_table.h b/tools/perf/arch/mips/include/syscall_table.h deleted file mode 100644 index b53e31c15805..000000000000 --- a/tools/perf/arch/mips/include/syscall_table.h +++ /dev/null @@ -1,2 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#include <asm/syscalls_64.h> diff --git a/tools/perf/arch/parisc/include/syscall_table.h b/tools/perf/arch/parisc/include/syscall_table.h deleted file mode 100644 index 7ff51b783000..000000000000 --- a/tools/perf/arch/parisc/include/syscall_table.h +++ /dev/null @@ -1,8 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#include <asm/bitsperlong.h> - -#if __BITS_PER_LONG == 64 -#include <asm/syscalls_64.h> -#else -#include <asm/syscalls_32.h> -#endif diff --git a/tools/perf/arch/powerpc/include/syscall_table.h b/tools/perf/arch/powerpc/include/syscall_table.h deleted file mode 100644 index 7ff51b783000..000000000000 --- a/tools/perf/arch/powerpc/include/syscall_table.h +++ /dev/null @@ -1,8 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#include <asm/bitsperlong.h> - -#if __BITS_PER_LONG == 64 -#include <asm/syscalls_64.h> -#else -#include <asm/syscalls_32.h> -#endif diff --git a/tools/perf/arch/riscv/include/syscall_table.h b/tools/perf/arch/riscv/include/syscall_table.h deleted file mode 100644 index 7ff51b783000..000000000000 --- a/tools/perf/arch/riscv/include/syscall_table.h +++ /dev/null @@ -1,8 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#include <asm/bitsperlong.h> - -#if __BITS_PER_LONG == 64 -#include <asm/syscalls_64.h> -#else -#include <asm/syscalls_32.h> -#endif diff --git a/tools/perf/arch/s390/include/syscall_table.h b/tools/perf/arch/s390/include/syscall_table.h deleted file mode 100644 index b53e31c15805..000000000000 --- a/tools/perf/arch/s390/include/syscall_table.h +++ /dev/null @@ -1,2 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#include <asm/syscalls_64.h> diff --git a/tools/perf/arch/sh/include/syscall_table.h b/tools/perf/arch/sh/include/syscall_table.h deleted file mode 100644 index 4c942821662d..000000000000 --- a/tools/perf/arch/sh/include/syscall_table.h +++ /dev/null @@ -1,2 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#include <asm/syscalls_32.h> diff --git a/tools/perf/arch/sparc/include/syscall_table.h b/tools/perf/arch/sparc/include/syscall_table.h deleted file mode 100644 index 7ff51b783000..000000000000 --- a/tools/perf/arch/sparc/include/syscall_table.h +++ /dev/null @@ -1,8 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#include <asm/bitsperlong.h> - -#if __BITS_PER_LONG == 64 -#include <asm/syscalls_64.h> -#else -#include <asm/syscalls_32.h> -#endif diff --git a/tools/perf/arch/x86/include/syscall_table.h b/tools/perf/arch/x86/include/syscall_table.h deleted file mode 100644 index 7ff51b783000..000000000000 --- a/tools/perf/arch/x86/include/syscall_table.h +++ /dev/null @@ -1,8 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#include <asm/bitsperlong.h> - -#if __BITS_PER_LONG == 64 -#include <asm/syscalls_64.h> -#else -#include <asm/syscalls_32.h> -#endif diff --git a/tools/perf/arch/xtensa/include/syscall_table.h b/tools/perf/arch/xtensa/include/syscall_table.h deleted file mode 100644 index 4c942821662d..000000000000 --- a/tools/perf/arch/xtensa/include/syscall_table.h +++ /dev/null @@ -1,2 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#include <asm/syscalls_32.h> diff --git a/tools/perf/util/syscalltbl.c b/tools/perf/util/syscalltbl.c index 928aca4cd6e9..2f76241494c8 100644 --- a/tools/perf/util/syscalltbl.c +++ b/tools/perf/util/syscalltbl.c @@ -7,13 +7,19 @@ #include "syscalltbl.h" #include <stdlib.h> +#include <asm/bitsperlong.h> #include <linux/compiler.h> #include <linux/zalloc.h> #include <string.h> #include "string2.h" -#include <syscall_table.h> +#if __BITS_PER_LONG == 64 + #include <asm/syscalls_64.h> +#else + #include <asm/syscalls_32.h> +#endif + const int syscalltbl_native_max_id = SYSCALLTBL_MAX_ID; static const char *const *syscalltbl_native = syscalltbl;