47 Commits

Author SHA1 Message Date
Grant Edwards
8a08277d13 Add ability to print file descriptor paths and filter by those paths
* pathtrace.c: New file, implements matching syscall arguments to
user-specified file paths.
* Makefile.am (strace_SOURCES): Add pathtrace.c.
* defs.h (TCB_FILTERED, filtered): New defines.
(getfdpath, pathtrace_select, pathtrace_match, show_fd_path,
tracing_paths): New declarations.
* strace.c (show_fd_path, tracing_paths): New global variables.
(usage, main): Implement handling of -y and -P options.
* strace.1: Add descriptions of -y and -P options.
* syscall.c (trace_syscall_entering): Add path matching logic to the
print/noprint decision and set the TCB_FILTERED bit appropriately.
(trace_syscall_exiting): Use filtered() macro that checks the
TCB_FILTERED bit to determine print/noprint status.
* util.c (printfd): Use getfdpath().
2011-04-08 20:47:56 +00:00
Mike Frysinger
9004e12a91 linux/ioctlent: unify them all
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>
2011-03-14 15:32:38 +00:00
Sebastian Pipping
6c0e2fc552 Take all git branches into account for generation of CREDITS file
* Makefile.am: Make CREDITS target depend on all git branches.
2011-03-05 14:36:48 +00:00
525a39a01a Generate an xz tar archive of the distribution
* 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.
2011-02-27 14:05:58 +00:00
4e4b5adfab Implement two basic "strace -f" tests
* 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.
2011-02-27 00:28:50 +00:00
59138a2b0d Generate much of the CREDITS file from git log
* 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.
2011-02-24 01:51:15 +00:00
0afbf85dec Update the list of files that must be distributed
* 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.
2011-02-23 12:43:46 +00:00
Mike Frysinger
330a895bbd linux/sparc: move to common syscall.h
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>
2011-02-19 21:40:20 +00:00
Mike Frysinger
71a78bc739 sparc: punt unused syscall.h.2
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>
2011-02-19 20:31:49 +00:00
4ef6db489a Add block ioctl support
* block.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* defs.h [LINUX] (block_ioctl): New function.
* ioctl.c (ioctl_decode) [LINUX]: Use it to decode HDIO_* and BLK*
ioctls.
Patch by Jeff Mahoney <jeffm@suse.com>
2011-01-15 20:15:31 +00:00
918e49bac7 Import warnings.m4 from gnulib
* m4/warnings.m4: Replace with warnings.m4 from gnulib.
* configure.ac: Use gl_WARN_ADD from new warnings.m4.
* Makefile.am (AM_CFLAGS): Update for new warnings.m4.
2010-09-09 23:20:25 +00:00
916adeda63 Split acinclude.m4
* Makefile.am (ACLOCAL_AMFLAGS): Add "-I m4".
* acinclude.m4: Remove.
* m4/includedir.m4: New file, with definition of AC_INCLUDEDIR from
acinclude.m4.
* m4/long_long.m4: New file, with definitions of AC_OFF_T_IS_LONG_LONG,
AC_RLIM_T_IS_LONG_LONG and AC_LITTLE_ENDIAN_LONG_LONG from acinclude.m4.
* m4/procfs.m4: New file, with definitions of AC_MP_PROCFS,
AC_POLLABLE_PROCFS and AC_STRUCT_PR_SYSCALL from acinclude.m4.
* m4/stat.m4: New file, with definition of AC_STAT64 from acinclude.m4.
* m4/statfs.m4: New file, with definition of AC_STATFS64 from
acinclude.m4.
* m4/warnings.m4: New file, with definition of AC_WARNFLAGS from
acinclude.m4.
2010-09-09 23:20:24 +00:00
Edgar E. Iglesias
939caba68e Add support for the MicroBlaze architecture
* configure.ac: Recognize MicroBlaze.
* linux/microblaze/syscallent.h: New file.
* Makefile.am (EXTRA_DIST): Add linux/microblaze/syscallent.h
* process.c (change_syscall, struct_user_offsets): Add MicroBlaze
support.
* signal.c (sys_sigreturn): Likewise.
* syscall.c (internal_syscall, get_scno, syscall_fixup, get_error,
syscall_enter): Likewise.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Signed-off-by: Michal Simek <monstr@monstr.eu>
2010-08-05 20:04:50 +00:00
c94a774a3b Fix "make dist" regression introduced by commit v4.5.19-12-g5078770
* Makefile.am (EXTRA_DIST): Rename linux/syscallent.h to linux/i386/syscallent.h
2010-04-07 10:17:50 +00:00
Chris Metcalf
c8c6698ef7 Add support for the TILE architecture
* configure.ac: Add TILE to the list of supported architectures.
* defs.h: Define TCB_WAITEXECVE for TILE.
* linux/tile/syscallent.h: New file.
* Makefile.am (EXTRA_DIST): Add linux/tile/syscallent.h
* process.c (change_syscall, struct_user_offsets): Add TILE support.
* syscall.c (get_scno, get_error, syscall_enter): Likewise.
* mem.c (mmap_flags, print_mmap): Add MAP_CACHE_xxx TILE extensions
support.
* signal.c (sigact_flags): Add SA_NOPTRACE.
(sys_sigreturn): Add TILE support.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2010-02-05 22:09:30 +00:00
27bb9ee15e * Makefile.am (INCLUDES): Remove redundant search directories. 2010-02-04 22:31:31 +00:00
76ac37d8d5 * Makefile.am [MAINTAINER_MODE]: Define and export TAR_OPTIONS. 2009-10-09 22:10:09 +00:00
Roland McGrath
2b832dfa69 * Makefile.am (srpm): New phony target. 2009-10-06 17:50:21 -07:00
Roland McGrath
a478d741dc * Makefile.am (EXTRA_DIST): Add ChangeLog.
($(srcdir)/ChangeLog): New target, replaces gen-changelog phony target.
Put it inside [MAINTAINER_MODE].
2009-10-06 17:50:04 -07:00
7304fd9abd * Makefile.am (gen_changelog_start_date): Fix date. 2009-09-21 18:42:33 +00:00
08f922a574 Generate ChangeLog from git log
* .gitignore: Add ChangeLog
* ChangeLog: Rename to ChangeLog-CVS.
* Makefile.am (gen-changelog): New rule.
(dist-hook): Depend on it.
(EXTRA_DIST): Add ChangeLog-CVS.
* README-hacking: Describe changes.
* gitlog-to-changelog: Import from gnulib.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2009-07-08 21:01:21 +00:00
82f4cc6eee README-CVS: Rename to README-hacking
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2009-07-07 22:33:46 +00:00
Denys Vlasenko
5ae2b7c601 AVR32 support by Hans-Christian Egtvedt
(hans-christian.egtvedt AT atmel.com).
* configure.ac: Make it recognize avr32.
* defs.h: Define LINUX_AVR32.
* linux/avr32/syscallent.h: New file.
* Makefile.am: Reference linux/avr32/syscallent.h.
* proc.c (change_syscall, setarg): Add support for avr32.
(struct xlat struct_user_offsets[]): Ditto.
* syscall.c (get_scno): Ditto.
(get_error, force_result, syscall_enter): Ditto.
* util.c (getpc, printcall): Ditto.
2009-02-27 20:32:52 +00:00
Denys Vlasenko
f3c9ed48bc Further signalent.h cleanup.
* linux/ia64/signalent.h: Remove, it is identical to common signalent.h
sans "SIGRTnn" definitions which are redundant.
* linux/powerpc/signalent.h: Remove, it is identical to common signalent.h
sans outdated "SIGUNUSED" which should be "SIGSYS".
* linux/s390/signalent.h: Ditto.
* linux/s390x/signalent.h: Ditto.
* Makefile.am: Remove references to the above files.
2009-02-20 17:38:47 +00:00
Denys Vlasenko
53560265c6 Patch by Mike Frysinger (vapier AT gentoo.org).
* Makefile.am: Remove reference to linux/sh/signalent.h.
* linux/sh/signalent.h: Remove, it is identical to common signalent.h.
2009-02-20 16:24:39 +00:00
Denys Vlasenko
185cce1373 Patch by Mike Frysinger (vapier AT gentoo.org).
* linux/errnoent.h: Make ERRNO_58 show EDEADLOCK for POWERPC.
* Makefile.am: Remove reference to linux/powerpc/errnoent.h.
* linux/powerpc/errnoent.h: Remove, we can use common errnoent.h now.
2009-02-20 16:00:41 +00:00
Denys Vlasenko
d8df3718ca Patch by Mike Frysinger (vapier AT gentoo.org).
Removing redundant errnoent.h files.
* Makefile.am: Remove references to linux/ia64/errnoent.h,
linux/s390/errnoent.h, linux/s390x/errnoent.h and linux/sh/errnoent.h.
* linux/ia64/errnoent.h: Remove, this arch uses common errnoent.h.
* linux/s390/errnoent.h: Ditto.
* linux/s390x/errnoent.h: Ditto.
* linux/sh/errnoent.h: Ditto.
2009-02-20 15:51:51 +00:00
87ea1f4fe6 2008-10-23 Mike Frysinger <vapier@gentoo.org>
Port strace to the Blackfin architecture.
	* configure.ac: Add bfin to supported architectures.
	* process.c: Skip u_fpvalid/u_fpstate for Blackfin architecture.
	(change_syscall): Support Blackfin architecture.
	* syscall.c: Declare r0 for Blackfin architecture.
	(get_scno): Decode Blackfin syscall number.
	(syscall_fixup): Extract Blackfin return value.
	(get_error): Decode Blackfin return value.
	(force_result): Poke Blackfin return value.
	(syscall_enter): Extract Blackfin syscall arguments.
	* defs.h: Define TCB_WAITEXECVE for Blackfin architecture.
	* linux/syscall.h (sys_sram_alloc): Declare for Blackfin
	architecture.
	* system.c (sys_sram_alloc): Decode Blackfin sram_alloc() syscall.
	* util.c (getpc): Handle PC on Blackfin architecture.
	(printcall): Likewise.
	* linux/bfin/ioctlent.h, linux/bfin/syscallent.h: New Blackfin
	headers.
	* Makefile.am (EXTRA_DIST): Add linux/bfin/ioctlent.h and
	linux/bfin/syscallent.h.
