39bac055674d23770b9a724221b728e443196ea7 |
|
26-May-2017 |
Elliott Hughes <enh@google.com> |
Upgrade strace to 4.17. Noteworthy changes in release 4.17 (2017-05-24) =============================================== * Changes in command line syntax * Syscall classes specified in -e trace= option now have % prefix (like -e trace=%process). Old style class names without leading % are still supported, but considered deprecated now. * Improvements * Optimized syscall filtering. * Improved representation of timestamps. * Enhanced decoding of sched_setattr syscall. * Added -e trace=%stat option for tracing variants of stat syscall. * Added -e trace=%lstat option for tracing variants of lstat syscall. * Added -e trace=%fstat option for tracing variants of fstat and fstatat syscalls. * Added -e trace=%%stat option for tracing syscalls used for querying file status information (stat, lstat, fstat, fstatat, statx, and their variations). * Added -e trace=%statfs option for tracing statfs, statfs64 and statvfs syscalls. * Added -e trace=%fstatfs option for tracing fstatfs, fstatfs64 and fstatvfs syscalls. * Added -e trace=%%statfs option for tracing syscalls used for querying file system statistics information (statfs-like, fstatfs-like and ustat). * Added -e trace=/regex option for filtering syscalls using regular expressions. * Added support for prepending of question mark before syscall qualification in -e trace expressions in order to suppress error in case no syscalls matched the provided qualification. * Implemented decoding of signal mask in rt_sigreturn syscall on alpha, arc, arm, avr32, bfin, cris, hppa, m68k, metag, microblaze, mips, nios2, or1k, powerpc, powerpc64, riscv, sh, sh64, sparc, sparc64, tile, x86, and xtensa architectures. * Implemented decoding of statx syscall. * Implemented decoding of NS_* ioctl commands. * Implemented decoding of the remaining V4L2_BUF_TYPE_* types. * Implemented decoding of VIDIOC_[SG]_TUNER ioctl commands. * Implemented decoding of NLMSG_ERROR netlink messages. * Improved decoding of BPF_PROG_ATTACH command of bpf syscall. * Improved decoding of misplaced parts in DM_* ioctl commands. * Updated lists of ioctl commands from Linux 4.11. * Bug fixes * Fixed decoding of flags argument of preadv2 and pwritev2 syscalls on x32. * Fixed the number of arguments and tracing flags of alpha specific syscalls. * Fixed decoding of old sigsuspend syscall on alpha, cris, mips, powerpc, powerpc64, sh, sh64, sparc, and sparc64. * Fixed decoding of sgetmask and ssetmask syscalls on 64-bit architectures. * Fixed decoding of netlink messages received within struct msghdr. * Worked around a bug in miscompiled aarch64 kernels leading to the 3rd argument of sched_getattr syscall being not quite 32-bit. * Fixed corner cases of printing inaccessible times argument of utimes and futimesat syscalls. Bug: N/A Test: strace date Change-Id: Idc4614a3f16ffe57fdca2a07a05253900d1c52bb
/external/strace/ipc_sem.c
|
d35df493b4e7684c50d2d2fa032ee3a7ac228009 |
|
16-Feb-2017 |
Elliott Hughes <enh@google.com> |
Upgrade strace to 4.16 from 4.14. Noteworthy changes in release 4.16 (2017-02-14) * Improvements * Implemented syscall return value injection (-e inject=SET:retval= option). * Implemented signal injection (-e inject=SET:signal= option). * Implemented decoding of SUID_DUMP_* constants in PR_[GS]ET_DUMPABLE. * Implemented decoding of all SG_* ioctl commands. * Implemented decoding of ustat syscall. * Implemented decoding of BPF_OBJ_PIN, BPF_OBJ_GET, BPF_PROG_ATTACH, and BPF_PROG_DETACH commands of bpf syscall. * Enhanced decoding of sg_io_hdr and sg_io_v4 structures. * Enhanced decoding of get_robust_list, getrandom, io_submit, set_robust_list syscalls. * Enhanced decoding of entities of kernel long type on x32 and mips n32 ABIs. * Updated lists of IP_*, IPV6_*, and LOOP_* constants. * Updated lists of ioctl commands from Linux 4.10. * Added decoding of recently added syscalls on avr32, microblaze, ppc, and ppc64. * Bug fixes * Fixed pathmatch of oldselect syscall on 64-bit architectures. * Fixed decoding of mmap2 syscall on s390 when arguments are not available. * Fixed decoding of kexec_file_load, mprotect, pkey_mprotect, prctl, preadv*, and pwritev* syscalls on x32. * Fixed printing of string arguments of getxattr and setxattr syscalls when -s option is used to limit the printed string size. * Fixed decoding of ifconf, ifreq, and loop_info structures on non-native personalities. * Fixed decoding of SG_* and LOOP_* ioctl commands. * Fixed build on mips with musl libc. * Fixed cross-building of ioctlsort. * Applied minor formatting fixes to the manual page. Noteworthy changes in release 4.15 (2016-12-14) * Changes in behavior * Time stamps are now printed according to ISO 8601. * Changed output format of val3 parameter of futex FUTEX_WAKE_OP operation. * The last argument of mincore, sched_getaffinity, and sched_setaffinity syscalls is now formatted as an array. * Improvements * Implemented syscall fault injection (-e fault=... option). * Implemented decoding of DM_* ioctl commands. * Implemented decoding of attr parameter of perf_event_open syscall. * Implemented decoding of pkey_alloc, pkey_free, and pkey_mprotect syscalls. * Implemented dumping of mq_timedsend and mq_timedreceive syscalls. * Implemented decoding of PR_SET_FP_MODE and PR_GET_FP_MODE operations of prctl syscall. * Implemented PTRACE_GETREGS API support on m68k. * Updated lists of ARCH_*, BPF_*, BTRFS_*, FALLOC_*, MS_*, *_MAGIC, and V4L2_* constants. * Updated lists of ioctl commands from Linux 4.9. * Added decoding of recently added syscalls on arc, x32, and xtensa. * Enhanced manual page. * Bug fixes * Fixed corner cases in decoding of exit, exit_group, futimesat, getgroups, getresuid, init_module, inotify_init1, kcmp, kexec_load, lookup_dcookie, mq_getsetattr, mq_notify, mq_open, mq_timedreceive, mq_timedsend, name_to_handle_at, prctl, process_vm_readv, process_vm_writev, setfsuid, setgroups, setns, unshare, and utimes syscalls. * Fixed handling of verbose flag in printing of controls array of struct v4l2_ext_controls. * Fixed omission of field names in the output of capability, sigaction, sigevent, statfs, timespec, timeval, and utimbuf structures. * Fixed printing of unknown syscalls in siginfo structure. * Fixed decoding of ioctl constants on m68k. * Fixed cris architecture support. * Fixed cross build when host compiler does not support the same set of warning flags as the cross compiler. * Fixed build on SLE10 and SLE11. Bug: N/A Test: manual Change-Id: I590bf5db1652aa1dfdc0eb16e30fd97c82af2261
/external/strace/ipc_sem.c
|
06847fe28253603b29539a4d7fcb45a22a9a836c |
|
09-Sep-2016 |
Dmitry V. Levin <ldv@altlinux.org> |
ipc: fix printing of nsops argument of semop and semtimedop syscalls According to POSIX, nsops argument of semop syscall has type size_t, but the kernel treats nsops argument of semop and semtimedop syscalls as unsigned int. * ipc_sem.c (tprint_sembuf_array): Change type of "count" argument from unsigned long to unsigned int, print it using %u format.
/external/strace/ipc_sem.c
|
047c42e7c8be66aeef1242927f5198e363ba88ee |
|
07-Sep-2016 |
Eugene Syromyatnikov <evgsyr@gmail.com> |
ipc: fix printing of integer arguments * ipc_msgctl.c (SYS_FUNC(msgctl)): As msqid argument is treated as int by the kernel, cast it to int and print it using %d format. * ipc_sem.c (SYS_FUNC(semop), SYS_FUNC(semtimedop)): Likewise, for semid argument. (SYS_FUNC(semget)): Likewise, for nsems argument. (SYS_FUNC(semctl)): Likewise, for semid and semnum arguments. * ipc_shm.c (SYS_FUNC(shmat)): Likewise, for shmid argument. * ipc_shmctl.c (SYS_FUNC(shmctl)): Likewise.
/external/strace/ipc_sem.c
|
7b93574bc705c2140fdc58fd30c5acefd043571b |
|
08-Sep-2016 |
Dmitry V. Levin <ldv@altlinux.org> |
ipc: fix printing key_t arguments of msgget, semget, and shmget syscalls * ipc_msg.c (SYS_FUNC(msgget)): As key_t type in the kernel is __kernel_key_t (i.e. int), cast key_t argument to int and print it using %#x format. * ipc_sem.c (SYS_FUNC(semget)): Likewise. * ipc_shm.c (SYS_FUNC(shmget)): Likewise. * tests/ipc_msg.c (main): Test it. * tests/ipc_sem.c (main): Likewise. * tests/ipc_shm.c (main): Likewise.
/external/strace/ipc_sem.c
|
1a6470fc80031fc70b6c755e8d4f469bf98ad8aa |
|
17-Aug-2016 |
Dmitry V. Levin <ldv@altlinux.org> |
sparc64: fix decoding of the forth argument of semctl syscall On sparc64, unlike all other architectures where semctl is an indirect ipc subcall, the forth argument is passed directly. * ipc_sem.c (SYS_FUNC(semctl)) [SPARC64]: Print 4th argument without indirection in case of native personality.
/external/strace/ipc_sem.c
|
8d3743868ebce77fe03c5b1ff6435baa8d084293 |
|
03-Aug-2016 |
Dmitry V. Levin <ldv@altlinux.org> |
Fix printing of mode_t, umode_t, and umask types Print numeric umode_t type using %#03ho format. Print return value of umask syscall using %#03lo format. When printing symbolic mode_t type, always print lower 9 bits, and print the numeric part using %#03o format. * defs.h (sprintmode): Remove. (print_symbolic_mode_t, print_numeric_umode_t, print_numeric_long_umask): New prototypes. * printmode.c (sprintmode): Remove. (print_symbolic_mode_t, print_numeric_umode_t, print_numeric_long_umask): New functions. * chmod.c (decode_chmod): Use print_numeric_umode_t. * ipc_msg.c (SYS_FUNC(msgget)): Likewise. * ipc_msgctl.c (print_msqid_ds): Likewise. * ipc_sem.c (SYS_FUNC(semget)): Likewise. * ipc_shm.c (SYS_FUNC(shmget)): Likewise. * ipc_shmctl.c (print_shmid_ds): Likewise. * mq.c (SYS_FUNC(mq_open)): Likewise. * open.c (decode_open, SYS_FUNC(creat)): Likewise. * umask.c (SYS_FUNC(umask)): Likewise. * mknod.c (decode_mknod): Use print_symbolic_mode_t. * printstat.h (DO_PRINTSTAT): Likewise. * syscall.c (trace_syscall_exiting): Use print_numeric_long_umask. * tests/umode_t.c: New file. * tests/Makefile.am (EXTRA_DIST): Add it. * tests/creat.c: Rewrite as a thin wrapper around umode_t.c * tests/mkdir.c: Likewise. * tests/mkdirat.c: Likewise. * tests/mknod.c: Extend test coverage of mknod syscall. * tests/mknodat.c: Extend test coverage of mknodat syscall. * tests/umask.c: Extend test coverage of umask syscall. * tests/creat.test: Update the value specified for strace -a parameter. * tests/mkdir.test: Likewise. * tests/mkdirat.test: Likewise. * tests/mknodat.test: Likewise.
/external/strace/ipc_sem.c
|
977aee82bff1eb823ee14a9b140c707ae4151fd2 |
|
17-May-2016 |
Dmitry V. Levin <ldv@altlinux.org> |
Fix printing of invalid struct sembuf.sem_flg * ipc_sem.c (print_sembuf): Explicitly cast struct sembuf.sem_flg to unsigned short to avoid potential sign-extension bug when printing invalid struct sembuf.sem_flg.
/external/strace/ipc_sem.c
|
0bae8001da16322a1f1378f3d174055e6463f37f |
|
08-May-2016 |
Dmitry V. Levin <ldv@altlinux.org> |
ipc_sem.c: use print_array function * ipc_sem.c (tprint_sembuf): Rename to print_sembuf, change signature for use as print_array callback. (tprint_sembuf_array): Use print_array.
/external/strace/ipc_sem.c
|
ba10a421b85b7f622975f2e9f92249cfe3dcfcbd |
|
31-Oct-2015 |
Mike Frysinger <vapier@gentoo.org> |
Support C libraries without System V shared memory/ipc Some systems (like Bionic) omit support for SysV related code. That means no C library headers for strace to include. Add configure tests to probe the headers from the kernel and use them when they are available. It might make more sense to never rely on the C library's headers as there is no guarantee or requirement that the structure layout between apps and the C library match that what is passed to the kernel. * configure.ac (AC_CHECK_HEADERS): Check for linux/ipc.h, linux/mqueue.h, linux/msg.h, linux/sem.h, linux/shm.h, sys/ipc.h, sys/msg.h, sys/sem.h, and sys/shm.h. * ipc_defs.h: Include <sys/ipc.h> or <linux/ipc.h> depending on what is available. * ipc_msg.c: Replace <sys/ipc.h> with "ipc_defs.h". Fallback to <linux/msg.h> when available. * ipc_msgctl.c: Include <sys/msg.h>, <asm/msgbuf.h>, or <linux/msg.h> based on what is available. Note missing support for old ipc structs. * ipc_sem.c: Include <sys/sem.h> or <linux/sem.h> depending on what is available. Only decode sembuf when available. * ipc_shm.c: Fallback to <linux/shm.h> when available. * ipc_shmctl.c: Include <sys/shm.h>, <asm/shmbuf.h>, or <linux/shm.h> based on what is available. Note missing support for old ipc structs. * print_mq_attr.c: Fallback to <linux/mqueue.h> when available.
/external/strace/ipc_sem.c
|
5938526c818336357b97caa8fd89d58a12987b02 |
|
18-Sep-2015 |
Dmitry V. Levin <ldv@altlinux.org> |
Convert parser of struct timespec to new mpers infrastructure * defs.h (print_timespec): Remove. * print_time.c (print_timespec): New mpers printer. * futex.c (sys_futex): Use print_timespec instead of printtv. * ipc_sem.c (sys_semtimedop): Likewise. * mq.c (sys_mq_timedsend, sys_mq_timedreceive): Likewise. * time.c (clock_settime, clock_gettime, clock_nanosleep): Likewise. (print_timespec): Remove.
/external/strace/ipc_sem.c
|
c01ad06002f6c15fd0c8807e38e452bb240a1f92 |
|
19-Aug-2015 |
Elvira Khabirova <lineprinter0@gmail.com> |
ipc.c: split into separate files In preparation for upcoming mpers-related changes, split ipc.c into independent groups of parsers. * ipc_defs.h: New file. * ipc_msg.c: Likewise. * ipc_msgctl.c: Likewise. * ipc_sem.c: Likewise. * ipc_shm.c: Likewise. * ipc_shmctl.c: Likewise. * mq.c: Likewise. * print_mq_attr.c: Likewise. * print_msgbuf.c: Likewise. * ipc.c: Remove. (sys_mq_open, sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr): Move to mq.c. (sys_msgget, tprint_msgsnd, sys_msgsnd, tprint_msgrcv, sys_msgrcv): Move to ipc_msg.c. (sys_msgctl): Move to ipc_msgctl.c. (tprint_sembuf, tprint_sembuf_array, sys_semop, sys_semtimedop, sys_semget, syssemctl): Move to ipc_sem.c. (sys_shmget, sys_shmat, sys_shmdt): Move to ipc_shm.c. (sys_shmctl): Move to ipc_shmctl.c. (printmqattr): Move to print_mq_attr.c. (tprint_msgbuf): Move to print_msgbuf.c. (IPC_64, PRINTCTL): Move to ipc_defs.h. * defs.h (struct xlat resource_flags): New prototype. * Makefile.am (strace_SOURCES): Remove ipc.c. Add ipc_defs.h, mq.c, ipc_msg.c, ipc_msgctl.c, ipc_sem.c, ipc_shm.c, ipc_shmctl.c, print_mq_attr.c, and print_msgbuf.c.
/external/strace/ipc_sem.c
|