This series covers strace support for following syscalls: *truncate() *munlock() *clock_gettimeofday() *ftruncate() *munlockall() *clock_getitimer() *getsid() *clock_getres() *clock_setitimer() *mlock() *clock_gettime() *mlockall() *clock_settime()
Testing method: Mini test programs were written that run these syscalls for different arguments. Those programs were compiled (sometimes using cross-compilers) for the following architectures: * Intel 64-bit (little endian) (gcc) * Power pc 32-bit (big endian) (powerpc-linux-gnu-gcc) * Power pc 64-bit (big endian) (powerpc64-linux-gnu-gcc) The corresponding native programs were executed with strace, without using QEMU, on intel (x86_64) host. All applicable compiled programs were in turn executed with "-strace" through QEMU and the strace printing results obtained were the same ones gotten for native execution. v2: * added patch that enables 'cpu_env' to be accessible from "strace.c" * cut and pasted "regpairs_aligned" from 'syscall.c' to 'qemu.h' so that it can be used for "print_truncate64" and "print_ftruncate64" * changed flag names from 'TARGET_MLOCKALL_MCL_*' to 'TARGET_MCL_*' * added target flag value 'TARGET_MCL_ONFAULT' for 'MCL_ONFAULT' * added 'print_syscall_ret_setitimer' for old value of the interval timer * added a function 'print_itimer_type' that prints the interval timer type v3: * added patch that introduces an api that prints enumarted values with strace * used this new introduced api to print certain arguments of syscalls in patch 4 * rebased the series to use the new 'print_syscall_err()' v4: * modified 'print_itimerval()' function in 'syscall.c' Filip Bozuta (5): linux-user: Make cpu_env accessible in strace.c linux-user: Add strace support for printing arguments of truncate()/ftruncate() and getsid() linux-user: Add strace support for printing arguments of syscalls used to lock and unlock memory linux-user: Add an api to print enumareted argument values with strace linux-user: Add strace support for printing arguments of some clock and time functions linux-user/aarch64/target_syscall.h | 5 +- linux-user/alpha/target_syscall.h | 5 +- linux-user/arm/target_syscall.h | 6 +- linux-user/cris/target_syscall.h | 5 +- linux-user/hppa/target_syscall.h | 5 +- linux-user/i386/target_syscall.h | 5 +- linux-user/m68k/target_syscall.h | 6 +- linux-user/microblaze/target_syscall.h | 5 +- linux-user/mips/target_syscall.h | 5 +- linux-user/mips64/target_syscall.h | 5 +- linux-user/nios2/target_syscall.h | 5 +- linux-user/openrisc/target_syscall.h | 5 +- linux-user/ppc/target_syscall.h | 5 +- linux-user/qemu.h | 39 +- linux-user/riscv/target_syscall.h | 5 +- linux-user/s390x/target_syscall.h | 5 +- linux-user/sh4/target_syscall.h | 5 +- linux-user/sparc/target_syscall.h | 5 +- linux-user/sparc64/target_syscall.h | 5 +- linux-user/strace.c | 865 ++++++++++++++++--------- linux-user/strace.list | 35 +- linux-user/syscall.c | 47 +- linux-user/tilegx/target_syscall.h | 5 +- linux-user/x86_64/target_syscall.h | 5 +- linux-user/xtensa/target_syscall.h | 5 +- 25 files changed, 694 insertions(+), 399 deletions(-) -- 2.25.1