2008-11-10 22:21:41 +00:00
Roland McGrath
1cdfb8f96b 2008-07-31 Roland McGrath <roland@redhat.com>
* Makefile.am (EXTRA_DIST): Add new linux/arm/ files.
2008-08-01 01:15:24 +00:00
Roland McGrath
09a007c14f 2008-07-22 Roland McGrath <roland@redhat.com>
* Makefile.am (EXTRA_DIST): Add new debian/ files.
2008-07-22 08:33:40 +00:00
b011af5ef0 2007-03-29 Vladimir Nadvornik <nadvornik@suse.cz>
Dmitry V. Levin <ldv@altlinux.org>

	Trace linux SG_IO ioctl arguments and results.
	* scsi.c: New file.
	* Makefile.am (strace_SOURCES): Add scsi.c
	* defs.h (scsi_ioctl): New function.
	* ioctl.c (ioctl_decode): Use scsi_ioctl().
2007-06-30 11:37:09 +00:00
7d61ff1dbf 2006-12-21 Dmitry V. Levin <ldv@altlinux.org>
Move counts code to separate file.
	* count.c: New file.
	* Makefile.am (strace_SOURCES): Add count.c.
	* syscall.c (call_counts, countv, counts, shortest, time_cmp,
	syscall_cmp, count_cmp, sortfun, overhead, set_sortby,
	set_overhead, call_summary_pers, call_summary): Move to count.c
	* count.c (count_syscall): New function.
	* defs.h (count_syscall): Declare it.
	* syscall.c (trace_syscall): Use it.
