perf arm64: Handle __NR3264_ prefixed syscall number
authorTiezhu Yang <yangtiezhu@loongson.cn>
Tue, 30 May 2023 10:09:59 +0000 (18:09 +0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 5 Jun 2023 14:37:05 +0000 (11:37 -0300)
After commit 9854e7ad35fe ("perf arm64: Simplify mksyscalltbl"),
in the generated syscall table file syscalls.c, there exist some
__NR3264_ prefixed syscall numbers such as [__NR3264_ftruncate],
it looks like not so good, just do some small filter operations
to handle __NR3264_ prefixed syscall number as a digital number.

Without this patch:

  [__NR3264_ftruncate] = "ftruncate",

With this patch:

  [46] = "ftruncate",

Suggested-by: Alexander Kapshuk <alexander.kapshuk@gmail.com>
Reviewed-by: Huacai Chen <chenhuacai@loongson.cn>
Reviewed-by: Leo Yan <leo.yan@linaro.org>
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Acked-by: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: loongarch@lists.linux.dev
Link: https://lore.kernel.org/r/1685441401-8709-4-git-send-email-yangtiezhu@loongson.cn
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/arch/arm64/entry/syscalls/mksyscalltbl

index 84976dc..0bcd64a 100755 (executable)
@@ -40,6 +40,7 @@ create_table()
 }
 
 $gcc -E -dM -x c -I $incpath/include/uapi $input \
-       |sed -ne 's/^#define __NR_//p' \
-       |sort -t' ' -k2 -n             \
+       |awk '$2 ~ "__NR" && $3 !~ "__NR3264_" {
+               sub("^#define __NR(3264)?_", "");
+               print | "sort -k2 -n"}' \
        |create_table