Message ID | 20240807083508.28134-3-philmd@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | linux-user: Trace sendto/recvfrom | expand |
On 8/7/24 18:35, Philippe Mathieu-Daudé wrote: > +#ifdef TARGET_NR_sendto > +static void > +print_sendto(CPUArchState *cpu_env, const struct syscallname *name, > + abi_long arg0, abi_long arg1, abi_long arg2, > + abi_long arg3, abi_long arg4, abi_long arg5) > +{ > + print_syscall_prologue(name); > + print_sockfd(arg0, 0); > + print_buf(arg1, arg2, 0); You still need to log arg2. r~
On 7/8/24 12:55, Richard Henderson wrote: > On 8/7/24 18:35, Philippe Mathieu-Daudé wrote: >> +#ifdef TARGET_NR_sendto >> +static void >> +print_sendto(CPUArchState *cpu_env, const struct syscallname *name, >> + abi_long arg0, abi_long arg1, abi_long arg2, >> + abi_long arg3, abi_long arg4, abi_long arg5) >> +{ >> + print_syscall_prologue(name); >> + print_sockfd(arg0, 0); >> + print_buf(arg1, arg2, 0); > > You still need to log arg2. Oops.
diff --git a/linux-user/strace.c b/linux-user/strace.c index 7064afb486..f55b62f0c9 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -3122,6 +3122,21 @@ print_bind(CPUArchState *cpu_env, const struct syscallname *name, } #endif +#ifdef TARGET_NR_sendto +static void +print_sendto(CPUArchState *cpu_env, const struct syscallname *name, + abi_long arg0, abi_long arg1, abi_long arg2, + abi_long arg3, abi_long arg4, abi_long arg5) +{ + print_syscall_prologue(name); + print_sockfd(arg0, 0); + print_buf(arg1, arg2, 0); + print_flags(msg_flags, arg3, 0); + print_sockaddr(arg4, arg5, 1); + print_syscall_epilogue(name); +} +#endif + #if defined(TARGET_NR_stat) || defined(TARGET_NR_stat64) || \ defined(TARGET_NR_lstat) || defined(TARGET_NR_lstat64) static void diff --git a/linux-user/strace.list b/linux-user/strace.list index dfd4237d14..5a86419e7d 100644 --- a/linux-user/strace.list +++ b/linux-user/strace.list @@ -1285,7 +1285,7 @@ { TARGET_NR_sendmsg, "sendmsg" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_sendto -{ TARGET_NR_sendto, "sendto" , NULL, NULL, NULL }, +{ TARGET_NR_sendto, "sendto" , NULL, print_sendto, NULL }, #endif #ifdef TARGET_NR_setdomainname { TARGET_NR_setdomainname, "setdomainname" , NULL, NULL, NULL },
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- linux-user/strace.c | 15 +++++++++++++++ linux-user/strace.list | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-)