2006-12-21 21:15:04 +00:00
ef5c3d657d 2006-10-16 Dmitry V. Levin <ldv@altlinux.org>
Implement comprehensive quotactl(2) parser for Linux.
	* Makefile.am (strace_SOURCES): Add quota.c.
	* quota.c: New file.
	* resource.c: Remove old quotactl(2) parser.
	Fixes RH#118696.
2006-10-16 00:26:47 +00:00
Roland McGrath
5a862ff6b9 2006-04-25 Roland McGrath <roland@redhat.com>
* Makefile.am (EXTRA_DIST): Add xlate.el.
2006-04-25 07:33:20 +00:00
Roland McGrath
cdb247397a 2005-12-01 Roland McGrath <roland@redhat.com>
* Makefile.am (EXTRA_DIST): Add linux/arm/syscallent.h
	and linux/m68k/syscallent.h.
	Fixes Debian#336197.
2005-12-02 04:27:47 +00:00
Roland McGrath
0165e7790d 2004-07-12 Roland McGrath <roland@redhat.com>
* Makefile.am (EXTRA_DIST): Add linux/sparc64 files.
2004-07-12 07:53:59 +00:00
Roland McGrath
6617729a7a 2004-07-12 Roland McGrath <roland@redhat.com>
* Makefile.am (EXTRA_DIST): Add linux/sh64/syscallent.h.
2004-07-12 07:27:23 +00:00
Roland McGrath
adc2b308a1 Tweak maintainer rules. 2004-07-12 06:11:03 +00:00
Roland McGrath
bc44e40e2a 2004-07-11 Roland McGrath <roland@redhat.com>
* configure.ac: Add I386 as AM_CONDITIONAL.
	* Makefile.am [LINUX]: Add maintainer-mode rules to regenerate
	the ioctlent.h file.
