qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] linux-user: Trace rt_sigprocmask's sigsets


From: Richard Henderson
Subject: Re: [PATCH] linux-user: Trace rt_sigprocmask's sigsets
Date: Mon, 21 Oct 2024 18:50:37 -0700
User-agent: Mozilla Thunderbird

On 10/17/24 02:14, Ilya Leoshkevich wrote:
@@ -3312,10 +3358,26 @@ print_rt_sigprocmask(CPUArchState *cpu_env, const 
struct syscallname *name,
      case TARGET_SIG_SETMASK: how = "SIG_SETMASK"; break;
      }
      qemu_log("%s,", how);
-    print_pointer(arg1, 0);
-    print_pointer(arg2, 0);
+    print_target_sigset_t(arg1, arg3, 0);
+}
+
+static void
+print_rt_sigprocmask_ret(CPUArchState *cpu_env, const struct syscallname *name,
+                         abi_long ret, abi_long arg0, abi_long arg1,
+                         abi_long arg2, abi_long arg3, abi_long arg4,
+                         abi_long arg5)
+{
+    if (is_error(ret)) {
+        print_pointer(arg2, 0);
+    } else {
+        print_target_sigset_t(arg2, arg3, 0);
+    }
      print_raw_param("%u", arg3, 1);
      print_syscall_epilogue(name);

I'm not keen on splitting operands across syscall completion.
There are a few existing syscalls for which we print such results afterward:

  clock_gettime
  clock_getres
  wait4
  waitpid

but we're certainly not consistent about it.


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]