Messages in this thread | | | Subject | Re: [PATCH 1/2] perf arm64: Handle __NR3264_ prefixed syscall number | From | Tiezhu Yang <> | Date | Wed, 24 May 2023 11:19:04 +0800 |
| |
On 05/23/2023 08:31 PM, Alexander Kapshuk wrote: > On Tue, May 23, 2023 at 1:22 PM Tiezhu Yang <yangtiezhu@loongson.cn> wrote: >> >> 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", >> >> Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn> >> --- >> tools/perf/arch/arm64/entry/syscalls/mksyscalltbl | 7 ++++--- >> 1 file changed, 4 insertions(+), 3 deletions(-) >> >> diff --git a/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl b/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl >> index 22cdf91..59ab7939 100755 >> --- a/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl >> +++ b/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl >> @@ -39,7 +39,8 @@ create_table() >> echo "};" >> } >> >> -$gcc -E -dM -x c -I $incpath/include/uapi $input \ >> - |sed -ne 's/^#define __NR_//p' \ >> - |sort -t' ' -k2 -n \ >> +$gcc -E -dM -x c -I $incpath/include/uapi $input \ >> + |awk '{if ($2~"__NR" && $3 !~"__NR3264_") {print}}' \ >> + |sed -ne 's/^#define __NR_//p;s/^#define __NR3264_//p' \ >> + |sort -t' ' -k2 -n \ >> |create_table >> -- >> 2.1.0 >> > > As an aside, the awk + sed + sort parts of the command line may be > reduced to the following awk script, if desired: > awk '$2 ~ "__NR" && $3 !~ "__NR3264_" { > sub("^#define __NR_", "") > sub("^#define __NR3264_", "") > print | "sort -k2 -n" > }' >
Hi Alexander,
Thanks, it seems more simple and works well as expected. Let us wait for more review comments before respin.
If no any objections, I will send v2 with the following changes based on the current patch in the next week.
-$gcc -E -dM -x c -I $incpath/include/uapi $input \ - |awk '{if ($2~"__NR" && $3 !~"__NR3264_") {print}}' \ - |sed -ne 's/^#define __NR_//p;s/^#define __NR3264_//p' \ - |sort -t' ' -k2 -n \ +$gcc -E -dM -x c -I $incpath/include/uapi $input \ + |awk '$2 ~ "__NR" && $3 !~ "__NR3264_" { + sub("^#define __NR_", "") + sub("^#define __NR3264_", "") + print | "sort -k2 -n"}' \ |create_table
Thanks, Tiezhu
| |