2004-07-12 05:45:08 +00:00
Roland McGrath
ac971c2727 2003-02-26 Stuart Menefy <stuart.menefy@st.com>
Various fixes for SuperH [SH]:
	* mem.c(sys_old_mmap): mmap() parameters passed in registers
	* net.c(sys_pipe), syscall.c(getrval2): pipe() results returned
	in registers
	* process.c (change_syscall): Fixed register which holds system
	call number
	* util.c (arg0_offset, arg1_offset): provide definition
	* Makefile.am: Added new files in linux/sh
	* linux/sh/{syscallent,errnoent,ioctlent,signalent}.h: New files
2003-03-31 01:03:33 +00:00
Roland McGrath
9c9a2534e3 2003-02-19 Roland McGrath <roland@redhat.com>
* version.c: Removed.
	* Makefile.am (strace_SOURCES): Remove it.
	* strace.c: Use PACKAGE_NAME and VERSION macros instead of version var.
2003-02-20 02:56:29 +00:00
Roland McGrath
44f24c7b26 2003-01-08 Roland McGrath <roland@redhat.com>
* Makefile.am (AM_CFLAGS): New variable, define to $(WARNFLAGS).
	* Makefile.am (EXTRA_DIST): Remove debian/postinst and debian/prerm.
2003-01-09 06:53:25 +00:00
Roland McGrath
d97b2071cd 2002-12-30 Roland McGrath <roland@redhat.com>
* Makefile.am (bin_SCRIPTS): New variable, list strace-graph.
	(EXTRA_DIST): Add missing files.
2002-12-30 10:45:58 +00:00
Roland McGrath
7daaace264 2002-12-30 Roland McGrath <roland@redhat.com>
* Makefile.am [LINUX && X86_64]: Remove cruft.
	* linux/x86_64/errnoent1.h: New file.
	* linux/x86_64/ioctlent1.h: New file.
	* linux/x86_64/signalent1.h: New file.
	* linux/x86_64/syscallent1.h: New file.
	* linux/x86_64/i386-headers.diff: File removed.
	* linux/x86_64/makeheaders.sh: File removed.
	* linux/x86_64/Makefile.in: File removed.
2002-12-30 09:33:20 +00:00
Roland McGrath
2746edd185 2002-12-29 Roland McGrath <roland@redhat.com>
* configure.ac, Makefile.am: Punt subdirs, handle everything here.
	* linux/Makefile.am: File removed.
	* freebsd/Makefile.am: File removed.
	* sunos4/Makefile.in: File removed.
	* svr4/Makefile.in: File removed.
2002-12-30 09:13:08 +00:00
Roland McGrath
80964aaf26 2002-12-29 Roland McGrath <roland@redhat.com>
* configure.ac, Makefile.am: Punt subdirs, handle everything here.
2002-12-30 01:11:08 +00:00
Roland McGrath
6d2b34971b 2002-12-22 Roland McGrath <roland@redhat.com>
Update to Autoconf 2.57, and Automakify with version 1.7.
	* Makefile.am: New file.
	* Makefile.in: File removed.
	* configure.in: Moved to ...
	* configure.ac: ... here.  Update for Autoconf 2.5x and Automake.
	* aclocal.m4: Moved to ...
	* acinclude.m4: ... here.  Update for Autoconf 2.5x.
	* AUTHORS: New file, makes automake happy.
	* autogen.sh: File removed.
	* README-CVS: Update to recommend autoreconf instead.
	* file.c: HAVE_ST_* -> HAVE_STRUCT_STAT_ST_*.
	* net.c: HAVE_SIN6_SCOPE_ID -> HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID,
	HAVE_MSG_CONTROL -> HAVE_STRUCT_MSGHDR_MSG_CONTROL.
	* strace.c: *_DECLARED -> HAVE_DECL_*
	* stream.c: HAVE_* -> HAVE_STRUCT_*
2002-12-30 00:51:30 +00:00