diff mbox series

[v2] linux-user: Enhance strace output for various syscalls

Message ID Y5dsfGB1RChGfraW@p100
State New
Headers show
Series [v2] linux-user: Enhance strace output for various syscalls | expand

Commit Message

Helge Deller Dec. 12, 2022, 6:01 p.m. UTC
Add appropriate strace printf formats for various Linux syscalls.

Signed-off-by: Helge Deller <deller@gmx.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

---
v2: Fixed a few entries based on review by Philippe Mathieu-Daudé

Comments

Laurent Vivier Jan. 31, 2023, 12:01 p.m. UTC | #1
Le 12/12/2022 à 19:01, Helge Deller a écrit :
> Add appropriate strace printf formats for various Linux syscalls.
> 
> Signed-off-by: Helge Deller <deller@gmx.de>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> 
> ---
> v2: Fixed a few entries based on review by Philippe Mathieu-Daudé
> 
> diff --git a/linux-user/strace.list b/linux-user/strace.list
> index 3a898e2532..a75101fca1 100644
> --- a/linux-user/strace.list
> +++ b/linux-user/strace.list
> @@ -337,7 +337,7 @@
>   { TARGET_NR_getpagesize, "getpagesize" , NULL, NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_getpeername
> -{ TARGET_NR_getpeername, "getpeername" , NULL, NULL, NULL },
> +{ TARGET_NR_getpeername, "getpeername" , "%s(%d,%p,%p)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_getpgid
>   { TARGET_NR_getpgid, "getpgid" , "%s(%u)", NULL, NULL },
> @@ -361,19 +361,19 @@
>   { TARGET_NR_getrandom, "getrandom", "%s(%p,%u,%u)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_getresgid
> -{ TARGET_NR_getresgid, "getresgid" , NULL, NULL, NULL },
> +{ TARGET_NR_getresgid, "getresgid" , "%s(%p,%p,%p)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_getresgid32
>   { TARGET_NR_getresgid32, "getresgid32" , NULL, NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_getresuid
> -{ TARGET_NR_getresuid, "getresuid" , NULL, NULL, NULL },
> +{ TARGET_NR_getresuid, "getresuid" , "%s(%p,%p,%p)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_getresuid32
>   { TARGET_NR_getresuid32, "getresuid32" , NULL, NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_getrlimit
> -{ TARGET_NR_getrlimit, "getrlimit" , NULL, NULL, NULL },
> +{ TARGET_NR_getrlimit, "getrlimit" , "%s(%d,%p)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_get_robust_list
>   { TARGET_NR_get_robust_list, "get_robust_list" , NULL, NULL, NULL },
> @@ -385,10 +385,10 @@
>   { TARGET_NR_getsid, "getsid" , "%s(%d)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_getsockname
> -{ TARGET_NR_getsockname, "getsockname" , NULL, NULL, NULL },
> +{ TARGET_NR_getsockname, "getsockname" , "%s(%d,%p,%p)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_getsockopt
> -{ TARGET_NR_getsockopt, "getsockopt" , NULL, NULL, NULL },
> +{ TARGET_NR_getsockopt, "getsockopt" , "%s(%d,%d,%d,%p,%p)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_get_thread_area
>   #if defined(TARGET_I386) && defined(TARGET_ABI32)
> @@ -1052,10 +1052,10 @@
>   { TARGET_NR_pivot_root, "pivot_root" , NULL, NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_poll
> -{ TARGET_NR_poll, "poll" , NULL, NULL, NULL },
> +{ TARGET_NR_poll, "poll" , "%s(%p,%u,%d)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_ppoll
> -{ TARGET_NR_ppoll, "ppoll" , NULL, NULL, NULL },
> +{ TARGET_NR_ppoll, "ppoll" , "%s(%p,%u,%p,%p)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_prctl
>   { TARGET_NR_prctl, "prctl" , NULL, NULL, NULL },
> @@ -1124,7 +1124,7 @@
>   { TARGET_NR_reboot, "reboot" , NULL, NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_recv
> -{ TARGET_NR_recv, "recv" , NULL, NULL, NULL },
> +{ TARGET_NR_recv, "recv" , "%s(%d,%p,%u,%d)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_recvfrom
>   { TARGET_NR_recvfrom, "recvfrom" , NULL, NULL, NULL },
> @@ -1184,7 +1184,7 @@
>   { TARGET_NR_rt_sigqueueinfo, "rt_sigqueueinfo" , NULL, print_rt_sigqueueinfo, NULL },
>   #endif
>   #ifdef TARGET_NR_rt_sigreturn
> -{ TARGET_NR_rt_sigreturn, "rt_sigreturn" , NULL, NULL, NULL },
> +{ TARGET_NR_rt_sigreturn, "rt_sigreturn" , "%s(%p)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_rt_sigsuspend
>   { TARGET_NR_rt_sigsuspend, "rt_sigsuspend" , NULL, NULL, NULL },
> @@ -1196,16 +1196,19 @@
>   { TARGET_NR_rt_tgsigqueueinfo, "rt_tgsigqueueinfo" , NULL, print_rt_tgsigqueueinfo, NULL },
>   #endif
>   #ifdef TARGET_NR_sched_getaffinity
> -{ TARGET_NR_sched_getaffinity, "sched_getaffinity" , NULL, NULL, NULL },
> +{ TARGET_NR_sched_getaffinity, "sched_getaffinity" , "%s(%d,%u,%p)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_sched_get_affinity
>   { TARGET_NR_sched_get_affinity, "sched_get_affinity" , NULL, NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_sched_getattr
> -{ TARGET_NR_sched_getattr, "sched_getattr" , NULL, NULL, NULL },
> +{ TARGET_NR_sched_getattr, "sched_getattr" , "%s(%d,%p,%u,%u)", NULL, NULL },
> +#endif
> +#ifdef TARGET_NR_sched_setattr
> +{ TARGET_NR_sched_setattr, "sched_setattr" , "%s(%p,%p)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_sched_getparam
> -{ TARGET_NR_sched_getparam, "sched_getparam" , NULL, NULL, NULL },
> +{ TARGET_NR_sched_getparam, "sched_getparam" , "%s(%d,%p)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_sched_get_priority_max
>   { TARGET_NR_sched_get_priority_max, "sched_get_priority_max" , NULL, NULL, NULL },
> @@ -1220,7 +1223,7 @@
>   { TARGET_NR_sched_rr_get_interval, "sched_rr_get_interval" , NULL, NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_sched_setaffinity
> -{ TARGET_NR_sched_setaffinity, "sched_setaffinity" , NULL, NULL, NULL },
> +{ TARGET_NR_sched_setaffinity, "sched_setaffinity" , "%s(%d,%u,%p)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_sched_setatt
>   { TARGET_NR_sched_setatt, "sched_setatt" , NULL, NULL, NULL },
> @@ -1353,23 +1356,23 @@
>   { TARGET_NR_setreuid32, "setreuid32" , "%s(%u,%u)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_setrlimit
> -{ TARGET_NR_setrlimit, "setrlimit" , NULL, NULL, NULL },
> +{ TARGET_NR_setrlimit, "setrlimit" , "%s(%d,%p)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_set_robust_list
> -{ TARGET_NR_set_robust_list, "set_robust_list" , NULL, NULL, NULL },
> +{ TARGET_NR_set_robust_list, "set_robust_list" , "%s(%p,%u)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_setsid
>   { TARGET_NR_setsid, "setsid" , "%s()", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_setsockopt
> -{ TARGET_NR_setsockopt, "setsockopt" , NULL, NULL, NULL },
> +{ TARGET_NR_setsockopt, "setsockopt" , "%s(%d,%d,%d,%p,%p)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_set_thread_area
>   { TARGET_NR_set_thread_area, "set_thread_area", "%s(0x"TARGET_ABI_FMT_lx")",
>     NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_set_tid_address
> -{ TARGET_NR_set_tid_address, "set_tid_address" , NULL, NULL, NULL },
> +{ TARGET_NR_set_tid_address, "set_tid_address" , "%s(%p)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_settimeofday
>   { TARGET_NR_settimeofday, "settimeofday" , NULL, print_settimeofday, NULL },
> @@ -1648,7 +1651,7 @@
>   { TARGET_NR_vserver, "vserver" , NULL, NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_wait4
> -{ TARGET_NR_wait4, "wait4" , NULL, NULL, NULL },
> +{ TARGET_NR_wait4, "wait4" , "%s(%d,%p,%d,%p)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_waitid
>   { TARGET_NR_waitid, "waitid" , "%s(%#x,%d,%p,%#x)", NULL, NULL },
> @@ -1672,7 +1675,7 @@
>   { TARGET_NR_sync_file_range2, "sync_file_range2", NULL, NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_pipe2
> -{ TARGET_NR_pipe2, "pipe2", NULL, NULL, NULL },
> +{ TARGET_NR_pipe2, "pipe2", "%s(%p,%d)", NULL, NULL },
>   #endif
>   #ifdef TARGET_NR_pidfd_open
>   { TARGET_NR_pidfd_open, "pidfd_open", "%s(%d,%u)", NULL, NULL },
> 

Applied to my linux-user-for-8.0 branch.

Thanks,
Laurent
diff mbox series

Patch

diff --git a/linux-user/strace.list b/linux-user/strace.list
index 3a898e2532..a75101fca1 100644
--- a/linux-user/strace.list
+++ b/linux-user/strace.list
@@ -337,7 +337,7 @@ 
 { TARGET_NR_getpagesize, "getpagesize" , NULL, NULL, NULL },
 #endif
 #ifdef TARGET_NR_getpeername
-{ TARGET_NR_getpeername, "getpeername" , NULL, NULL, NULL },
+{ TARGET_NR_getpeername, "getpeername" , "%s(%d,%p,%p)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_getpgid
 { TARGET_NR_getpgid, "getpgid" , "%s(%u)", NULL, NULL },
@@ -361,19 +361,19 @@ 
 { TARGET_NR_getrandom, "getrandom", "%s(%p,%u,%u)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_getresgid
-{ TARGET_NR_getresgid, "getresgid" , NULL, NULL, NULL },
+{ TARGET_NR_getresgid, "getresgid" , "%s(%p,%p,%p)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_getresgid32
 { TARGET_NR_getresgid32, "getresgid32" , NULL, NULL, NULL },
 #endif
 #ifdef TARGET_NR_getresuid
-{ TARGET_NR_getresuid, "getresuid" , NULL, NULL, NULL },
+{ TARGET_NR_getresuid, "getresuid" , "%s(%p,%p,%p)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_getresuid32
 { TARGET_NR_getresuid32, "getresuid32" , NULL, NULL, NULL },
 #endif
 #ifdef TARGET_NR_getrlimit
-{ TARGET_NR_getrlimit, "getrlimit" , NULL, NULL, NULL },
+{ TARGET_NR_getrlimit, "getrlimit" , "%s(%d,%p)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_get_robust_list
 { TARGET_NR_get_robust_list, "get_robust_list" , NULL, NULL, NULL },
@@ -385,10 +385,10 @@ 
 { TARGET_NR_getsid, "getsid" , "%s(%d)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_getsockname
-{ TARGET_NR_getsockname, "getsockname" , NULL, NULL, NULL },
+{ TARGET_NR_getsockname, "getsockname" , "%s(%d,%p,%p)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_getsockopt
-{ TARGET_NR_getsockopt, "getsockopt" , NULL, NULL, NULL },
+{ TARGET_NR_getsockopt, "getsockopt" , "%s(%d,%d,%d,%p,%p)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_get_thread_area
 #if defined(TARGET_I386) && defined(TARGET_ABI32)
@@ -1052,10 +1052,10 @@ 
 { TARGET_NR_pivot_root, "pivot_root" , NULL, NULL, NULL },
 #endif
 #ifdef TARGET_NR_poll
-{ TARGET_NR_poll, "poll" , NULL, NULL, NULL },
+{ TARGET_NR_poll, "poll" , "%s(%p,%u,%d)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_ppoll
-{ TARGET_NR_ppoll, "ppoll" , NULL, NULL, NULL },
+{ TARGET_NR_ppoll, "ppoll" , "%s(%p,%u,%p,%p)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_prctl
 { TARGET_NR_prctl, "prctl" , NULL, NULL, NULL },
@@ -1124,7 +1124,7 @@ 
 { TARGET_NR_reboot, "reboot" , NULL, NULL, NULL },
 #endif
 #ifdef TARGET_NR_recv
-{ TARGET_NR_recv, "recv" , NULL, NULL, NULL },
+{ TARGET_NR_recv, "recv" , "%s(%d,%p,%u,%d)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_recvfrom
 { TARGET_NR_recvfrom, "recvfrom" , NULL, NULL, NULL },
@@ -1184,7 +1184,7 @@ 
 { TARGET_NR_rt_sigqueueinfo, "rt_sigqueueinfo" , NULL, print_rt_sigqueueinfo, NULL },
 #endif
 #ifdef TARGET_NR_rt_sigreturn
-{ TARGET_NR_rt_sigreturn, "rt_sigreturn" , NULL, NULL, NULL },
+{ TARGET_NR_rt_sigreturn, "rt_sigreturn" , "%s(%p)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_rt_sigsuspend
 { TARGET_NR_rt_sigsuspend, "rt_sigsuspend" , NULL, NULL, NULL },
@@ -1196,16 +1196,19 @@ 
 { TARGET_NR_rt_tgsigqueueinfo, "rt_tgsigqueueinfo" , NULL, print_rt_tgsigqueueinfo, NULL },
 #endif
 #ifdef TARGET_NR_sched_getaffinity
-{ TARGET_NR_sched_getaffinity, "sched_getaffinity" , NULL, NULL, NULL },
+{ TARGET_NR_sched_getaffinity, "sched_getaffinity" , "%s(%d,%u,%p)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_sched_get_affinity
 { TARGET_NR_sched_get_affinity, "sched_get_affinity" , NULL, NULL, NULL },
 #endif
 #ifdef TARGET_NR_sched_getattr
-{ TARGET_NR_sched_getattr, "sched_getattr" , NULL, NULL, NULL },
+{ TARGET_NR_sched_getattr, "sched_getattr" , "%s(%d,%p,%u,%u)", NULL, NULL },
+#endif
+#ifdef TARGET_NR_sched_setattr
+{ TARGET_NR_sched_setattr, "sched_setattr" , "%s(%p,%p)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_sched_getparam
-{ TARGET_NR_sched_getparam, "sched_getparam" , NULL, NULL, NULL },
+{ TARGET_NR_sched_getparam, "sched_getparam" , "%s(%d,%p)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_sched_get_priority_max
 { TARGET_NR_sched_get_priority_max, "sched_get_priority_max" , NULL, NULL, NULL },
@@ -1220,7 +1223,7 @@ 
 { TARGET_NR_sched_rr_get_interval, "sched_rr_get_interval" , NULL, NULL, NULL },
 #endif
 #ifdef TARGET_NR_sched_setaffinity
-{ TARGET_NR_sched_setaffinity, "sched_setaffinity" , NULL, NULL, NULL },
+{ TARGET_NR_sched_setaffinity, "sched_setaffinity" , "%s(%d,%u,%p)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_sched_setatt
 { TARGET_NR_sched_setatt, "sched_setatt" , NULL, NULL, NULL },
@@ -1353,23 +1356,23 @@ 
 { TARGET_NR_setreuid32, "setreuid32" , "%s(%u,%u)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_setrlimit
-{ TARGET_NR_setrlimit, "setrlimit" , NULL, NULL, NULL },
+{ TARGET_NR_setrlimit, "setrlimit" , "%s(%d,%p)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_set_robust_list
-{ TARGET_NR_set_robust_list, "set_robust_list" , NULL, NULL, NULL },
+{ TARGET_NR_set_robust_list, "set_robust_list" , "%s(%p,%u)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_setsid
 { TARGET_NR_setsid, "setsid" , "%s()", NULL, NULL },
 #endif
 #ifdef TARGET_NR_setsockopt
-{ TARGET_NR_setsockopt, "setsockopt" , NULL, NULL, NULL },
+{ TARGET_NR_setsockopt, "setsockopt" , "%s(%d,%d,%d,%p,%p)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_set_thread_area
 { TARGET_NR_set_thread_area, "set_thread_area", "%s(0x"TARGET_ABI_FMT_lx")",
   NULL, NULL },
 #endif
 #ifdef TARGET_NR_set_tid_address
-{ TARGET_NR_set_tid_address, "set_tid_address" , NULL, NULL, NULL },
+{ TARGET_NR_set_tid_address, "set_tid_address" , "%s(%p)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_settimeofday
 { TARGET_NR_settimeofday, "settimeofday" , NULL, print_settimeofday, NULL },
@@ -1648,7 +1651,7 @@ 
 { TARGET_NR_vserver, "vserver" , NULL, NULL, NULL },
 #endif
 #ifdef TARGET_NR_wait4
-{ TARGET_NR_wait4, "wait4" , NULL, NULL, NULL },
+{ TARGET_NR_wait4, "wait4" , "%s(%d,%p,%d,%p)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_waitid
 { TARGET_NR_waitid, "waitid" , "%s(%#x,%d,%p,%#x)", NULL, NULL },
@@ -1672,7 +1675,7 @@ 
 { TARGET_NR_sync_file_range2, "sync_file_range2", NULL, NULL, NULL },
 #endif
 #ifdef TARGET_NR_pipe2
-{ TARGET_NR_pipe2, "pipe2", NULL, NULL, NULL },
+{ TARGET_NR_pipe2, "pipe2", "%s(%p,%d)", NULL, NULL },
 #endif
 #ifdef TARGET_NR_pidfd_open
 { TARGET_NR_pidfd_open, "pidfd_open", "%s(%d,%u)", NULL, NULL },