15fc6a2add5cc636435b120075d2c27637528b11 |
|
09-Jan-2014 |
Elliott Hughes <enh@google.com> |
Upgrade to strace 4.8. * Changes in behavior * In case of normal strace termination, when the trace output is redirected to a pipe, strace now closes it and waits for the pipe process termination before exit. * Improvements * Implemented tracing using PTRACE_SEIZE API (when available). * Implemented more reliable PTRACE_GETREGSET-based process personality detection on x86-64 and x32 (when available). * Added -e trace=memory option for tracing memory mapping related syscalls. * Documented -b option. * Allowed exit status messages to be suppressed by giving -q option twice. * Added AArch64 architecture support (addresses Debian bug #693074 and Fedora bug #969858). * Added support for OpenRISC 1000, Meta, and Xtensa architectures. * Added tilegx personality support for Tile. * Enhanced support of NOMMU architectures. * Enhanced decoding of getdents, mmap, perf_event_open, ptrace, and quotactl syscalls. * Added new syscall entries to match Linux 3.9. * Regenerated the list of common ioctl names from Linux 3.9. * Updated the list of errno constants. * Updated lists of AF_*, MADV_*, MAP_*, MSG_*, MS_*, PF_*, PR_*, PTRACE_O_*, and TCP_* constants. * Implemented decoding of UBI ioctls. * Removed redundant "*32" ioctl names. * Bug fixes * Fixed ERESTARTNOINTR leaking to userspace on ancient kernels (addresses Fedora bug #659382). * Fixed kernel release string parsing (addresses Debian bug #702309). * Fixed decoding of *xattr syscalls (addresses Fedora bug #885233). * Fixed handling of files with 64-bit inode numbers by 32-bit strace (addresses Fedora bug #912790). * Fixed tracing forks on SPARC. * Fixed decoding of fadvise64, fallocate, ftruncate64, io_submit, pread, preadv, pwrite, pwritev, readahead, sigaltstack, sync_file_range, sysctl, and truncate64 syscalls. * Fixed categories of multiple syscalls on most of supported architectures. * Fixed decoding of non-native 32-bit personality recv[m]msg syscalls. * Fixed decoding of multiple 32-bit personality syscalls on x32. * Fixed decoding of long long syscall arguments on ARM, MIPS/o32, PowerPC, S390x, and Tile architectures. * Fixed semtimedop decoding on S390x. * Fixed sram_alloc decoding on Blackfin. * Fixed build when process_vm_readv is a stab. * Fixed build with older versions of libaio.h. Change-Id: I48abffaccddd616663000dcd0cc14964cae0dcd1
/external/strace/vsprintf.c
|
bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cb |
|
08-Jan-2014 |
Elliott Hughes <enh@google.com> |
Upgrade to strace 4.7. * Changes in behavior * strace no longer suspends waitpid until there is a child for waitpid'ing process to collect status from. * strace no longer detaches from a tracee which is supposed to be going to die. * strace now issues a new message: "+++ exited with EXITCODE +++" which shows exact moment strace got exit notification, analogous to existing "+++ killed by SIG +++" message. * Improvements * Added x32 personality support (x86_64 architecture). * Added -y and -P options to print file descriptor paths and filter by those paths. * Added -I option to control strace interactivity. * Allowed -p option to take comma or whitespace-separated list of PIDs. * Added strace_log_merge script helper to merge timestamped "strace -ff" log files. * Implemented decoding of clock_adjtime, get_robust_list, migrate_pages, preadv, prlimit64, process_vm_readv, process_vm_writev, pwritev, recvmmsg, recvmsg, rt_tgsigqueueinfo, sendmmsg, setns, set_robust_list, sched_rr_get_interval, splice, syslog, tee and vmsplice syscalls. * Enhanced decoding of capget, capset, getrlimit, flistxattr, io_submit, listxattr, setrlimit and swapon syscalls. * Implemented decoding of loop and mtd ioctls. * Added syscall entries for new linux syscalls. * Added syscall entries for direct socket system calls on powerpc. * Updated the list of errno constants. * Updated lists of MSG_*, STA_*, and TCP_* constants. * Regenerated the list of ioctl names from Linux 3.3. * Enhanced switching between processes with different personalities. * Enhanced signals reporting by using short signal names. * Made ERESTART* messages more descriptive. * Made parsing of numbers from strings more robust. * Added support for compat_statfs64 and statfs64.f_flags. * Changed read of data blocks to use single process_vm_readv syscall (when available) instead of several PTRACE_PEEKDATA operations. * Changed read of registers on x86 and x86-64 to use single PTRACE_GETREGS operation instead of several PTRACE_PEEKUSER operations. * Applied various optimizations to make strace work faster. * Bug fixes * Implemented proper handling of real SIGTRAPs on kernels supporting PTRACE_O_TRACESYSGOOD. (Addresses Fedora bug #162774). * Fixed sockaddr_un.sun_path name in decoded output. (Addresses Debian bug #554946). * Fixed to avoid potential core file clobbering on exit. (Addresses Debian bug #656398). * Fixed a typo in documentation. (Addresses Debian bug #653309). * Fixed decoding of timer id returned by timer_create. * Fixed epoll_create1, epoll_wait and epoll_pwait decoding. * Fixed *at syscalls flags decoding. * Fixed ARM EABI 64-bit syscall's arguments decoding. * Fixed semtimedop decoding on s390. * Fixed osf_sigprocmask decoding on alpha. * Fixed ipc and socket subcall decoding on several architectures. * Corrected syscall entries for epoll_pwait, epoll_create, epoll_ctl, epoll_wait, mincore, mlockall, prctl, reboot, sendfile, sendfile64, sendmsg, sgetmask, ssetmask, swapon, tgkill and tkill syscalls. * Corrected io_* syscall entries on ARM. * Fixed PID prefix printing in "strace -oLOG -ff -p1 -p2 -p3" case. * Fixed logging of unfinished lines in "strace -oLOG -ff" case. * Fixed build when libaio-devel is not available. * Fixed configure checks for PTRACE_* constants. * Fixed compilation warnings remained on several architectures. * Portability * Removed all non-Linux code. After years of neglect, that dead code just hampered further strace development. * Linux kernel >= 2.6.18 is recommended. Older versions might still work but they haven't been thoroughly tested with this release. Change-Id: Ic2287760ba9f604ede83894670b8b382febf6099
/external/strace/vsprintf.c
|