From: Rong Tao <[email protected]>
kernel arm64/kernel/sys.c macro __SYSCALL() adds a prefix __arm64_, we
should support it for aarch64. The following is the output of the bpftrace
script:
$ sudo bpftrace -l | grep sys_write
...
kprobe:__arm64_sys_write
kprobe:__arm64_sys_writev
...
Signed-off-by: Rong Tao <[email protected]>
---
samples/bpf/trace_common.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/samples/bpf/trace_common.h b/samples/bpf/trace_common.h
index 8cb5400aed1f..fafc699af0a3 100644
--- a/samples/bpf/trace_common.h
+++ b/samples/bpf/trace_common.h
@@ -6,6 +6,8 @@
#define SYSCALL(SYS) "__x64_" __stringify(SYS)
#elif defined(__s390x__)
#define SYSCALL(SYS) "__s390x_" __stringify(SYS)
+#elif defined(__aarch64__)
+#define SYSCALL(SYS) "__arm64_" __stringify(SYS)
#else
#define SYSCALL(SYS) __stringify(SYS)
#endif
--
2.39.1
On Mon, Feb 6, 2023 at 3:34 AM Rong Tao <[email protected]> wrote:
>
> From: Rong Tao <[email protected]>
>
> kernel arm64/kernel/sys.c macro __SYSCALL() adds a prefix __arm64_, we
> should support it for aarch64. The following is the output of the bpftrace
> script:
>
> $ sudo bpftrace -l | grep sys_write
> ...
> kprobe:__arm64_sys_write
> kprobe:__arm64_sys_writev
> ...
>
> Signed-off-by: Rong Tao <[email protected]>
> ---
samples were converted to SEC("ksyscall") programs and BPF_KSYSCALL()
macro, there is not even samples/bpf/trace_common.h there. Please
check the latest bpf-next/master.
> samples/bpf/trace_common.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/samples/bpf/trace_common.h b/samples/bpf/trace_common.h
> index 8cb5400aed1f..fafc699af0a3 100644
> --- a/samples/bpf/trace_common.h
> +++ b/samples/bpf/trace_common.h
> @@ -6,6 +6,8 @@
> #define SYSCALL(SYS) "__x64_" __stringify(SYS)
> #elif defined(__s390x__)
> #define SYSCALL(SYS) "__s390x_" __stringify(SYS)
> +#elif defined(__aarch64__)
> +#define SYSCALL(SYS) "__arm64_" __stringify(SYS)
> #else
> #define SYSCALL(SYS) __stringify(SYS)
> #endif
> --
> 2.39.1
>