[PATCH 2/3] linux-user: Add strace for sendto()

Philippe Mathieu-Daudé posted 3 patches 3 months, 2 weeks ago
There is a newer version of this series
[PATCH 2/3] linux-user: Add strace for sendto()
Posted by Philippe Mathieu-Daudé 3 months, 2 weeks ago
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(-)

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 },
-- 
2.45.2


Re: [PATCH 2/3] linux-user: Add strace for sendto()
Posted by Richard Henderson 3 months, 2 weeks ago
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~

Re: [PATCH 2/3] linux-user: Add strace for sendto()
Posted by Philippe Mathieu-Daudé 3 months, 2 weeks ago
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.