summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Prepare for 4.6 releaseldv/releaseDmitry V. Levin2011-03-144-3/+68
| | | | | | | * NEWS: Update for 4.6 release. * configure.ac: Version 4.6. * debian/changelog: 4.6-1. * strace.spec: 4.6-1.
* linux/ioctlent: unify them allvapier/ioctlentMike Frysinger2011-03-1438-11560/+919
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This unifies all the ioctlent.h's in the linux subdir while still allowing each arch to maintain its own minor list. The basic method is: - each arch has linux/<arch>/ioctlent.h.in which defines only the arch-specific ioctls; - linux/ioctlent.h.in which defines only the common ioctls; - at build time, these two headers are combined and sorted to produce the linux/ioctlent.h file. This also requires a little tweaking of the include files since the common ioctlent.h is a built file. * linux/ioctlent.h: Split into linux/ioctlent.h.in and linux/i386/ioctlent.h.in, remove asm entries from the former, remove non-asm entries from the latter. * linux/alpha/ioctlent.h: Rename to linux/alpha/ioctlent.h.in, remove non-asm entries. * linux/bfin/ioctlent.h: Rename to linux/bfin/ioctlent.h.in, remove non-asm entries. * linux/hppa/ioctlent.h: Rename to linux/hppa/ioctlent.h.in, remove non-asm entries. * linux/ia64/ioctlent.h: Rename to linux/ia64/ioctlent.h.in, remove non-asm entries. * linux/mips/ioctlent.h: Rename to linux/mips/ioctlent.h.in, remove non-asm entries. * linux/powerpc/ioctlent.h: Rename to linux/powerpc/ioctlent.h.in, remove non-asm entries. * linux/s390/ioctlent.h: Rename to linux/s390/ioctlent.h.in, remove non-asm entries. * linux/sh/ioctlent.h: Rename to linux/sh/ioctlent.h.in, remove non-asm entries. * linux/sparc/ioctlent.h: Rename to linux/sparc/ioctlent.h.in, remove non-asm entries. * linux/arm/ioctlent.h.in: New file. * linux/avr32/ioctlent.h.in: Likewise. * linux/i386/ioctlent.h.in: Likewise. * linux/m68k/ioctlent.h.in: Likewise. * linux/microblaze/ioctlent.h.in: Likewise. * linux/tile/ioctlent.h.in: Likewise. * linux/x86_64/ioctlent.h.in: Likewise. * linux/s390x/ioctlent.h.in: Include ioctlent.h.in instead of ioctlent.h. * linux/sh64/ioctlent.h.in: Likewise. * linux/sparc64/ioctlent.h.in: Likewise. * linux/arm/ioctlent1.h: Update ioctlent.h include. * linux/powerpc/ioctlent1.h: Likewise. * linux/sparc/ioctlent1.h: Likewise. * linux/sparc64/ioctlent1.h: Likewise. * linux/x86_64/ioctlent1.h: Likewise. * Makefile.am (AM_CPPFLAGS): Add -I$(builddir)/$(OS). (EXTRA_DIST): Update. [MAINTAINER_MODE && LINUX]: Convert from ioctlent_h to ioctlent_h_in. [LINUX]: Add $(builddir)/$(OS)/ioctlent.h generation rules. * .gitignore: Add linux/ioctlent.h. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Show more details about signals received by traced processessldv/trace-siginfoDmitry V. Levin2011-03-101-10/+19
| | | | | | * strace.c [!USE_PROCFS] (trace): Differentiate output format depending on PTRACE_GETSIGINFO success or failure. In the former case, use printsiginfo() to show more details about received signal.
* Get rid of PT_GETSIGINFODmitry V. Levin2011-03-101-13/+5
| | | | | | * strace.c [!USE_PROCFS] (trace): Assume that PTRACE_GETSIGINFO is available. Replace PT_GETSIGINFO with PTRACE_GETSIGINFO. Use PTRACE_GETSIGINFO for all signals.
* Enhance decoding of kernel-generated signalsDmitry V. Levin2011-03-101-5/+10
| | | | | * signal.c (printsiginfo) [LINUX]: Do not print uninteresting zero-initialized fields.
* Fix decoding of user-generated signalsDmitry V. Levin2011-03-101-15/+26
| | | | | * signal.c [LINUX] (SI_FROMUSER): Define. [LINUX || SVR4] (printsiginfo) [SI_FROMUSER]: Enhance decoding.
* Recognize SI_KERNEL and SI_ASYNCNLDmitry V. Levin2011-03-101-11/+20
| | | | | | * signal.c [LINUX] (SI_KERNEL, SI_ASYNCNL): Define. [LINUX || SVR4] (siginfo_codes): Add entries for SI_KERNEL and SI_ASYNCNL, reorder entries.
* Take all git branches into account for generation of CREDITS fileSebastian Pipping2011-03-051-1/+1
| | | | * Makefile.am: Make CREDITS target depend on all git branches.
* Fix decoding of file descriptorsDmitry V. Levin2011-03-049-130/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | * defs.h (printfd): New function prototype. * util.c (printfd): New function. * file.c (print_dirfd): Update prototype to use printfd(). (sys_openat, sys_faccessat, sys_newfstatat, sys_mkdirat, sys_linkat, sys_unlinkat, sys_readlinkat, sys_renameat, sys_fchownat, sys_fchmodat, sys_futimesat, sys_utimensat, sys_mknodat): Update use of print_dirfd(). (sys_lseek, sys_llseek, sys_readahead, sys_ftruncate, sys_ftruncate64, sys_fstat, sys_fstat64, sys_oldfstat, sys_fstatfs, sys_fstatfs64, sys_fchdir, sys_fchroot, sys_linkat, sys_fchown, sys_fchmod, sys_fsync, sys_readdir, sys_getdents, sys_getdirentries, sys_fsetxattr, sys_fgetxattr, sys_flistxattr, sys_fremovexattr, sys_fadvise64, sys_fadvise64_64, sys_inotify_add_watch, sys_inotify_rm_watch, sys_fallocate): Use printfd() for decoding of file descriptors. * desc.c (sys_fcntl, sys_flock, sys_close, sys_dup, do_dup2, decode_select, sys_epoll_ctl, epoll_wait_common): Use printfd() for decoding of file descriptors. * io.c (sys_read, sys_write, sys_readv, sys_writev, sys_pread, sys_pwrite, sys_sendfile, sys_sendfile64, sys_pread64, sys_pwrite64, sys_ioctl): Likewise. * mem.c (print_mmap, sys_mmap64): Likewise. * signal.c (do_signalfd): Likewise. * stream.c (decode_poll): Likewise. * time.c (sys_timerfd_settime, sys_timerfd_gettime): Likewise. Based on patch from Grant Edwards <grant.b.edwards@gmail.com>.
* Print shutdown(2) modes as SHUT_* constantsSebastian Pipping2011-03-031-12/+9
| | | | | * net.c (shutdown_modes): New xlat structure. (sys_shutdown): Use shutdown_modes to decode 2nd syscall argument.
* Fix decoding of inotify_init1() flagsSebastian Pipping2011-03-031-1/+7
| | | | | * file.c (inotify_init_flags): New xlat structure. (sys_inotify_init1): Use it instead of open_mode_flags.
* Fix struct xlat initialization bugsDmitry V. Levin2011-03-032-21/+23
| | | | | | | * file.c (inotify_modes): Terminate with NULL entry. * net.c (sock_type_flags): Make this array static. (socketlayers): Add a comment that this array should remain not NULL-terminated.
* tests: avoid SIGPIPEDmitry V. Levin2011-03-031-2/+2
| | | | | | | * tests/ptrace_setoptions: Replace "grep -q" with "grep > /dev/null". The former may result to strace being killed by SIGPIPE, which in certain configuratons may lead to generation of a core file. Suggested by Mike Frysinger.
* tests: do not make missing /usr/bin/time a failureMike Frysinger2011-03-011-1/+2
| | | | | | | * tests/init.sh (framework_skip_): New function. (check_prog): Use it instead of framework_failure_. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Generate an xz tar archive of the distributionDmitry V. Levin2011-02-276-6/+8
| | | | | | | | | * configure.ac (AM_INIT_AUTOMAKE): Replace dist-bzip2 with dist-xz. * Makefile.am: Update srpm target. * make-dist: Update for dist-xz. * strace.spec: Update Source tag. * debian/watch: Update regexp. * .gitignore: Add strace-*.tar.xz.
* Use "make check" in debian/rules and strace.specDmitry V. Levin2011-02-273-2/+8
| | | | | | * debian/control: Update Build-Depends. * debian/rules: Run "make check". * strace.spec: Update BuildRequires. Run "make check" in %check section.
* Implement two basic "strace -f" testsDmitry V. Levin2011-02-277-1/+64
| | | | | | | | | | * Makefile.am (SUBDIRS): Add tests. * configure.ac (AC_CONFIG_FILES): Add tests/Makefile. * tests/.gitignore: New file. * tests/Makefile.am: Likewise. * tests/init.sh: Likewise. * tests/ptrace_setoptions: Likewise. * tests/strace-f: Likewise.
* ppc, s390, sparc: regenerate ioctlent.h filesDmitry V. Levin2011-02-263-1301/+3302
| | | | | | * linux/powerpc/ioctlent.h: Regenerated using Fedora 15 kernel headers. * linux/s390/ioctlent.h: Likewise. * linux/sparc/ioctlent.h: Likewise.
* Remove redundant ioctlent.h filesDmitry V. Levin2011-02-262-1779/+2
| | | | | | | * linux/s390x/ioctlent.h: Replace old contents with include of s390/ioctlent.h file. * linux/sparc64/ioctlent.h: Replace old contents with include of sparc/ioctlent.h file.
* ioctlsort: sync with ioctl_lookup()Dmitry V. Levin2011-02-251-3/+3
| | | | | * linux/ioctlsort.c (main): Use NR and TYPE bits only, to sync with ioctl_lookup() which looks at these bits only.
* Remove obsolete .cvsignore filesDmitry V. Levin2011-02-2512-17/+0
| | | | | * test/.cvsignore: Rename to test/.gitignore. * */.cvsignore, */*/.cvsignore: Removed.
* Ignore generated intermediate header filesDmitry V. Levin2011-02-251-2/+4
| | | | * .gitignore: Add ioctls.h and ioctldefs.h.
* Generate much of the CREDITS file from git logldv/creditsDmitry V. Levin2011-02-245-49/+108
| | | | | | | | | | * CREDITS.in: New file, derived from CREDITS, without names of those who are listed as git log 'Author:'s. * CREDITS: Remove file. * Makefile.am [MAINTAINER_MODE] (CREDITS): New rule. * .gitignore: Add CREDITS. * .mailmap: New file, required to map git author names and email addresses to canonical/preferred form.
* sparc: fix compilation warningDmitry V. Levin2011-02-231-1/+1
| | | | | * file.c [!HAVE_LONG_LONG_OFF_T] (realprintstat): Cast st_size to unsigned long.
* Update the list of files that must be distributedDmitry V. Levin2011-02-231-5/+8
| | | | | | | * Makefile.am (EXTRA_DIST): Add debian/source/format, debian/watch, linux/ia64/signalent.h, linux/powerpc/ioctlent1.h, linux/powerpc/syscallent1.h, linux/powerpc/errnoent1.h, linux/powerpc/signalent1.h.
* Fix compilation warning reported by gcc -Wunused-but-set-variableDmitry V. Levin2011-02-231-1/+6
| | | | * process.c (printwaitn) [!SUNOS4]: Do not define "exited" variable.
* ioctlsort: zero pad ioctl codes to 4 placesMike Frysinger2011-02-222-86/+86
| | | | | | | | | Zero padding the ioctl number will allow simple sorting via shell scripts. * linux/ioctlsort.c (main): Output ioctl codes zero padded. * linux/ioctlent.h: Regenerated. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Update mount flags to latest linuxMike Frysinger2011-02-221-0/+10
| | | | | | | | | * system.c (MS_RELATIME, MS_KERNMOUNT, MS_I_VERSION, MS_STRICTATIME, MS_BORN): Define. (mount_flags): Add MS_RELATIME, MS_KERNMOUNT, MS_I_VERSION, MS_STRICTATIME, MS_BORN. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Sync debian/changelog and strace.spec with packagesDmitry V. Levin2011-02-222-1/+10
| | | | | * debian/changelog: Sync with 4.5.20-2. * strace.spec: Likewise.
* Add TRACE_DESC|TRACE_FILE flags to fanotify_* sysentriesDmitry V. Levin2011-02-2015-34/+34
| | | | | * linux/*/syscallent.h: Add TD flag to fanotify_init. Add TD|TF flags to fanotify_mark.
* Fix flags of fallocate sysentriesDmitry V. Levin2011-02-2015-19/+19
| | | | * linux/*/syscallent.h: Fix sys_fallocate flags.
* Add TRACE_DESC flag to epoll_create* sysentriesDmitry V. Levin2011-02-2018-40/+40
| | | | | * linux/*/syscallent.h: Add TD flag to sys_epoll_create and sys_epoll_create1.
* Add TRACE_DESC flag to fgetxattr, flistxattr, and fremovexattr sysentriesDmitry V. Levin2011-02-2018-47/+47
| | | | | * linux/*/syscallent.h: Add TD flag to sys_fgetxattr, sys_flistxattr, and fremovexattr.
* Add TRACE_FILE flag to swapoff sysentriesDmitry V. Levin2011-02-2018-20/+20
| | | | * linux/*/syscallent.h: Add TF flag to sys_swapoff.
* Add TRACE_DESC flag to fadvise64* sysentriesDmitry V. Levin2011-02-2018-32/+32
| | | | | * linux/*/syscallent.h: Add TD flag to sys_fadvise64 and sys_fadvise64_64.
* Add TRACE_DESC flag to mmap, mmap2, and old_mmap sysentriesDmitry V. Levin2011-02-2018-28/+28
| | | | * linux/*/syscallent.h: Add TD flag to sys_mmap and sys_old_mmap.
* Do not initialize native_scno on platforms with only one personalityDmitry V. Levin2011-02-203-66/+66
| | | | | | * linux/bfin/syscallent.h: Remove redundant native_scno initialization. * linux/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise.
* Add LOOP_* ioctls defined in linux/loop.hDmitry V. Levin2011-02-202-0/+9
| | | | | | | * linux/ioctlent.sh: Add LOOP_* ioctls (0x4C..) defined in linux/loop.h header file. * linux/ioctlent.h: Regenerated. Reported by Mike Frysinger.
* Fix PTRACE_GETEVENTMSG usage and enhance test_ptrace_setoptions()Dmitry V. Levin2011-02-191-11/+22
| | | | | * strace.c (handle_ptrace_event): Fix PTRACE_GETEVENTMSG usage. (test_ptrace_setoptions): Test that PTRACE_GETEVENTMSG works properly.
* linux/sparc: move to common syscall.hMike Frysinger2011-02-194-269/+36
| | | | | | | | | | | | Rather than constantly deal with the sparc/syscall.h going stale, merge the few sparc-specific pieces into the linux/syscall.h header. * linux/syscall.h: Add sparc-specific pieces from sparc/syscall.h. * Makefile.am (EXTRA_DIST): Remove linux/sparc/syscall.h and linux/sparc64/syscall.h. * linux/sparc/syscall.h, linux/sparc64/syscall.h: Deleted. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* sparc: add new funcs to syscall.hMike Frysinger2011-02-191-0/+2
| | | | | | | | | Sync missing defs from the common syscall.h here. * linux/sparc/syscall.h: Add sys_setfsuid, sys_pread64, and sys_pwrite64 prototypes. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* sparc: punt unused syscall.h.2Mike Frysinger2011-02-192-143/+1
| | | | | | | | | | I can't find any mention of this header actually being used. Seems to be a really old copy of the common syscall.h. * Makefile.am (EXTRA_DIST): Remove linux/sparc/syscall.h.2. * linux/sparc/syscall.h.2: Deleted. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Fix raw exit_group(2) decodingDmitry V. Levin2011-02-191-1/+2
| | | | | * syscall.c (trace_syscall_entering): Check for sys_exit instead of SYS_exit to handle exit_group(2) as well as _exit(2).
* Optimize known_scno()Dmitry V. Levin2011-02-181-2/+3
| | | | | * syscall.c (known_scno): Do not check for native_scno field on platforms that support only one personality.
* * process.c (internal_exit) [IA64]: Remove redundant check.Dmitry V. Levin2011-02-181-8/+1
|
* Fix biarch support in IO dumpingDmitry V. Levin2011-02-091-52/+23
| | | | | * syscall.c (dumpio): Switch on tcp->sys_func instead of tcp->scno for more reliable results.
* Simplify tprintf() declarationDmitry V. Levin2011-02-091-4/+3
| | | | * defs.h (tprintf): Simplify declaration.
* * defs.h (SYSCALL_NEVER_FAILS): Fix typo.Dmitry V. Levin2011-02-051-1/+1
|
* Fix decoding of get[ug]id, gete[ug]id and setfs[ug]id return valuesDmitry V. Levin2011-01-1922-186/+208
| | | | | | | | | | | | * defs.h (SYSCALL_NEVER_FAILS): New syscall flag. * linux/dummy.h: Change redirection for sys_get[ug]id, sys_gete[ug]id and setfs[ug]id. * linux/*/syscallent.h: Set SYSCALL_NEVER_FAILS flag for get[ug]id, gete[ug]id and setfs[ug]id syscalls. * process.c [LINUX] (sys_getuid, sys_setfsuid): New functions. * syscall.c (NF): New shorthand macro for use in syscallent.h files. (get_error): Check SYSCALL_NEVER_FAILS flag. Reported by Марк Коренберг <socketpair@gmail.com>.
* * linux/*/syscallent.h: Fix typo in sys_newfstatat syscall flags.Dmitry V. Levin2011-01-1916-17/+17
|