Message ID | 20191120145724.GA15677@ls3530.fritz.box (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] linux-user/strace: Improve output of various syscalls | expand |
On Wed, Nov 20, 2019 at 3:58 PM Helge Deller <deller@gmx.de> wrote: > > Improve strace output of various syscalls which either have none > or only int-type parameters. > > Signed-off-by: Helge Deller <deller@gmx.de> > It would be nice if you included a history of the patch (after the line "---", as it is customary for single patch submission). You changed only ioctl() in v2, right? I missed your v2, but responded with several hints to v1. Yours, Aleksandar > diff --git a/linux-user/strace.list b/linux-user/strace.list > index 1de4319dcf..add53b1734 100644 > --- a/linux-user/strace.list > +++ b/linux-user/strace.list > @@ -26,7 +26,7 @@ > { TARGET_NR_afs_syscall, "afs_syscall" , NULL, NULL, NULL }, > #endif > #ifdef TARGET_NR_alarm > -{ TARGET_NR_alarm, "alarm" , NULL, NULL, NULL }, > +{ TARGET_NR_alarm, "alarm" , "%s(%d)", NULL, NULL }, > #endif > #ifdef TARGET_NR_aplib > { TARGET_NR_aplib, "aplib" , NULL, NULL, NULL }, > @@ -116,13 +116,13 @@ > { TARGET_NR_dipc, "dipc" , NULL, NULL, NULL }, > #endif > #ifdef TARGET_NR_dup > -{ TARGET_NR_dup, "dup" , NULL, NULL, NULL }, > +{ TARGET_NR_dup, "dup" , "%s(%d)", NULL, NULL }, > #endif > #ifdef TARGET_NR_dup2 > -{ TARGET_NR_dup2, "dup2" , NULL, NULL, NULL }, > +{ TARGET_NR_dup2, "dup2" , "%s(%d,%d)", NULL, NULL }, > #endif > #ifdef TARGET_NR_dup3 > -{ TARGET_NR_dup3, "dup3" , NULL, NULL, NULL }, > +{ TARGET_NR_dup3, "dup3" , "%s(%d,%d,%d)", NULL, NULL }, > #endif > #ifdef TARGET_NR_epoll_create > { TARGET_NR_epoll_create, "epoll_create" , NULL, NULL, NULL }, > @@ -191,7 +191,7 @@ > { TARGET_NR_fanotify_mark, "fanotify_mark" , NULL, NULL, NULL }, > #endif > #ifdef TARGET_NR_fchdir > -{ TARGET_NR_fchdir, "fchdir" , NULL, NULL, NULL }, > +{ TARGET_NR_fchdir, "fchdir" , "%s(%d)", NULL, NULL }, > #endif > #ifdef TARGET_NR_fchmod > { TARGET_NR_fchmod, "fchmod" , "%s(%d,%#o)", NULL, NULL }, > @@ -287,7 +287,7 @@ > { TARGET_NR_getdtablesize, "getdtablesize" , NULL, NULL, NULL }, > #endif > #ifdef TARGET_NR_getegid > -{ TARGET_NR_getegid, "getegid" , NULL, NULL, NULL }, > +{ TARGET_NR_getegid, "getegid" , "%s()", NULL, NULL }, > #endif > #ifdef TARGET_NR_getegid32 > { TARGET_NR_getegid32, "getegid32" , NULL, NULL, NULL }, > @@ -299,7 +299,7 @@ > { TARGET_NR_geteuid32, "geteuid32" , NULL, NULL, NULL }, > #endif > #ifdef TARGET_NR_getgid > -{ TARGET_NR_getgid, "getgid" , NULL, NULL, NULL }, > +{ TARGET_NR_getgid, "getgid" , "%s()", NULL, NULL }, > #endif > #ifdef TARGET_NR_getgid32 > { TARGET_NR_getgid32, "getgid32" , NULL, NULL, NULL }, > @@ -329,10 +329,10 @@ > { TARGET_NR_getpeername, "getpeername" , NULL, NULL, NULL }, > #endif > #ifdef TARGET_NR_getpgid > -{ TARGET_NR_getpgid, "getpgid" , NULL, NULL, NULL }, > +{ TARGET_NR_getpgid, "getpgid" , "%s(%u)", NULL, NULL }, > #endif > #ifdef TARGET_NR_getpgrp > -{ TARGET_NR_getpgrp, "getpgrp" , NULL, NULL, NULL }, > +{ TARGET_NR_getpgrp, "getpgrp" , "%s()", NULL, NULL }, > #endif > #ifdef TARGET_NR_getpid > { TARGET_NR_getpid, "getpid" , "%s()", NULL, NULL }, > @@ -432,7 +432,7 @@ > { TARGET_NR_io_cancel, "io_cancel" , NULL, NULL, NULL }, > #endif > #ifdef TARGET_NR_ioctl > -{ TARGET_NR_ioctl, "ioctl" , NULL, NULL, NULL }, > +{ TARGET_NR_ioctl, "ioctl" , "%s(%d,%#x,%#x)", NULL, NULL }, > #endif > #ifdef TARGET_NR_io_destroy > { TARGET_NR_io_destroy, "io_destroy" , NULL, NULL, NULL }, > @@ -1257,22 +1257,22 @@ > { TARGET_NR_setdomainname, "setdomainname" , NULL, NULL, NULL }, > #endif > #ifdef TARGET_NR_setfsgid > -{ TARGET_NR_setfsgid, "setfsgid" , NULL, NULL, NULL }, > +{ TARGET_NR_setfsgid, "setfsgid" , "%s(%u)", NULL, NULL }, > #endif > #ifdef TARGET_NR_setfsgid32 > -{ TARGET_NR_setfsgid32, "setfsgid32" , NULL, NULL, NULL }, > +{ TARGET_NR_setfsgid32, "setfsgid32" , "%s(%u)" , NULL, NULL }, > #endif > #ifdef TARGET_NR_setfsuid > -{ TARGET_NR_setfsuid, "setfsuid" , NULL, NULL, NULL }, > +{ TARGET_NR_setfsuid, "setfsuid" , "%s(%u)" , NULL, NULL }, > #endif > #ifdef TARGET_NR_setfsuid32 > { TARGET_NR_setfsuid32, "setfsuid32" , NULL, NULL, NULL }, > #endif > #ifdef TARGET_NR_setgid > -{ TARGET_NR_setgid, "setgid" , NULL, NULL, NULL }, > +{ TARGET_NR_setgid, "setgid" , "%s(%u)", NULL, NULL }, > #endif > #ifdef TARGET_NR_setgid32 > -{ TARGET_NR_setgid32, "setgid32" , NULL, NULL, NULL }, > +{ TARGET_NR_setgid32, "setgid32" , "%s(%u)", NULL, NULL }, > #endif > #ifdef TARGET_NR_setgroups > { TARGET_NR_setgroups, "setgroups" , NULL, NULL, NULL }, > @@ -1296,7 +1296,7 @@ > { TARGET_NR_setns, "setns" , NULL, NULL, NULL }, > #endif > #ifdef TARGET_NR_setpgid > -{ TARGET_NR_setpgid, "setpgid" , NULL, NULL, NULL }, > +{ TARGET_NR_setpgid, "setpgid" , "%s(%u,%u)", NULL, NULL }, > #endif > #ifdef TARGET_NR_setpgrp > { TARGET_NR_setpgrp, "setpgrp" , NULL, NULL, NULL }, > @@ -1311,22 +1311,22 @@ > { TARGET_NR_setregid32, "setregid32" , NULL, NULL, NULL }, > #endif > #ifdef TARGET_NR_setresgid > -{ TARGET_NR_setresgid, "setresgid" , NULL, NULL, NULL }, > +{ TARGET_NR_setresgid, "setresgid" , "%s(%u,%u,%u)", NULL, NULL }, > #endif > #ifdef TARGET_NR_setresgid32 > { TARGET_NR_setresgid32, "setresgid32" , NULL, NULL, NULL }, > #endif > #ifdef TARGET_NR_setresuid > -{ TARGET_NR_setresuid, "setresuid" , NULL, NULL, NULL }, > +{ TARGET_NR_setresuid, "setresuid" , "%s(%u,%u,%u)", NULL, NULL }, > #endif > #ifdef TARGET_NR_setresuid32 > -{ TARGET_NR_setresuid32, "setresuid32" , NULL, NULL, NULL }, > +{ TARGET_NR_setresuid32, "setresuid32" , "%s(%u,%u,%u)", NULL, NULL }, > #endif > #ifdef TARGET_NR_setreuid > -{ TARGET_NR_setreuid, "setreuid" , NULL, NULL, NULL }, > +{ TARGET_NR_setreuid, "setreuid" , "%s(%u,%u)", NULL, NULL }, > #endif > #ifdef TARGET_NR_setreuid32 > -{ TARGET_NR_setreuid32, "setreuid32" , NULL, NULL, NULL }, > +{ TARGET_NR_setreuid32, "setreuid32" , "%s(%u,%u)", NULL, NULL }, > #endif > #ifdef TARGET_NR_setrlimit > { TARGET_NR_setrlimit, "setrlimit" , NULL, NULL, NULL }, > @@ -1335,7 +1335,7 @@ > { TARGET_NR_set_robust_list, "set_robust_list" , NULL, NULL, NULL }, > #endif > #ifdef TARGET_NR_setsid > -{ TARGET_NR_setsid, "setsid" , NULL, NULL, NULL }, > +{ TARGET_NR_setsid, "setsid" , "%s()", NULL, NULL }, > #endif > #ifdef TARGET_NR_setsockopt > { TARGET_NR_setsockopt, "setsockopt" , NULL, NULL, NULL }, >
On Wed, Nov 20, 2019 at 10:13 PM Aleksandar Markovic <aleksandar.m.mail@gmail.com> wrote: > > On Wed, Nov 20, 2019 at 3:58 PM Helge Deller <deller@gmx.de> wrote: > > > > Improve strace output of various syscalls which either have none > > or only int-type parameters. > > > > Signed-off-by: Helge Deller <deller@gmx.de> > > > > It would be nice if you included a history of the patch (after the line > "---", as it is customary for single patch submission). You changed > only ioctl() in v2, right? > > I missed your v2, but responded with several hints to v1. > userfaultfd(), membarrier(), mlock2()... - all could be included into your patch. The table https://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64/ would make your job almost effortless. > Yours, > Aleksandar > > > diff --git a/linux-user/strace.list b/linux-user/strace.list > > index 1de4319dcf..add53b1734 100644 > > --- a/linux-user/strace.list > > +++ b/linux-user/strace.list > > @@ -26,7 +26,7 @@ > > { TARGET_NR_afs_syscall, "afs_syscall" , NULL, NULL, NULL }, > > #endif > > #ifdef TARGET_NR_alarm > > -{ TARGET_NR_alarm, "alarm" , NULL, NULL, NULL }, > > +{ TARGET_NR_alarm, "alarm" , "%s(%d)", NULL, NULL }, > > #endif > > #ifdef TARGET_NR_aplib > > { TARGET_NR_aplib, "aplib" , NULL, NULL, NULL }, > > @@ -116,13 +116,13 @@ > > { TARGET_NR_dipc, "dipc" , NULL, NULL, NULL }, > > #endif > > #ifdef TARGET_NR_dup > > -{ TARGET_NR_dup, "dup" , NULL, NULL, NULL }, > > +{ TARGET_NR_dup, "dup" , "%s(%d)", NULL, NULL }, > > #endif > > #ifdef TARGET_NR_dup2 > > -{ TARGET_NR_dup2, "dup2" , NULL, NULL, NULL }, > > +{ TARGET_NR_dup2, "dup2" , "%s(%d,%d)", NULL, NULL }, > > #endif > > #ifdef TARGET_NR_dup3 > > -{ TARGET_NR_dup3, "dup3" , NULL, NULL, NULL }, > > +{ TARGET_NR_dup3, "dup3" , "%s(%d,%d,%d)", NULL, NULL }, > > #endif > > #ifdef TARGET_NR_epoll_create > > { TARGET_NR_epoll_create, "epoll_create" , NULL, NULL, NULL }, > > @@ -191,7 +191,7 @@ > > { TARGET_NR_fanotify_mark, "fanotify_mark" , NULL, NULL, NULL }, > > #endif > > #ifdef TARGET_NR_fchdir > > -{ TARGET_NR_fchdir, "fchdir" , NULL, NULL, NULL }, > > +{ TARGET_NR_fchdir, "fchdir" , "%s(%d)", NULL, NULL }, > > #endif > > #ifdef TARGET_NR_fchmod > > { TARGET_NR_fchmod, "fchmod" , "%s(%d,%#o)", NULL, NULL }, > > @@ -287,7 +287,7 @@ > > { TARGET_NR_getdtablesize, "getdtablesize" , NULL, NULL, NULL }, > > #endif > > #ifdef TARGET_NR_getegid > > -{ TARGET_NR_getegid, "getegid" , NULL, NULL, NULL }, > > +{ TARGET_NR_getegid, "getegid" , "%s()", NULL, NULL }, > > #endif > > #ifdef TARGET_NR_getegid32 > > { TARGET_NR_getegid32, "getegid32" , NULL, NULL, NULL }, > > @@ -299,7 +299,7 @@ > > { TARGET_NR_geteuid32, "geteuid32" , NULL, NULL, NULL }, > > #endif > > #ifdef TARGET_NR_getgid > > -{ TARGET_NR_getgid, "getgid" , NULL, NULL, NULL }, > > +{ TARGET_NR_getgid, "getgid" , "%s()", NULL, NULL }, > > #endif > > #ifdef TARGET_NR_getgid32 > > { TARGET_NR_getgid32, "getgid32" , NULL, NULL, NULL }, > > @@ -329,10 +329,10 @@ > > { TARGET_NR_getpeername, "getpeername" , NULL, NULL, NULL }, > > #endif > > #ifdef TARGET_NR_getpgid > > -{ TARGET_NR_getpgid, "getpgid" , NULL, NULL, NULL }, > > +{ TARGET_NR_getpgid, "getpgid" , "%s(%u)", NULL, NULL }, > > #endif > > #ifdef TARGET_NR_getpgrp > > -{ TARGET_NR_getpgrp, "getpgrp" , NULL, NULL, NULL }, > > +{ TARGET_NR_getpgrp, "getpgrp" , "%s()", NULL, NULL }, > > #endif > > #ifdef TARGET_NR_getpid > > { TARGET_NR_getpid, "getpid" , "%s()", NULL, NULL }, > > @@ -432,7 +432,7 @@ > > { TARGET_NR_io_cancel, "io_cancel" , NULL, NULL, NULL }, > > #endif > > #ifdef TARGET_NR_ioctl > > -{ TARGET_NR_ioctl, "ioctl" , NULL, NULL, NULL }, > > +{ TARGET_NR_ioctl, "ioctl" , "%s(%d,%#x,%#x)", NULL, NULL }, > > #endif > > #ifdef TARGET_NR_io_destroy > > { TARGET_NR_io_destroy, "io_destroy" , NULL, NULL, NULL }, > > @@ -1257,22 +1257,22 @@ > > { TARGET_NR_setdomainname, "setdomainname" , NULL, NULL, NULL }, > > #endif > > #ifdef TARGET_NR_setfsgid > > -{ TARGET_NR_setfsgid, "setfsgid" , NULL, NULL, NULL }, > > +{ TARGET_NR_setfsgid, "setfsgid" , "%s(%u)", NULL, NULL }, > > #endif > > #ifdef TARGET_NR_setfsgid32 > > -{ TARGET_NR_setfsgid32, "setfsgid32" , NULL, NULL, NULL }, > > +{ TARGET_NR_setfsgid32, "setfsgid32" , "%s(%u)" , NULL, NULL }, > > #endif > > #ifdef TARGET_NR_setfsuid > > -{ TARGET_NR_setfsuid, "setfsuid" , NULL, NULL, NULL }, > > +{ TARGET_NR_setfsuid, "setfsuid" , "%s(%u)" , NULL, NULL }, > > #endif > > #ifdef TARGET_NR_setfsuid32 > > { TARGET_NR_setfsuid32, "setfsuid32" , NULL, NULL, NULL }, > > #endif > > #ifdef TARGET_NR_setgid > > -{ TARGET_NR_setgid, "setgid" , NULL, NULL, NULL }, > > +{ TARGET_NR_setgid, "setgid" , "%s(%u)", NULL, NULL }, > > #endif > > #ifdef TARGET_NR_setgid32 > > -{ TARGET_NR_setgid32, "setgid32" , NULL, NULL, NULL }, > > +{ TARGET_NR_setgid32, "setgid32" , "%s(%u)", NULL, NULL }, > > #endif > > #ifdef TARGET_NR_setgroups > > { TARGET_NR_setgroups, "setgroups" , NULL, NULL, NULL }, > > @@ -1296,7 +1296,7 @@ > > { TARGET_NR_setns, "setns" , NULL, NULL, NULL }, > > #endif > > #ifdef TARGET_NR_setpgid > > -{ TARGET_NR_setpgid, "setpgid" , NULL, NULL, NULL }, > > +{ TARGET_NR_setpgid, "setpgid" , "%s(%u,%u)", NULL, NULL }, > > #endif > > #ifdef TARGET_NR_setpgrp > > { TARGET_NR_setpgrp, "setpgrp" , NULL, NULL, NULL }, > > @@ -1311,22 +1311,22 @@ > > { TARGET_NR_setregid32, "setregid32" , NULL, NULL, NULL }, > > #endif > > #ifdef TARGET_NR_setresgid > > -{ TARGET_NR_setresgid, "setresgid" , NULL, NULL, NULL }, > > +{ TARGET_NR_setresgid, "setresgid" , "%s(%u,%u,%u)", NULL, NULL }, > > #endif > > #ifdef TARGET_NR_setresgid32 > > { TARGET_NR_setresgid32, "setresgid32" , NULL, NULL, NULL }, > > #endif > > #ifdef TARGET_NR_setresuid > > -{ TARGET_NR_setresuid, "setresuid" , NULL, NULL, NULL }, > > +{ TARGET_NR_setresuid, "setresuid" , "%s(%u,%u,%u)", NULL, NULL }, > > #endif > > #ifdef TARGET_NR_setresuid32 > > -{ TARGET_NR_setresuid32, "setresuid32" , NULL, NULL, NULL }, > > +{ TARGET_NR_setresuid32, "setresuid32" , "%s(%u,%u,%u)", NULL, NULL }, > > #endif > > #ifdef TARGET_NR_setreuid > > -{ TARGET_NR_setreuid, "setreuid" , NULL, NULL, NULL }, > > +{ TARGET_NR_setreuid, "setreuid" , "%s(%u,%u)", NULL, NULL }, > > #endif > > #ifdef TARGET_NR_setreuid32 > > -{ TARGET_NR_setreuid32, "setreuid32" , NULL, NULL, NULL }, > > +{ TARGET_NR_setreuid32, "setreuid32" , "%s(%u,%u)", NULL, NULL }, > > #endif > > #ifdef TARGET_NR_setrlimit > > { TARGET_NR_setrlimit, "setrlimit" , NULL, NULL, NULL }, > > @@ -1335,7 +1335,7 @@ > > { TARGET_NR_set_robust_list, "set_robust_list" , NULL, NULL, NULL }, > > #endif > > #ifdef TARGET_NR_setsid > > -{ TARGET_NR_setsid, "setsid" , NULL, NULL, NULL }, > > +{ TARGET_NR_setsid, "setsid" , "%s()", NULL, NULL }, > > #endif > > #ifdef TARGET_NR_setsockopt > > { TARGET_NR_setsockopt, "setsockopt" , NULL, NULL, NULL }, > >
On 20.11.19 23:20, Aleksandar Markovic wrote: > On Wed, Nov 20, 2019 at 10:13 PM Aleksandar Markovic > <aleksandar.m.mail@gmail.com> wrote: >> >> On Wed, Nov 20, 2019 at 3:58 PM Helge Deller <deller@gmx.de> wrote: >>> >>> Improve strace output of various syscalls which either have none >>> or only int-type parameters. >> >> It would be nice if you included a history of the patch (after the line >> "---", as it is customary for single patch submission). You changed >> only ioctl() in v2, right? Yes. Will add history in next round. >> I missed your v2, but responded with several hints to v1. Yes, I saw all your mails. Thanks for your feedback! > userfaultfd(), membarrier(), mlock2()... - all could be included into > your patch. I think there are quite some more which I didn't included. That's why I wrote "*various*" and not "*all*" in my changelog. I'm debugging other code, and the ones I fixed are the ones I actually tested with my code. Helge
On 11/21/19 9:19 AM, Helge Deller wrote: > On 20.11.19 23:20, Aleksandar Markovic wrote: >> On Wed, Nov 20, 2019 at 10:13 PM Aleksandar Markovic >> <aleksandar.m.mail@gmail.com> wrote: >>> >>> On Wed, Nov 20, 2019 at 3:58 PM Helge Deller <deller@gmx.de> wrote: >>>> >>>> Improve strace output of various syscalls which either have none >>>> or only int-type parameters. >>> >>> It would be nice if you included a history of the patch (after the line >>> "---", as it is customary for single patch submission). You changed >>> only ioctl() in v2, right? > > Yes. Will add history in next round. > >>> I missed your v2, but responded with several hints to v1. > > Yes, I saw all your mails. > Thanks for your feedback! > >> userfaultfd(), membarrier(), mlock2()... - all could be included into >> your patch. > > I think there are quite some more which I didn't included. > That's why I wrote "*various*" and not "*all*" in my changelog. > I'm debugging other code, and the ones I fixed are the ones I > actually tested with my code. If you don't have handy way to test the other syscalls, I'll rather restrict your patch to the one you tested, at least you are certain you didn't introduced regressions. Unless their implementation is trivial, of course.
ū On Thursday, November 21, 2019, Philippe Mathieu-Daudé <philmd@redhat.com> wrote: > On 11/21/19 9:19 AM, Helge Deller wrote: > >> On 20.11.19 23:20, Aleksandar Markovic wrote: >> >>> On Wed, Nov 20, 2019 at 10:13 PM Aleksandar Markovic >>> <aleksandar.m.mail@gmail.com> wrote: >>> >>>> >>>> On Wed, Nov 20, 2019 at 3:58 PM Helge Deller <deller@gmx.de> wrote: >>>> >>>>> >>>>> Improve strace output of various syscalls which either have none >>>>> or only int-type parameters. >>>>> >>>> >>>> It would be nice if you included a history of the patch (after the line >>>> "---", as it is customary for single patch submission). You changed >>>> only ioctl() in v2, right? >>>> >>> >> Yes. Will add history in next round. >> >> I missed your v2, but responded with several hints to v1. >>>> >>> >> Yes, I saw all your mails. >> Thanks for your feedback! >> >> userfaultfd(), membarrier(), mlock2()... - all could be included into >>> your patch. >>> >> >> I think there are quite some more which I didn't included. >> That's why I wrote "*various*" and not "*all*" in my changelog. >> I'm debugging other code, and the ones I fixed are the ones I >> actually tested with my code. >> > > If you don't have handy way to test the other syscalls, I'll rather > restrict your patch to the one you tested, at least you are certain you > didn't introduced regressions. Unless their implementation is trivial, of > course. > > What can be handier than writing a program that contains a single system call?
On 11/21/19 6:00 PM, Aleksandar Markovic wrote: > On Thursday, November 21, 2019, Philippe Mathieu-Daudé > <philmd@redhat.com <mailto:philmd@redhat.com>> wrote: > > On 11/21/19 9:19 AM, Helge Deller wrote: > > On 20.11.19 23:20, Aleksandar Markovic wrote: > > On Wed, Nov 20, 2019 at 10:13 PM Aleksandar Markovic > <aleksandar.m.mail@gmail.com > <mailto:aleksandar.m.mail@gmail.com>> wrote: > > > On Wed, Nov 20, 2019 at 3:58 PM Helge Deller > <deller@gmx.de <mailto:deller@gmx.de>> wrote: > > > Improve strace output of various syscalls which > either have none > or only int-type parameters. > > > It would be nice if you included a history of the patch > (after the line > "---", as it is customary for single patch submission). > You changed > only ioctl() in v2, right? > > > Yes. Will add history in next round. > > I missed your v2, but responded with several hints to v1. > > > Yes, I saw all your mails. > Thanks for your feedback! > > userfaultfd(), membarrier(), mlock2()... - all could be > included into > your patch. > > > I think there are quite some more which I didn't included. > That's why I wrote "*various*" and not "*all*" in my changelog. > I'm debugging other code, and the ones I fixed are the ones I > actually tested with my code. > > > If you don't have handy way to test the other syscalls, I'll rather > restrict your patch to the one you tested, at least you are certain > you didn't introduced regressions. Unless their implementation is > trivial, of course. > > > What can be handier than writing a program that contains a single system > call? Ahah very easy indeed :) Not noticing it shows how busy I am with firmware world than I forgot linux-user can be a simpler/powerful way to easily test stuff, as the Hexagon recent port also demonstrated.
On Thursday, November 21, 2019, Philippe Mathieu-Daudé <philmd@redhat.com> wrote: > On 11/21/19 6:00 PM, Aleksandar Markovic wrote: > >> On Thursday, November 21, 2019, Philippe Mathieu-Daudé <philmd@redhat.com >> <mailto:philmd@redhat.com>> wrote: >> >> On 11/21/19 9:19 AM, Helge Deller wrote: >> >> On 20.11.19 23:20, Aleksandar Markovic wrote: >> >> On Wed, Nov 20, 2019 at 10:13 PM Aleksandar Markovic >> <aleksandar.m.mail@gmail.com >> <mailto:aleksandar.m.mail@gmail.com>> wrote: >> >> >> On Wed, Nov 20, 2019 at 3:58 PM Helge Deller >> <deller@gmx.de <mailto:deller@gmx.de>> wrote: >> >> >> Improve strace output of various syscalls which >> either have none >> or only int-type parameters. >> >> >> It would be nice if you included a history of the patch >> (after the line >> "---", as it is customary for single patch submission). >> You changed >> only ioctl() in v2, right? >> >> >> Yes. Will add history in next round. >> >> I missed your v2, but responded with several hints to v1. >> >> >> Yes, I saw all your mails. >> Thanks for your feedback! >> >> userfaultfd(), membarrier(), mlock2()... - all could be >> included into >> your patch. >> >> >> I think there are quite some more which I didn't included. >> That's why I wrote "*various*" and not "*all*" in my changelog. >> I'm debugging other code, and the ones I fixed are the ones I >> actually tested with my code. >> >> >> If you don't have handy way to test the other syscalls, I'll rather >> restrict your patch to the one you tested, at least you are certain >> you didn't introduced regressions. Unless their implementation is >> trivial, of course. >> >> >> What can be handier than writing a program that contains a single system >> call? >> > > Ahah very easy indeed :) Not noticing it shows how busy I am with firmware > world than I forgot linux-user can be a simpler/powerful way to easily test > stuff, as the Hexagon recent port also demonstrated. > > Hexagon port doesn't have anything to do with this patch and didn't demonstrate anything new wrt linux-user. I have no idea what you meant to say. But, OK, Helge is the submitter, and he decides on the scope of his patch. I am fine if he wants to limit it only to handful of syscalls. I just hinted he could increase the vslue of the patch significantly in an easy way. Thanks, Aleksandar
On 11/21/19 6:35 PM, Aleksandar Markovic wrote: > On Thursday, November 21, 2019, Philippe Mathieu-Daudé > <philmd@redhat.com <mailto:philmd@redhat.com>> wrote: > > On 11/21/19 6:00 PM, Aleksandar Markovic wrote: > > On Thursday, November 21, 2019, Philippe Mathieu-Daudé > <philmd@redhat.com <mailto:philmd@redhat.com> > <mailto:philmd@redhat.com <mailto:philmd@redhat.com>>> wrote: > > On 11/21/19 9:19 AM, Helge Deller wrote: > > On 20.11.19 23:20, Aleksandar Markovic wrote: > > On Wed, Nov 20, 2019 at 10:13 PM Aleksandar Markovic > <aleksandar.m.mail@gmail.com > <mailto:aleksandar.m.mail@gmail.com> > <mailto:aleksandar.m.mail@gmail.com > <mailto:aleksandar.m.mail@gmail.com>>> wrote: > > > On Wed, Nov 20, 2019 at 3:58 PM Helge Deller > <deller@gmx.de <mailto:deller@gmx.de> > <mailto:deller@gmx.de <mailto:deller@gmx.de>>> wrote: > > > Improve strace output of various syscalls which > either have none > or only int-type parameters. > > > It would be nice if you included a history of > the patch > (after the line > "---", as it is customary for single patch > submission). > You changed > only ioctl() in v2, right? > > > Yes. Will add history in next round. > > I missed your v2, but responded with several > hints to v1. > > > Yes, I saw all your mails. > Thanks for your feedback! > > userfaultfd(), membarrier(), mlock2()... - all could be > included into > your patch. > > > I think there are quite some more which I didn't included. > That's why I wrote "*various*" and not "*all*" in my > changelog. > I'm debugging other code, and the ones I fixed are the > ones I > actually tested with my code. > > > If you don't have handy way to test the other syscalls, > I'll rather > restrict your patch to the one you tested, at least you are > certain > you didn't introduced regressions. Unless their > implementation is > trivial, of course. > > > What can be handier than writing a program that contains a > single system call? > > > Ahah very easy indeed :) Not noticing it shows how busy I am with > firmware world than I forgot linux-user can be a simpler/powerful > way to easily test stuff, as the Hexagon recent port also demonstrated. > > > Hexagon port doesn't have anything to do with this patch and didn't > demonstrate anything new wrt linux-user. I have no idea what you meant > to say. I simply meant to say, if your port can run linux-user binaries, it simplifies a lot the testing/coverage. Hexagon is simpler to test than AVR. > But, OK, Helge is the submitter, and he decides on the scope of his > patch. I am fine if he wants to limit it only to handful of syscalls. I > just hinted he could increase the vslue of the patch significantly in an > easy way. > > Thanks, > Aleksandar >
> > Ahah very easy indeed :) Not noticing it shows how busy I am with > > firmware world than I forgot linux-user can be a simpler/powerful > > way to easily test stuff, as the Hexagon recent port also demonstrated. > > > > > > Hexagon port doesn't have anything to do with this patch and didn't > > demonstrate anything new wrt linux-user. I have no idea what you meant > > to say. > > I simply meant to say, if your port can run linux-user binaries, it > simplifies a lot the testing/coverage. > > Hexagon is simpler to test than AVR. OK, now I understand.
On 21.11.19 19:23, Philippe Mathieu-Daudé wrote: > On 11/21/19 6:35 PM, Aleksandar Markovic wrote: >> On Thursday, November 21, 2019, Philippe Mathieu-Daudé <philmd@redhat.com <mailto:philmd@redhat.com>> wrote: >> >> On 11/21/19 6:00 PM, Aleksandar Markovic wrote: >> >> On Thursday, November 21, 2019, Philippe Mathieu-Daudé >> <philmd@redhat.com <mailto:philmd@redhat.com> >> <mailto:philmd@redhat.com <mailto:philmd@redhat.com>>> wrote: >> >> On 11/21/19 9:19 AM, Helge Deller wrote: >> >> On 20.11.19 23:20, Aleksandar Markovic wrote: >> >> On Wed, Nov 20, 2019 at 10:13 PM Aleksandar Markovic >> <aleksandar.m.mail@gmail.com >> <mailto:aleksandar.m.mail@gmail.com> >> <mailto:aleksandar.m.mail@gmail.com >> <mailto:aleksandar.m.mail@gmail.com>>> wrote: >> >> >> On Wed, Nov 20, 2019 at 3:58 PM Helge Deller >> <deller@gmx.de <mailto:deller@gmx.de> >> <mailto:deller@gmx.de <mailto:deller@gmx.de>>> wrote: >> >> >> Improve strace output of various syscalls which >> either have none >> or only int-type parameters. >> >> >> It would be nice if you included a history of >> the patch >> (after the line >> "---", as it is customary for single patch >> submission). >> You changed >> only ioctl() in v2, right? >> >> >> Yes. Will add history in next round. >> >> I missed your v2, but responded with several >> hints to v1. >> >> >> Yes, I saw all your mails. >> Thanks for your feedback! >> >> userfaultfd(), membarrier(), mlock2()... - all could be >> included into >> your patch. >> >> >> I think there are quite some more which I didn't included. >> That's why I wrote "*various*" and not "*all*" in my >> changelog. >> I'm debugging other code, and the ones I fixed are the >> ones I >> actually tested with my code. >> >> >> If you don't have handy way to test the other syscalls, >> I'll rather >> restrict your patch to the one you tested, at least you are >> certain >> you didn't introduced regressions. Unless their >> implementation is >> trivial, of course. >> >> >> What can be handier than writing a program that contains a >> single system call? >> >> >> Ahah very easy indeed :) Not noticing it shows how busy I am with >> firmware world than I forgot linux-user can be a simpler/powerful >> way to easily test stuff, as the Hexagon recent port also demonstrated. >> >> >> Hexagon port doesn't have anything to do with this patch and didn't demonstrate anything new wrt linux-user. I have no idea what you meant to say. > > I simply meant to say, if your port can run linux-user binaries, it simplifies a lot the testing/coverage. > > Hexagon is simpler to test than AVR. > >> But, OK, Helge is the submitter, and he decides on the scope of his >> patch. I am fine if he wants to limit it only to handful of >> syscalls. I just hinted he could increase the vslue of the patch >> significantly in an easy way. Aleksandar, I really appreciate your feedback, but for now I'd like to limit my patch to the currently implemented functions. If you look in the file history you will find other submissions of this type from me, so I'm sure I will follow up with further patches. But right now I'm missing the time. So, if it could be applied as is, it's a step forward for now. I'll send a v3 patch shortly. Helge
On Thu, Nov 21, 2019 at 8:12 PM Helge Deller <deller@gmx.de> wrote: > > On 21.11.19 19:23, Philippe Mathieu-Daudé wrote: > > On 11/21/19 6:35 PM, Aleksandar Markovic wrote: > >> On Thursday, November 21, 2019, Philippe Mathieu-Daudé <philmd@redhat.com <mailto:philmd@redhat.com>> wrote: > >> > >> On 11/21/19 6:00 PM, Aleksandar Markovic wrote: > >> > >> On Thursday, November 21, 2019, Philippe Mathieu-Daudé > >> <philmd@redhat.com <mailto:philmd@redhat.com> > >> <mailto:philmd@redhat.com <mailto:philmd@redhat.com>>> wrote: > >> > >> On 11/21/19 9:19 AM, Helge Deller wrote: > >> > >> On 20.11.19 23:20, Aleksandar Markovic wrote: > >> > >> On Wed, Nov 20, 2019 at 10:13 PM Aleksandar Markovic > >> <aleksandar.m.mail@gmail.com > >> <mailto:aleksandar.m.mail@gmail.com> > >> <mailto:aleksandar.m.mail@gmail.com > >> <mailto:aleksandar.m.mail@gmail.com>>> wrote: > >> > >> > >> On Wed, Nov 20, 2019 at 3:58 PM Helge Deller > >> <deller@gmx.de <mailto:deller@gmx.de> > >> <mailto:deller@gmx.de <mailto:deller@gmx.de>>> wrote: > >> > >> > >> Improve strace output of various syscalls which > >> either have none > >> or only int-type parameters. > >> > >> > >> It would be nice if you included a history of > >> the patch > >> (after the line > >> "---", as it is customary for single patch > >> submission). > >> You changed > >> only ioctl() in v2, right? > >> > >> > >> Yes. Will add history in next round. > >> > >> I missed your v2, but responded with several > >> hints to v1. > >> > >> > >> Yes, I saw all your mails. > >> Thanks for your feedback! > >> > >> userfaultfd(), membarrier(), mlock2()... - all could be > >> included into > >> your patch. > >> > >> > >> I think there are quite some more which I didn't included. > >> That's why I wrote "*various*" and not "*all*" in my > >> changelog. > >> I'm debugging other code, and the ones I fixed are the > >> ones I > >> actually tested with my code. > >> > >> > >> If you don't have handy way to test the other syscalls, > >> I'll rather > >> restrict your patch to the one you tested, at least you are > >> certain > >> you didn't introduced regressions. Unless their > >> implementation is > >> trivial, of course. > >> > >> > >> What can be handier than writing a program that contains a > >> single system call? > >> > >> > >> Ahah very easy indeed :) Not noticing it shows how busy I am with > >> firmware world than I forgot linux-user can be a simpler/powerful > >> way to easily test stuff, as the Hexagon recent port also demonstrated. > >> > >> > >> Hexagon port doesn't have anything to do with this patch and didn't demonstrate anything new wrt linux-user. I have no idea what you meant to say. > > > > I simply meant to say, if your port can run linux-user binaries, it simplifies a lot the testing/coverage. > > > > Hexagon is simpler to test than AVR. > > > >> But, OK, Helge is the submitter, and he decides on the scope of his > >> patch. I am fine if he wants to limit it only to handful of > >> syscalls. I just hinted he could increase the vslue of the patch > >> significantly in an easy way. > Aleksandar, I really appreciate your feedback, but for now I'd like > to limit my patch to the currently implemented functions. > If you look in the file history you will find other submissions of > this type from me, so I'm sure I will follow up with further patches. > But right now I'm missing the time. > So, if it could be applied as is, it's a step forward for now. > I'll send a v3 patch shortly. > Sure, I already said that I would certainly agree with that. However, I can't agree in a similar fashion with your another patch on signal names. This is since that patch in its present state puts MIPS in an inferior position. Yours, Aleksandar > Helge
diff --git a/linux-user/strace.list b/linux-user/strace.list index 1de4319dcf..add53b1734 100644 --- a/linux-user/strace.list +++ b/linux-user/strace.list @@ -26,7 +26,7 @@ { TARGET_NR_afs_syscall, "afs_syscall" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_alarm -{ TARGET_NR_alarm, "alarm" , NULL, NULL, NULL }, +{ TARGET_NR_alarm, "alarm" , "%s(%d)", NULL, NULL }, #endif #ifdef TARGET_NR_aplib { TARGET_NR_aplib, "aplib" , NULL, NULL, NULL }, @@ -116,13 +116,13 @@ { TARGET_NR_dipc, "dipc" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_dup -{ TARGET_NR_dup, "dup" , NULL, NULL, NULL }, +{ TARGET_NR_dup, "dup" , "%s(%d)", NULL, NULL }, #endif #ifdef TARGET_NR_dup2 -{ TARGET_NR_dup2, "dup2" , NULL, NULL, NULL }, +{ TARGET_NR_dup2, "dup2" , "%s(%d,%d)", NULL, NULL }, #endif #ifdef TARGET_NR_dup3 -{ TARGET_NR_dup3, "dup3" , NULL, NULL, NULL }, +{ TARGET_NR_dup3, "dup3" , "%s(%d,%d,%d)", NULL, NULL }, #endif #ifdef TARGET_NR_epoll_create { TARGET_NR_epoll_create, "epoll_create" , NULL, NULL, NULL }, @@ -191,7 +191,7 @@ { TARGET_NR_fanotify_mark, "fanotify_mark" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_fchdir -{ TARGET_NR_fchdir, "fchdir" , NULL, NULL, NULL }, +{ TARGET_NR_fchdir, "fchdir" , "%s(%d)", NULL, NULL }, #endif #ifdef TARGET_NR_fchmod { TARGET_NR_fchmod, "fchmod" , "%s(%d,%#o)", NULL, NULL }, @@ -287,7 +287,7 @@ { TARGET_NR_getdtablesize, "getdtablesize" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_getegid -{ TARGET_NR_getegid, "getegid" , NULL, NULL, NULL }, +{ TARGET_NR_getegid, "getegid" , "%s()", NULL, NULL }, #endif #ifdef TARGET_NR_getegid32 { TARGET_NR_getegid32, "getegid32" , NULL, NULL, NULL }, @@ -299,7 +299,7 @@ { TARGET_NR_geteuid32, "geteuid32" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_getgid -{ TARGET_NR_getgid, "getgid" , NULL, NULL, NULL }, +{ TARGET_NR_getgid, "getgid" , "%s()", NULL, NULL }, #endif #ifdef TARGET_NR_getgid32 { TARGET_NR_getgid32, "getgid32" , NULL, NULL, NULL }, @@ -329,10 +329,10 @@ { TARGET_NR_getpeername, "getpeername" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_getpgid -{ TARGET_NR_getpgid, "getpgid" , NULL, NULL, NULL }, +{ TARGET_NR_getpgid, "getpgid" , "%s(%u)", NULL, NULL }, #endif #ifdef TARGET_NR_getpgrp -{ TARGET_NR_getpgrp, "getpgrp" , NULL, NULL, NULL }, +{ TARGET_NR_getpgrp, "getpgrp" , "%s()", NULL, NULL }, #endif #ifdef TARGET_NR_getpid { TARGET_NR_getpid, "getpid" , "%s()", NULL, NULL }, @@ -432,7 +432,7 @@ { TARGET_NR_io_cancel, "io_cancel" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_ioctl -{ TARGET_NR_ioctl, "ioctl" , NULL, NULL, NULL }, +{ TARGET_NR_ioctl, "ioctl" , "%s(%d,%#x,%#x)", NULL, NULL }, #endif #ifdef TARGET_NR_io_destroy { TARGET_NR_io_destroy, "io_destroy" , NULL, NULL, NULL }, @@ -1257,22 +1257,22 @@ { TARGET_NR_setdomainname, "setdomainname" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_setfsgid -{ TARGET_NR_setfsgid, "setfsgid" , NULL, NULL, NULL }, +{ TARGET_NR_setfsgid, "setfsgid" , "%s(%u)", NULL, NULL }, #endif #ifdef TARGET_NR_setfsgid32 -{ TARGET_NR_setfsgid32, "setfsgid32" , NULL, NULL, NULL }, +{ TARGET_NR_setfsgid32, "setfsgid32" , "%s(%u)" , NULL, NULL }, #endif #ifdef TARGET_NR_setfsuid -{ TARGET_NR_setfsuid, "setfsuid" , NULL, NULL, NULL }, +{ TARGET_NR_setfsuid, "setfsuid" , "%s(%u)" , NULL, NULL }, #endif #ifdef TARGET_NR_setfsuid32 { TARGET_NR_setfsuid32, "setfsuid32" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_setgid -{ TARGET_NR_setgid, "setgid" , NULL, NULL, NULL }, +{ TARGET_NR_setgid, "setgid" , "%s(%u)", NULL, NULL }, #endif #ifdef TARGET_NR_setgid32 -{ TARGET_NR_setgid32, "setgid32" , NULL, NULL, NULL }, +{ TARGET_NR_setgid32, "setgid32" , "%s(%u)", NULL, NULL }, #endif #ifdef TARGET_NR_setgroups { TARGET_NR_setgroups, "setgroups" , NULL, NULL, NULL }, @@ -1296,7 +1296,7 @@ { TARGET_NR_setns, "setns" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_setpgid -{ TARGET_NR_setpgid, "setpgid" , NULL, NULL, NULL }, +{ TARGET_NR_setpgid, "setpgid" , "%s(%u,%u)", NULL, NULL }, #endif #ifdef TARGET_NR_setpgrp { TARGET_NR_setpgrp, "setpgrp" , NULL, NULL, NULL }, @@ -1311,22 +1311,22 @@ { TARGET_NR_setregid32, "setregid32" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_setresgid -{ TARGET_NR_setresgid, "setresgid" , NULL, NULL, NULL }, +{ TARGET_NR_setresgid, "setresgid" , "%s(%u,%u,%u)", NULL, NULL }, #endif #ifdef TARGET_NR_setresgid32 { TARGET_NR_setresgid32, "setresgid32" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_setresuid -{ TARGET_NR_setresuid, "setresuid" , NULL, NULL, NULL }, +{ TARGET_NR_setresuid, "setresuid" , "%s(%u,%u,%u)", NULL, NULL }, #endif #ifdef TARGET_NR_setresuid32 -{ TARGET_NR_setresuid32, "setresuid32" , NULL, NULL, NULL }, +{ TARGET_NR_setresuid32, "setresuid32" , "%s(%u,%u,%u)", NULL, NULL }, #endif #ifdef TARGET_NR_setreuid -{ TARGET_NR_setreuid, "setreuid" , NULL, NULL, NULL }, +{ TARGET_NR_setreuid, "setreuid" , "%s(%u,%u)", NULL, NULL }, #endif #ifdef TARGET_NR_setreuid32 -{ TARGET_NR_setreuid32, "setreuid32" , NULL, NULL, NULL }, +{ TARGET_NR_setreuid32, "setreuid32" , "%s(%u,%u)", NULL, NULL }, #endif #ifdef TARGET_NR_setrlimit { TARGET_NR_setrlimit, "setrlimit" , NULL, NULL, NULL }, @@ -1335,7 +1335,7 @@ { TARGET_NR_set_robust_list, "set_robust_list" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_setsid -{ TARGET_NR_setsid, "setsid" , NULL, NULL, NULL }, +{ TARGET_NR_setsid, "setsid" , "%s()", NULL, NULL }, #endif #ifdef TARGET_NR_setsockopt { TARGET_NR_setsockopt, "setsockopt" , NULL, NULL, NULL },
Improve strace output of various syscalls which either have none or only int-type parameters. Signed-off-by: Helge Deller <deller@gmx.de>