* [Qemu-devel] [PATCH 1/2] linux-user: add rmdir() strace @ 2011-02-15 20:10 Laurent Vivier 2011-02-15 20:10 ` [Qemu-devel] [PATCH 2/2] linux-user: in linux-user/strace.c, tswap() is useless Laurent Vivier 2011-02-16 10:26 ` [Qemu-devel] [PATCH 1/2] linux-user: add rmdir() strace Riku Voipio 0 siblings, 2 replies; 4+ messages in thread From: Laurent Vivier @ 2011-02-15 20:10 UTC (permalink / raw) To: Riku Voipio; +Cc: qemu-devel, Laurent Vivier Signed-off-by: Laurent Vivier <laurent@vivier.eu> --- linux-user/strace.c | 12 ++++++++++++ linux-user/strace.list | 3 +++ 2 files changed, 15 insertions(+), 0 deletions(-) diff --git a/linux-user/strace.c b/linux-user/strace.c index 1836666..05277c0 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -876,6 +876,18 @@ print_mkdirat(const struct syscallname *name, } #endif +#ifdef TARGET_NR_rmdir +static void +print_rmdir(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_string(arg0, 0); + print_syscall_epilogue(name); +} +#endif + #ifdef TARGET_NR_mknod static void print_mknod(const struct syscallname *name, diff --git a/linux-user/strace.list b/linux-user/strace.list index d7be0e7..563a67f 100644 --- a/linux-user/strace.list +++ b/linux-user/strace.list @@ -495,6 +495,9 @@ #ifdef TARGET_NR_mkdirat { TARGET_NR_mkdirat, "mkdirat" , NULL, print_mkdirat, NULL }, #endif +#ifdef TARGET_NR_rmdir +{ TARGET_NR_rmdir, "rmdir" , NULL, print_rmdir, NULL }, +#endif #ifdef TARGET_NR_mknod { TARGET_NR_mknod, "mknod" , NULL, print_mknod, NULL }, #endif -- 1.7.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Qemu-devel] [PATCH 2/2] linux-user: in linux-user/strace.c, tswap() is useless 2011-02-15 20:10 [Qemu-devel] [PATCH 1/2] linux-user: add rmdir() strace Laurent Vivier @ 2011-02-15 20:10 ` Laurent Vivier 2011-02-16 10:25 ` Riku Voipio 2011-02-16 10:26 ` [Qemu-devel] [PATCH 1/2] linux-user: add rmdir() strace Riku Voipio 1 sibling, 1 reply; 4+ messages in thread From: Laurent Vivier @ 2011-02-15 20:10 UTC (permalink / raw) To: Riku Voipio; +Cc: qemu-devel, Laurent Vivier Syscall parameters are already swapped by the caller. This patch removes useless tswap() from strace.c $ QEMU_STRACE=1 chroot /m68k mknod myramdisk b 1 1 with tswap() ... 29944 mknod("myramdisk",026630200000) = 0 ... without tswap() ... 30042 mknod("myramdisk",S_IFBLK|0666,makedev(1,1)) = 0 ... natively: $ strace touch mytouch ... open("mytouch", O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK, 0666) = 3 ... $ QEMU_STRACE=1 chroot /m68k touch mytouch with tswap() ... 30368 open("/usr/share/locale/locale.alias",O_RDONLY) = 3 30368 fstat64(50331648,0x4080032c) = 0 ... 30368 open("mytouch",O_RDONLY|O_CREAT|O_LARGEFILE|O_NOCTTY|O_NONBLOCK|0x1) = 0 ... without tswap() ... 30572 open("/usr/share/locale/locale.alias",O_RDONLY) = 3 30572 fstat64(3,0x4080032c) = 0 ... 30572 open("mytouch",O_WRONLY|O_CREAT|O_LARGEFILE|O_NOCTTY|O_NONBLOCK,0666) = 0 Signed-off-by: Laurent Vivier <laurent@vivier.eu> --- linux-user/strace.c | 71 +++++++++++++++++++++------------------------------ 1 files changed, 29 insertions(+), 42 deletions(-) diff --git a/linux-user/strace.c b/linux-user/strace.c index 05277c0..86ad5aa 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -441,14 +441,11 @@ get_comma(int last) } static void -print_flags(const struct flags *f, abi_long tflags, int last) +print_flags(const struct flags *f, abi_long flags, int last) { const char *sep = ""; - int flags; int n; - flags = (int)tswap32(tflags); - if ((flags == 0) && (f->f_value == 0)) { gemu_log("%s%s", f->f_string, get_comma(last)); return; @@ -476,10 +473,8 @@ print_flags(const struct flags *f, abi_long tflags, int last) } static void -print_at_dirfd(abi_long tdirfd, int last) +print_at_dirfd(abi_long dirfd, int last) { - int dirfd = tswap32(tdirfd); - #ifdef AT_FDCWD if (dirfd == AT_FDCWD) { gemu_log("AT_FDCWD%s", get_comma(last)); @@ -490,11 +485,10 @@ print_at_dirfd(abi_long tdirfd, int last) } static void -print_file_mode(abi_long tmode, int last) +print_file_mode(abi_long mode, int last) { const char *sep = ""; const struct flags *m; - mode_t mode = (mode_t)tswap32(tmode); for (m = &mode_flags[0]; m->f_string != NULL; m++) { if ((m->f_value & mode) == m->f_value) { @@ -514,10 +508,8 @@ print_file_mode(abi_long tmode, int last) } static void -print_open_flags(abi_long tflags, int last) +print_open_flags(abi_long flags, int last) { - int flags = tswap32(tflags); - print_flags(open_access_flags, flags & TARGET_O_ACCMODE, 1); flags &= ~TARGET_O_ACCMODE; if (flags == 0) { @@ -620,7 +612,7 @@ print_accept(const struct syscallname *name, abi_long arg3, abi_long arg4, abi_long arg5) { print_syscall_prologue(name); - print_raw_param("%d", tswap32(arg0), 0); + print_raw_param("%d", arg0, 0); print_pointer(arg1, 0); print_number(arg2, 1); print_syscall_epilogue(name); @@ -698,7 +690,7 @@ print_execv(const struct syscallname *name, { print_syscall_prologue(name); print_string(arg0, 0); - print_raw_param("0x" TARGET_ABI_FMT_lx, tswapl(arg1), 1); + print_raw_param("0x" TARGET_ABI_FMT_lx, arg1, 1); print_syscall_epilogue(name); } #endif @@ -742,13 +734,8 @@ print_fchownat(const struct syscallname *name, print_syscall_prologue(name); print_at_dirfd(arg0, 0); print_string(arg1, 0); -#ifdef USE_UID16 - print_raw_param("%d", tswap16(arg2), 0); - print_raw_param("%d", tswap16(arg3), 0); -#else - print_raw_param("%d", tswap32(arg2), 0); - print_raw_param("%d", tswap32(arg3), 0); -#endif + print_raw_param("%d", arg2, 0); + print_raw_param("%d", arg3, 0); print_flags(at_file_flags, arg4, 1); print_syscall_epilogue(name); } @@ -761,7 +748,7 @@ print_fcntl(const struct syscallname *name, abi_long arg3, abi_long arg4, abi_long arg5) { print_syscall_prologue(name); - print_raw_param("%d", tswap32(arg0), 0); + print_raw_param("%d", arg0, 0); print_flags(fcntl_flags, arg1, 0); /* * TODO: check flags and print following argument only @@ -842,7 +829,7 @@ print_fstat(const struct syscallname *name, abi_long arg3, abi_long arg4, abi_long arg5) { print_syscall_prologue(name); - print_raw_param("%d", tswap32(arg0), 0); + print_raw_param("%d", arg0, 0); print_pointer(arg1, 1); print_syscall_epilogue(name); } @@ -894,14 +881,14 @@ print_mknod(const struct syscallname *name, abi_long arg0, abi_long arg1, abi_long arg2, abi_long arg3, abi_long arg4, abi_long arg5) { - int hasdev = (tswapl(arg1) & (S_IFCHR|S_IFBLK)); + int hasdev = (arg1 & (S_IFCHR|S_IFBLK)); print_syscall_prologue(name); print_string(arg0, 0); print_file_mode(arg1, (hasdev == 0)); if (hasdev) { - print_raw_param("makedev(%d", major(tswapl(arg2)), 0); - print_raw_param("%d)", minor(tswapl(arg2)), 1); + print_raw_param("makedev(%d", major(arg2), 0); + print_raw_param("%d)", minor(arg2), 1); } print_syscall_epilogue(name); } @@ -913,15 +900,15 @@ print_mknodat(const struct syscallname *name, abi_long arg0, abi_long arg1, abi_long arg2, abi_long arg3, abi_long arg4, abi_long arg5) { - int hasdev = (tswapl(arg2) & (S_IFCHR|S_IFBLK)); + int hasdev = (arg2 & (S_IFCHR|S_IFBLK)); print_syscall_prologue(name); print_at_dirfd(arg0, 0); print_string(arg1, 0); print_file_mode(arg2, (hasdev == 0)); if (hasdev) { - print_raw_param("makedev(%d", major(tswapl(arg3)), 0); - print_raw_param("%d)", minor(tswapl(arg3)), 1); + print_raw_param("makedev(%d", major(arg3), 0); + print_raw_param("%d)", minor(arg3), 1); } print_syscall_epilogue(name); } @@ -933,7 +920,7 @@ print_mq_open(const struct syscallname *name, abi_long arg0, abi_long arg1, abi_long arg2, abi_long arg3, abi_long arg4, abi_long arg5) { - int is_creat = (tswapl(arg1) & TARGET_O_CREAT); + int is_creat = (arg1 & TARGET_O_CREAT); print_syscall_prologue(name); print_string(arg0, 0); @@ -952,7 +939,7 @@ print_open(const struct syscallname *name, abi_long arg0, abi_long arg1, abi_long arg2, abi_long arg3, abi_long arg4, abi_long arg5) { - int is_creat = (tswap32(arg1) & TARGET_O_CREAT); + int is_creat = (arg1 & TARGET_O_CREAT); print_syscall_prologue(name); print_string(arg0, 0); @@ -969,7 +956,7 @@ print_openat(const struct syscallname *name, abi_long arg0, abi_long arg1, abi_long arg2, abi_long arg3, abi_long arg4, abi_long arg5) { - int is_creat = (tswap32(arg2) & TARGET_O_CREAT); + int is_creat = (arg2 & TARGET_O_CREAT); print_syscall_prologue(name); print_at_dirfd(arg0, 0); @@ -1018,7 +1005,7 @@ print_readlink(const struct syscallname *name, print_syscall_prologue(name); print_string(arg0, 0); print_pointer(arg1, 0); - print_raw_param("%u", tswapl(arg2), 1); + print_raw_param("%u", arg2, 1); print_syscall_epilogue(name); } #endif @@ -1033,7 +1020,7 @@ print_readlinkat(const struct syscallname *name, print_at_dirfd(arg0, 0); print_string(arg1, 0); print_pointer(arg2, 0); - print_raw_param("%u", tswapl(arg3), 1); + print_raw_param("%u", arg3, 1); print_syscall_epilogue(name); } #endif @@ -1223,11 +1210,11 @@ print_mmap(const struct syscallname *name, { print_syscall_prologue(name); print_pointer(arg0, 0); - print_raw_param("%d", tswapl(arg1), 0); + print_raw_param("%d", arg1, 0); print_flags(mmap_prot_flags, arg2, 0); print_flags(mmap_flags, arg3, 0); - print_raw_param("%d", tswapl(arg4), 0); - print_raw_param("%#x", tswapl(arg5), 1); + print_raw_param("%d", arg4, 0); + print_raw_param("%#x", arg5, 1); print_syscall_epilogue(name); } #define print_mmap2 print_mmap @@ -1241,7 +1228,7 @@ print_mprotect(const struct syscallname *name, { print_syscall_prologue(name); print_pointer(arg0, 0); - print_raw_param("%d", tswapl(arg1), 0); + print_raw_param("%d", arg1, 0); print_flags(mmap_prot_flags, arg2, 1); print_syscall_epilogue(name); } @@ -1255,7 +1242,7 @@ print_munmap(const struct syscallname *name, { print_syscall_prologue(name); print_pointer(arg0, 0); - print_raw_param("%d", tswapl(arg1), 1); + print_raw_param("%d", arg1, 1); print_syscall_epilogue(name); } #endif @@ -1269,7 +1256,7 @@ if( cmd == val ) { \ return; \ } - int cmd = (int)tswap32(tflag); + int cmd = (int)tflag; #ifdef FUTEX_PRIVATE_FLAG if (cmd & FUTEX_PRIVATE_FLAG) { gemu_log("FUTEX_PRIVATE_FLAG|"); @@ -1303,10 +1290,10 @@ print_futex(const struct syscallname *name, print_syscall_prologue(name); print_pointer(arg0, 0); print_futex_op(arg1, 0); - print_raw_param(",%d", tswapl(arg2), 0); + print_raw_param(",%d", arg2, 0); print_pointer(arg3, 0); /* struct timespec */ print_pointer(arg4, 0); - print_raw_param("%d", tswapl(arg4), 1); + print_raw_param("%d", arg4, 1); print_syscall_epilogue(name); } #endif -- 1.7.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] linux-user: in linux-user/strace.c, tswap() is useless 2011-02-15 20:10 ` [Qemu-devel] [PATCH 2/2] linux-user: in linux-user/strace.c, tswap() is useless Laurent Vivier @ 2011-02-16 10:25 ` Riku Voipio 0 siblings, 0 replies; 4+ messages in thread From: Riku Voipio @ 2011-02-16 10:25 UTC (permalink / raw) To: Laurent Vivier; +Cc: qemu-devel Hi, On Tue, Feb 15, 2011 at 09:10:44PM +0100, Laurent Vivier wrote: > Syscall parameters are already swapped by the caller. > > This patch removes useless tswap() from strace.c Thanks. Added to next linux-user que. I modified your patch to have casts to the given printf format specifiers, so we don't get compiler warnings. > $ QEMU_STRACE=1 chroot /m68k mknod myramdisk b 1 1 > with tswap() > ... > 29944 mknod("myramdisk",026630200000) = 0 > ... > > without tswap() > > ... > 30042 mknod("myramdisk",S_IFBLK|0666,makedev(1,1)) = 0 > ... > > natively: > > $ strace touch mytouch > ... > open("mytouch", O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK, 0666) = 3 > ... > > $ QEMU_STRACE=1 chroot /m68k touch mytouch > with tswap() > ... > 30368 open("/usr/share/locale/locale.alias",O_RDONLY) = 3 > 30368 fstat64(50331648,0x4080032c) = 0 > ... > 30368 open("mytouch",O_RDONLY|O_CREAT|O_LARGEFILE|O_NOCTTY|O_NONBLOCK|0x1) = 0 > ... > without tswap() > ... > 30572 open("/usr/share/locale/locale.alias",O_RDONLY) = 3 > 30572 fstat64(3,0x4080032c) = 0 > ... > 30572 open("mytouch",O_WRONLY|O_CREAT|O_LARGEFILE|O_NOCTTY|O_NONBLOCK,0666) = 0 > > Signed-off-by: Laurent Vivier <laurent@vivier.eu> > --- > linux-user/strace.c | 71 +++++++++++++++++++++------------------------------ > 1 files changed, 29 insertions(+), 42 deletions(-) > > diff --git a/linux-user/strace.c b/linux-user/strace.c > index 05277c0..86ad5aa 100644 > --- a/linux-user/strace.c > +++ b/linux-user/strace.c > @@ -441,14 +441,11 @@ get_comma(int last) > } > > static void > -print_flags(const struct flags *f, abi_long tflags, int last) > +print_flags(const struct flags *f, abi_long flags, int last) > { > const char *sep = ""; > - int flags; > int n; > > - flags = (int)tswap32(tflags); > - > if ((flags == 0) && (f->f_value == 0)) { > gemu_log("%s%s", f->f_string, get_comma(last)); > return; > @@ -476,10 +473,8 @@ print_flags(const struct flags *f, abi_long tflags, int last) > } > > static void > -print_at_dirfd(abi_long tdirfd, int last) > +print_at_dirfd(abi_long dirfd, int last) > { > - int dirfd = tswap32(tdirfd); > - > #ifdef AT_FDCWD > if (dirfd == AT_FDCWD) { > gemu_log("AT_FDCWD%s", get_comma(last)); > @@ -490,11 +485,10 @@ print_at_dirfd(abi_long tdirfd, int last) > } > > static void > -print_file_mode(abi_long tmode, int last) > +print_file_mode(abi_long mode, int last) > { > const char *sep = ""; > const struct flags *m; > - mode_t mode = (mode_t)tswap32(tmode); > > for (m = &mode_flags[0]; m->f_string != NULL; m++) { > if ((m->f_value & mode) == m->f_value) { > @@ -514,10 +508,8 @@ print_file_mode(abi_long tmode, int last) > } > > static void > -print_open_flags(abi_long tflags, int last) > +print_open_flags(abi_long flags, int last) > { > - int flags = tswap32(tflags); > - > print_flags(open_access_flags, flags & TARGET_O_ACCMODE, 1); > flags &= ~TARGET_O_ACCMODE; > if (flags == 0) { > @@ -620,7 +612,7 @@ print_accept(const struct syscallname *name, > abi_long arg3, abi_long arg4, abi_long arg5) > { > print_syscall_prologue(name); > - print_raw_param("%d", tswap32(arg0), 0); > + print_raw_param("%d", arg0, 0); > print_pointer(arg1, 0); > print_number(arg2, 1); > print_syscall_epilogue(name); > @@ -698,7 +690,7 @@ print_execv(const struct syscallname *name, > { > print_syscall_prologue(name); > print_string(arg0, 0); > - print_raw_param("0x" TARGET_ABI_FMT_lx, tswapl(arg1), 1); > + print_raw_param("0x" TARGET_ABI_FMT_lx, arg1, 1); > print_syscall_epilogue(name); > } > #endif > @@ -742,13 +734,8 @@ print_fchownat(const struct syscallname *name, > print_syscall_prologue(name); > print_at_dirfd(arg0, 0); > print_string(arg1, 0); > -#ifdef USE_UID16 > - print_raw_param("%d", tswap16(arg2), 0); > - print_raw_param("%d", tswap16(arg3), 0); > -#else > - print_raw_param("%d", tswap32(arg2), 0); > - print_raw_param("%d", tswap32(arg3), 0); > -#endif > + print_raw_param("%d", arg2, 0); > + print_raw_param("%d", arg3, 0); > print_flags(at_file_flags, arg4, 1); > print_syscall_epilogue(name); > } > @@ -761,7 +748,7 @@ print_fcntl(const struct syscallname *name, > abi_long arg3, abi_long arg4, abi_long arg5) > { > print_syscall_prologue(name); > - print_raw_param("%d", tswap32(arg0), 0); > + print_raw_param("%d", arg0, 0); > print_flags(fcntl_flags, arg1, 0); > /* > * TODO: check flags and print following argument only > @@ -842,7 +829,7 @@ print_fstat(const struct syscallname *name, > abi_long arg3, abi_long arg4, abi_long arg5) > { > print_syscall_prologue(name); > - print_raw_param("%d", tswap32(arg0), 0); > + print_raw_param("%d", arg0, 0); > print_pointer(arg1, 1); > print_syscall_epilogue(name); > } > @@ -894,14 +881,14 @@ print_mknod(const struct syscallname *name, > abi_long arg0, abi_long arg1, abi_long arg2, > abi_long arg3, abi_long arg4, abi_long arg5) > { > - int hasdev = (tswapl(arg1) & (S_IFCHR|S_IFBLK)); > + int hasdev = (arg1 & (S_IFCHR|S_IFBLK)); > > print_syscall_prologue(name); > print_string(arg0, 0); > print_file_mode(arg1, (hasdev == 0)); > if (hasdev) { > - print_raw_param("makedev(%d", major(tswapl(arg2)), 0); > - print_raw_param("%d)", minor(tswapl(arg2)), 1); > + print_raw_param("makedev(%d", major(arg2), 0); > + print_raw_param("%d)", minor(arg2), 1); > } > print_syscall_epilogue(name); > } > @@ -913,15 +900,15 @@ print_mknodat(const struct syscallname *name, > abi_long arg0, abi_long arg1, abi_long arg2, > abi_long arg3, abi_long arg4, abi_long arg5) > { > - int hasdev = (tswapl(arg2) & (S_IFCHR|S_IFBLK)); > + int hasdev = (arg2 & (S_IFCHR|S_IFBLK)); > > print_syscall_prologue(name); > print_at_dirfd(arg0, 0); > print_string(arg1, 0); > print_file_mode(arg2, (hasdev == 0)); > if (hasdev) { > - print_raw_param("makedev(%d", major(tswapl(arg3)), 0); > - print_raw_param("%d)", minor(tswapl(arg3)), 1); > + print_raw_param("makedev(%d", major(arg3), 0); > + print_raw_param("%d)", minor(arg3), 1); > } > print_syscall_epilogue(name); > } > @@ -933,7 +920,7 @@ print_mq_open(const struct syscallname *name, > abi_long arg0, abi_long arg1, abi_long arg2, > abi_long arg3, abi_long arg4, abi_long arg5) > { > - int is_creat = (tswapl(arg1) & TARGET_O_CREAT); > + int is_creat = (arg1 & TARGET_O_CREAT); > > print_syscall_prologue(name); > print_string(arg0, 0); > @@ -952,7 +939,7 @@ print_open(const struct syscallname *name, > abi_long arg0, abi_long arg1, abi_long arg2, > abi_long arg3, abi_long arg4, abi_long arg5) > { > - int is_creat = (tswap32(arg1) & TARGET_O_CREAT); > + int is_creat = (arg1 & TARGET_O_CREAT); > > print_syscall_prologue(name); > print_string(arg0, 0); > @@ -969,7 +956,7 @@ print_openat(const struct syscallname *name, > abi_long arg0, abi_long arg1, abi_long arg2, > abi_long arg3, abi_long arg4, abi_long arg5) > { > - int is_creat = (tswap32(arg2) & TARGET_O_CREAT); > + int is_creat = (arg2 & TARGET_O_CREAT); > > print_syscall_prologue(name); > print_at_dirfd(arg0, 0); > @@ -1018,7 +1005,7 @@ print_readlink(const struct syscallname *name, > print_syscall_prologue(name); > print_string(arg0, 0); > print_pointer(arg1, 0); > - print_raw_param("%u", tswapl(arg2), 1); > + print_raw_param("%u", arg2, 1); > print_syscall_epilogue(name); > } > #endif > @@ -1033,7 +1020,7 @@ print_readlinkat(const struct syscallname *name, > print_at_dirfd(arg0, 0); > print_string(arg1, 0); > print_pointer(arg2, 0); > - print_raw_param("%u", tswapl(arg3), 1); > + print_raw_param("%u", arg3, 1); > print_syscall_epilogue(name); > } > #endif > @@ -1223,11 +1210,11 @@ print_mmap(const struct syscallname *name, > { > print_syscall_prologue(name); > print_pointer(arg0, 0); > - print_raw_param("%d", tswapl(arg1), 0); > + print_raw_param("%d", arg1, 0); > print_flags(mmap_prot_flags, arg2, 0); > print_flags(mmap_flags, arg3, 0); > - print_raw_param("%d", tswapl(arg4), 0); > - print_raw_param("%#x", tswapl(arg5), 1); > + print_raw_param("%d", arg4, 0); > + print_raw_param("%#x", arg5, 1); > print_syscall_epilogue(name); > } > #define print_mmap2 print_mmap > @@ -1241,7 +1228,7 @@ print_mprotect(const struct syscallname *name, > { > print_syscall_prologue(name); > print_pointer(arg0, 0); > - print_raw_param("%d", tswapl(arg1), 0); > + print_raw_param("%d", arg1, 0); > print_flags(mmap_prot_flags, arg2, 1); > print_syscall_epilogue(name); > } > @@ -1255,7 +1242,7 @@ print_munmap(const struct syscallname *name, > { > print_syscall_prologue(name); > print_pointer(arg0, 0); > - print_raw_param("%d", tswapl(arg1), 1); > + print_raw_param("%d", arg1, 1); > print_syscall_epilogue(name); > } > #endif > @@ -1269,7 +1256,7 @@ if( cmd == val ) { \ > return; \ > } > > - int cmd = (int)tswap32(tflag); > + int cmd = (int)tflag; > #ifdef FUTEX_PRIVATE_FLAG > if (cmd & FUTEX_PRIVATE_FLAG) { > gemu_log("FUTEX_PRIVATE_FLAG|"); > @@ -1303,10 +1290,10 @@ print_futex(const struct syscallname *name, > print_syscall_prologue(name); > print_pointer(arg0, 0); > print_futex_op(arg1, 0); > - print_raw_param(",%d", tswapl(arg2), 0); > + print_raw_param(",%d", arg2, 0); > print_pointer(arg3, 0); /* struct timespec */ > print_pointer(arg4, 0); > - print_raw_param("%d", tswapl(arg4), 1); > + print_raw_param("%d", arg4, 1); > print_syscall_epilogue(name); > } > #endif > -- > 1.7.1 > ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] linux-user: add rmdir() strace 2011-02-15 20:10 [Qemu-devel] [PATCH 1/2] linux-user: add rmdir() strace Laurent Vivier 2011-02-15 20:10 ` [Qemu-devel] [PATCH 2/2] linux-user: in linux-user/strace.c, tswap() is useless Laurent Vivier @ 2011-02-16 10:26 ` Riku Voipio 1 sibling, 0 replies; 4+ messages in thread From: Riku Voipio @ 2011-02-16 10:26 UTC (permalink / raw) To: Laurent Vivier; +Cc: qemu-devel On Tue, Feb 15, 2011 at 09:10:43PM +0100, Laurent Vivier wrote: > Signed-off-by: Laurent Vivier <laurent@vivier.eu> > --- > linux-user/strace.c | 12 ++++++++++++ > linux-user/strace.list | 3 +++ > 2 files changed, 15 insertions(+), 0 deletions(-) Applied to que. > diff --git a/linux-user/strace.c b/linux-user/strace.c > index 1836666..05277c0 100644 > --- a/linux-user/strace.c > +++ b/linux-user/strace.c > @@ -876,6 +876,18 @@ print_mkdirat(const struct syscallname *name, > } > #endif > > +#ifdef TARGET_NR_rmdir > +static void > +print_rmdir(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_string(arg0, 0); > + print_syscall_epilogue(name); > +} > +#endif > + > #ifdef TARGET_NR_mknod > static void > print_mknod(const struct syscallname *name, > diff --git a/linux-user/strace.list b/linux-user/strace.list > index d7be0e7..563a67f 100644 > --- a/linux-user/strace.list > +++ b/linux-user/strace.list > @@ -495,6 +495,9 @@ > #ifdef TARGET_NR_mkdirat > { TARGET_NR_mkdirat, "mkdirat" , NULL, print_mkdirat, NULL }, > #endif > +#ifdef TARGET_NR_rmdir > +{ TARGET_NR_rmdir, "rmdir" , NULL, print_rmdir, NULL }, > +#endif > #ifdef TARGET_NR_mknod > { TARGET_NR_mknod, "mknod" , NULL, print_mknod, NULL }, > #endif > -- > 1.7.1 > ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-02-16 10:26 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-02-15 20:10 [Qemu-devel] [PATCH 1/2] linux-user: add rmdir() strace Laurent Vivier 2011-02-15 20:10 ` [Qemu-devel] [PATCH 2/2] linux-user: in linux-user/strace.c, tswap() is useless Laurent Vivier 2011-02-16 10:25 ` Riku Voipio 2011-02-16 10:26 ` [Qemu-devel] [PATCH 1/2] linux-user: add rmdir() strace Riku Voipio
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).