]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
linux-user: Add strace for recvfrom()
authorPhilippe Mathieu-Daudé <philmd@linaro.org>
Wed, 7 Aug 2024 12:43:06 +0000 (14:43 +0200)
committerRichard Henderson <richard.henderson@linaro.org>
Tue, 8 Oct 2024 13:31:36 +0000 (06:31 -0700)
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240807124306.52903-6-philmd@linaro.org>
[rth: Do not dump output buffers.]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
linux-user/strace.c
linux-user/strace.list

index 0263e6a396d9fa6e441451d61e25ae4b50600c06..c3eb3a2706a93fdcaf693b3413b13921a3c97e8e 100644 (file)
@@ -3142,6 +3142,23 @@ print_bind(CPUArchState *cpu_env, const struct syscallname *name,
 }
 #endif
 
+#ifdef TARGET_NR_recvfrom
+static void
+print_recvfrom(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_pointer(arg1, 0); /* output */
+    print_raw_param(TARGET_ABI_FMT_ld, arg2, 0);
+    print_flags(msg_flags, arg3, 0);
+    print_pointer(arg4, 0); /* output */
+    print_pointer(arg5, 1); /* in/out */
+    print_syscall_epilogue(name);
+}
+#endif
+
 #ifdef TARGET_NR_sendto
 static void
 print_sendto(CPUArchState *cpu_env, const struct syscallname *name,
index 64d24e16d0eec7c634766835e6aa66c29926793f..0d69fb3150de0b0171b2ea1f9fd59e4f3782d83d 100644 (file)
 { TARGET_NR_recv, "recv" , "%s(%d,%p,%u,%d)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_recvfrom
-{ TARGET_NR_recvfrom, "recvfrom" , NULL, NULL, NULL },
+{ TARGET_NR_recvfrom, "recvfrom" , NULL, print_recvfrom, NULL },
 #endif
 #ifdef TARGET_NR_recvmmsg
 { TARGET_NR_recvmmsg, "recvmmsg" , NULL, NULL, NULL },