linux-user: Trace wait4()'s and waitpid()'s wstatus
authorIlya Leoshkevich <iii@linux.ibm.com>
Tue, 1 Oct 2024 19:32:08 +0000 (21:32 +0200)
committerRichard Henderson <richard.henderson@linaro.org>
Tue, 8 Oct 2024 13:31:36 +0000 (06:31 -0700)
commit322bfaa2ea17c0f2391c03fbeed01acd9c5e6ae9
treead1ba99f6c9c7f1598e0c95420cb983e038e6c45
parent9729930344687c7077531ab07cb9dc275795b413
linux-user: Trace wait4()'s and waitpid()'s wstatus

Borrow the code for formatting the most frequent WIFEXITED() and
WIFSIGNALED() special cases from from the strace's printstatus().

Output examples:

    474729 wait4(-1,0x7f00767ff0a0,0,(nil)) = 474733 (wstatus={WIFEXITED(s) && WEXITSTATUS(s) == 1})
    475833 wait4(-1,0x7f7de61ff0a0,0,(nil)) = 475837 (wstatus={WIFSIGNALED(s) && WTERMSIG(s) == SIGKILL})
    1168 waitpid(1171,0x7f44eea00340,0) = 1171 (wstatus={WIFSIGNALED(s) && WTERMSIG(s) == SIGKILL})

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-ID: <20241001193244.14939-1-iii@linux.ibm.com>
[rth: Drop extra output for NULL wstatus or error reading.]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
linux-user/strace.c
linux-user/strace.list