diff options
-rw-r--r-- | .cvsignore | 2 | ||||
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | Makefile.in | 83 | ||||
-rwxr-xr-x | configure | 3 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | staprun.8.in | 149 | ||||
-rw-r--r-- | systemtap.spec.in | 3 |
8 files changed, 234 insertions, 21 deletions
@@ -1,2 +1,2 @@ -autom4te.* cscope*out Makefile config.h config.log config.status *.[15] +autom4te.* cscope*out Makefile config.h config.log config.status *.[158] .deps loc2c-test stamp-h1 stap staprun stp_check systemtap.spec testresults @@ -1,3 +1,14 @@ +2007-02-27 David Smith <dsmith@redhat.com> + + * staprun.8.in: Added a basic staprun man page. + * Makefile.am: Added staprun.8. + * Makefile.in: Regenerated. + * configure.ac: Added staprun.8. + * configure: Regenerated. + * systemtap.spec.in: Added staprun.8 and other document files to + staprun RPM. + * .cvsignore: Ignores staprun.8. + 2007-02-27 Frank Ch. Eigler <fche@elastic.org> * tapsets.cxx (dwflpp setup): Print "missing kernel debuginfo" diff --git a/Makefile.am b/Makefile.am index 94808fa0..09e49273 100644 --- a/Makefile.am +++ b/Makefile.am @@ -10,7 +10,7 @@ AM_CPPFLAGS = -DBINDIR='"$(bindir)"' -DPKGDATADIR='"${pkgdatadir}"' -DPKGLIBDIR= AM_CFLAGS = -D_GNU_SOURCE -fexceptions -Wall -Wextra -Werror -Wshadow -Wunused -Wformat=2 -W AM_CXXFLAGS = -Wall -Wextra -Werror -dist_man_MANS = stap.1 stapprobes.5 stapfuncs.5 stapex.5 lket.5 lket-b2a.1 man/stapprobes.iosched.5 man/stapprobes.netdev.5 man/stapprobes.nfs.5 man/stapprobes.nfsd.5 man/stapprobes.pagefault.5 man/stapprobes.process.5 man/stapprobes.rpc.5 man/stapprobes.scsi.5 man/stapprobes.signal.5 man/stapprobes.socket.5 man/stapprobes.tcp.5 man/stapprobes.udp.5 +dist_man_MANS = stap.1 stapprobes.5 stapfuncs.5 stapex.5 staprun.8 lket.5 lket-b2a.1 man/stapprobes.iosched.5 man/stapprobes.netdev.5 man/stapprobes.nfs.5 man/stapprobes.nfsd.5 man/stapprobes.pagefault.5 man/stapprobes.process.5 man/stapprobes.rpc.5 man/stapprobes.scsi.5 man/stapprobes.signal.5 man/stapprobes.socket.5 man/stapprobes.tcp.5 man/stapprobes.udp.5 bin_PROGRAMS = stap staprun stap_SOURCES = main.cxx \ parse.cxx staptree.cxx elaborate.cxx translate.cxx \ diff --git a/Makefile.in b/Makefile.in index a72a7fb8..dd6fa168 100644 --- a/Makefile.in +++ b/Makefile.in @@ -52,8 +52,8 @@ DIST_COMMON = README $(am__configure_deps) $(dist_man_MANS) \ $(srcdir)/config.in $(srcdir)/lket-b2a.1.in \ $(srcdir)/lket.5.in $(srcdir)/stap.1.in $(srcdir)/stapex.5.in \ $(srcdir)/stapfuncs.5.in $(srcdir)/stapprobes.5.in \ - $(srcdir)/stp_check.in $(srcdir)/systemtap.spec.in \ - $(top_srcdir)/configure \ + $(srcdir)/staprun.8.in $(srcdir)/stp_check.in \ + $(srcdir)/systemtap.spec.in $(top_srcdir)/configure \ $(top_srcdir)/man/stapprobes.iosched.5.in \ $(top_srcdir)/man/stapprobes.netdev.5.in \ $(top_srcdir)/man/stapprobes.nfs.5.in \ @@ -76,7 +76,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = systemtap.spec stp_check stap.1 stapprobes.5 \ - stapfuncs.5 stapex.5 lket.5 lket-b2a.1 \ + stapfuncs.5 stapex.5 staprun.8 lket.5 lket-b2a.1 \ man/stapprobes.iosched.5 man/stapprobes.netdev.5 \ man/stapprobes.nfs.5 man/stapprobes.nfsd.5 \ man/stapprobes.pagefault.5 man/stapprobes.process.5 \ @@ -84,7 +84,8 @@ CONFIG_CLEAN_FILES = systemtap.spec stp_check stap.1 stapprobes.5 \ man/stapprobes.signal.5 man/stapprobes.socket.5 \ man/stapprobes.tcp.5 man/stapprobes.udp.5 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibexecdir)" \ - "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" + "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" \ + "$(DESTDIR)$(man8dir)" binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) am_loc2c_test_OBJECTS = loc2c_test-loc2c-test.$(OBJEXT) \ @@ -128,6 +129,7 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ uninstall-recursive man1dir = $(mandir)/man1 man5dir = $(mandir)/man5 +man8dir = $(mandir)/man8 NROFF = nroff MANS = $(dist_man_MANS) ETAGS = etags @@ -247,7 +249,7 @@ pkglibexecdir = ${libexecdir}/${PACKAGE} AM_CPPFLAGS = -DBINDIR='"$(bindir)"' -DPKGDATADIR='"${pkgdatadir}"' -DPKGLIBDIR='"$(pkglibexecdir)"' AM_CFLAGS = -D_GNU_SOURCE -fexceptions -Wall -Wextra -Werror -Wshadow -Wunused -Wformat=2 -W AM_CXXFLAGS = -Wall -Wextra -Werror -dist_man_MANS = stap.1 stapprobes.5 stapfuncs.5 stapex.5 lket.5 lket-b2a.1 man/stapprobes.iosched.5 man/stapprobes.netdev.5 man/stapprobes.nfs.5 man/stapprobes.nfsd.5 man/stapprobes.pagefault.5 man/stapprobes.process.5 man/stapprobes.rpc.5 man/stapprobes.scsi.5 man/stapprobes.signal.5 man/stapprobes.socket.5 man/stapprobes.tcp.5 man/stapprobes.udp.5 +dist_man_MANS = stap.1 stapprobes.5 stapfuncs.5 stapex.5 staprun.8 lket.5 lket-b2a.1 man/stapprobes.iosched.5 man/stapprobes.netdev.5 man/stapprobes.nfs.5 man/stapprobes.nfsd.5 man/stapprobes.pagefault.5 man/stapprobes.process.5 man/stapprobes.rpc.5 man/stapprobes.scsi.5 man/stapprobes.signal.5 man/stapprobes.socket.5 man/stapprobes.tcp.5 man/stapprobes.udp.5 stap_SOURCES = main.cxx \ parse.cxx staptree.cxx elaborate.cxx translate.cxx \ tapsets.cxx buildrun.cxx loc2c.c hash.cxx mdfour.c \ @@ -357,6 +359,8 @@ stapfuncs.5: $(top_builddir)/config.status $(srcdir)/stapfuncs.5.in cd $(top_builddir) && $(SHELL) ./config.status $@ stapex.5: $(top_builddir)/config.status $(srcdir)/stapex.5.in cd $(top_builddir) && $(SHELL) ./config.status $@ +staprun.8: $(top_builddir)/config.status $(srcdir)/staprun.8.in + cd $(top_builddir) && $(SHELL) ./config.status $@ lket.5: $(top_builddir)/config.status $(srcdir)/lket.5.in cd $(top_builddir) && $(SHELL) ./config.status $@ lket-b2a.1: $(top_builddir)/config.status $(srcdir)/lket-b2a.1.in @@ -820,6 +824,51 @@ uninstall-man5: echo " rm -f '$(DESTDIR)$(man5dir)/$$inst'"; \ rm -f "$(DESTDIR)$(man5dir)/$$inst"; \ done +install-man8: $(man8_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + test -z "$(man8dir)" || $(mkdir_p) "$(DESTDIR)$(man8dir)" + @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.8*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst"; \ + done +uninstall-man8: + @$(NORMAL_UNINSTALL) + @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.8*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f '$(DESTDIR)$(man8dir)/$$inst'"; \ + rm -f "$(DESTDIR)$(man8dir)/$$inst"; \ + done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -1104,7 +1153,7 @@ check: $(BUILT_SOURCES) all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(MANS) config.h installdirs: installdirs-recursive installdirs-am: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibexecdir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)"; do \ + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibexecdir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \ test -z "$$dir" || $(mkdir_p) "$$dir"; \ done install: $(BUILT_SOURCES) @@ -1164,7 +1213,7 @@ install-exec-am: install-binPROGRAMS install-exec-local \ install-info: install-info-recursive -install-man: install-man1 install-man5 +install-man: install-man1 install-man5 install-man8 installcheck-am: @@ -1192,7 +1241,7 @@ uninstall-am: uninstall-binPROGRAMS uninstall-info-am uninstall-local \ uninstall-info: uninstall-info-recursive -uninstall-man: uninstall-man1 uninstall-man5 +uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ check-am clean clean-binPROGRAMS clean-generic clean-local \ @@ -1205,15 +1254,15 @@ uninstall-man: uninstall-man1 uninstall-man5 install-binPROGRAMS install-data install-data-am \ install-data-local install-exec install-exec-am \ install-exec-local install-info install-info-am install-man \ - install-man1 install-man5 install-pkglibexecSCRIPTS \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-recursive pdf pdf-am ps ps-am \ - tags tags-recursive uninstall uninstall-am \ - uninstall-binPROGRAMS uninstall-info-am uninstall-local \ - uninstall-man uninstall-man1 uninstall-man5 \ - uninstall-pkglibexecSCRIPTS + install-man1 install-man5 install-man8 \ + install-pkglibexecSCRIPTS install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic maintainer-clean-recursive \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am uninstall-binPROGRAMS uninstall-info-am \ + uninstall-local uninstall-man uninstall-man1 uninstall-man5 \ + uninstall-man8 uninstall-pkglibexecSCRIPTS @BUILD_ELFUTILS_TRUE@stamp-elfutils: config.status @BUILD_ELFUTILS_TRUE@ $(MAKE) $(AM_MAKEFLAGS) -C build-elfutils all @@ -5978,7 +5978,7 @@ esac ac_config_headers="$ac_config_headers config.h:config.in" - ac_config_files="$ac_config_files Makefile systemtap.spec stp_check stap.1 stapprobes.5 stapfuncs.5 stapex.5 lket.5 lket-b2a.1 runtime/lket/b2a/Makefile testsuite/Makefile man/stapprobes.iosched.5 man/stapprobes.netdev.5 man/stapprobes.nfs.5 man/stapprobes.nfsd.5 man/stapprobes.pagefault.5 man/stapprobes.process.5 man/stapprobes.rpc.5 man/stapprobes.scsi.5 man/stapprobes.signal.5 man/stapprobes.socket.5 man/stapprobes.tcp.5 man/stapprobes.udp.5" + ac_config_files="$ac_config_files Makefile systemtap.spec stp_check stap.1 stapprobes.5 stapfuncs.5 stapex.5 staprun.8 lket.5 lket-b2a.1 runtime/lket/b2a/Makefile testsuite/Makefile man/stapprobes.iosched.5 man/stapprobes.netdev.5 man/stapprobes.nfs.5 man/stapprobes.nfsd.5 man/stapprobes.pagefault.5 man/stapprobes.process.5 man/stapprobes.rpc.5 man/stapprobes.scsi.5 man/stapprobes.signal.5 man/stapprobes.socket.5 man/stapprobes.tcp.5 man/stapprobes.udp.5" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -6585,6 +6585,7 @@ do "stapprobes.5" ) CONFIG_FILES="$CONFIG_FILES stapprobes.5" ;; "stapfuncs.5" ) CONFIG_FILES="$CONFIG_FILES stapfuncs.5" ;; "stapex.5" ) CONFIG_FILES="$CONFIG_FILES stapex.5" ;; + "staprun.8" ) CONFIG_FILES="$CONFIG_FILES staprun.8" ;; "lket.5" ) CONFIG_FILES="$CONFIG_FILES lket.5" ;; "lket-b2a.1" ) CONFIG_FILES="$CONFIG_FILES lket-b2a.1" ;; "runtime/lket/b2a/Makefile" ) CONFIG_FILES="$CONFIG_FILES runtime/lket/b2a/Makefile" ;; diff --git a/configure.ac b/configure.ac index 59b7b34d..dcbf828b 100644 --- a/configure.ac +++ b/configure.ac @@ -130,7 +130,7 @@ esac AC_SUBST([PROCFLAGS]) AC_CONFIG_HEADERS([config.h:config.in]) -AC_CONFIG_FILES(Makefile systemtap.spec stp_check stap.1 stapprobes.5 stapfuncs.5 stapex.5 lket.5 lket-b2a.1 runtime/lket/b2a/Makefile testsuite/Makefile man/stapprobes.iosched.5 man/stapprobes.netdev.5 man/stapprobes.nfs.5 man/stapprobes.nfsd.5 man/stapprobes.pagefault.5 man/stapprobes.process.5 man/stapprobes.rpc.5 man/stapprobes.scsi.5 man/stapprobes.signal.5 man/stapprobes.socket.5 man/stapprobes.tcp.5 man/stapprobes.udp.5) +AC_CONFIG_FILES(Makefile systemtap.spec stp_check stap.1 stapprobes.5 stapfuncs.5 stapex.5 staprun.8 lket.5 lket-b2a.1 runtime/lket/b2a/Makefile testsuite/Makefile man/stapprobes.iosched.5 man/stapprobes.netdev.5 man/stapprobes.nfs.5 man/stapprobes.nfsd.5 man/stapprobes.pagefault.5 man/stapprobes.process.5 man/stapprobes.rpc.5 man/stapprobes.scsi.5 man/stapprobes.signal.5 man/stapprobes.socket.5 man/stapprobes.tcp.5 man/stapprobes.udp.5) AC_OUTPUT if test $build_elfutils = yes; then diff --git a/staprun.8.in b/staprun.8.in new file mode 100644 index 00000000..f4032309 --- /dev/null +++ b/staprun.8.in @@ -0,0 +1,149 @@ +.\" -*- nroff -*- +.TH STAPRUN 8 @DATE@ "Red Hat" +.SH NAME +staprun \- systemtap runtime + +.SH SYNOPSIS + +.br +.B staprun +[ +.I OPTIONS +] +.I MODULE +[ +.I MODULE-OPTIONS +] + +.SH DESCRIPTION + +The +.IR staprun +program is the back-end to the Systemtap tool. It expects a kernel +module produced by the front-end +.I stap +tool. +The +.I staprun +must be run as root. +.PP +Splitting the systemtap tool into a front-end and a back-end allows a +user to compile a systemtap script on a development machine that has +the kernel debugging information (need to compile the script) and then +transfer the resulting kernel module to a production machine that +doesn't have any development tools or kernel debugging information installed. +.PP +This manual corresponds to version @VERSION@. + +.SH OPTIONS +The systemtap translator supports the following options. Any other option +prints a list of supported options. +.TP +.B \-q +Quiet mode. Don't display trace to standard output. +.TP +.B \-p +Print only. Don't log to files. +.TP +.B \-c CMD +Command CMD will be run and the staprun program will exit when CMD +does. The '_stp_target' variable will contain the pid for CMD. +.TP +.B \-t PID +The '_stp_target' variable will be set to PID. +.TP +.\" TODO - need a better description of what this does +.B \-d PID +Pass the systemtap driver's PID. +.TP +.B \-o FILE +Send output to FILE. +.TP +.B \-u USERNAME +Run commands as USERNAME. +.TP +.B \-b BUFFER_SIZE +The systemtap module will specify a buffer size. +Setting one here will override that value. The value should be +an integer between 1 and 64 which be assumed to be the +buffer size in MB. That value will be per-cpu if relayfs is used. + +.SH ARGUMENTS + +.\" TODO - we probably need a better description here. +Any additional arguments on the command line are passed to the +module. + +.SH EXAMPLES +See the +.IR stapex (5) +manual page for a collection of sample scripts. +.PP +Here is a very basic example of how to use staprun. First, use +.I stap +to compile a script. The +.I stap +program will report the pathname to the resulting module. +.PP +.Vb 1 +\& $ stap -p4 -e 'probe begin { printf("Hello World!\\n"); exit() }' +.br +\& /home/user/.systemtap/cache/85/stap_8553d83f78c_265.ko +.PP +Run +.I staprun +with the pathname to the module as an argument. The +.IR sudo (8) +command is used to grant root privileges. +.PP +.Vb 1 +\& $ sudo staprun /home/user/.systemtap/cache/85/stap_8553d83f78c_265.ko +.br +\& Hello World! + +.SH SAFETY AND SECURITY +Systemtap is an administrative tool. It exposes kernel internal data +structures and potentially private user information. See the +.IR stap (1) +manual page for more information on safety and security. + +.SH SEE ALSO +.IR stap (1), +.IR stapprobes (5), +.IR stapfuncs (5), +.IR stapex (5), +.IR lket (5), +.IR sudo (8) + +.SH BUGS +There are numerous missing features and possibly numerous bugs. Use +the Bugzilla link off of the project web page: +.nh +.BR http://sources.redhat.com/systemtap/ . +.hy + +.SH AUTHORS +The +kernel-side runtime library and the user-level +.IR staprun +daemon was written by Martin Hunt and Tom Zanussi. +The +.IR stap +translator was written by Frank Ch. Eigler and Graydon Hoare. +Contact them +using the public mailing list: +.nh +.BR <systemtap@sources.redhat.com> . +.hy + +.SH ACKNOWLEDGEMENTS +The primary probing mechanism uses IBM's +.IR kprobes , +and +.IR relayfs +packages, which were improved and ported by IBM and Intel staff. +The elfutils library from Ulrich Drepper and Roland McGrath is used +to process dwarf debugging information. Many project members contributed +to the overall design and priorities of the system, including Will Cohen, +Jim Keniston, Vara Prasad, and Brad Chen. + diff --git a/systemtap.spec.in b/systemtap.spec.in index 7befba6c..038a7c06 100644 --- a/systemtap.spec.in +++ b/systemtap.spec.in @@ -146,6 +146,9 @@ rm -rf ${RPM_BUILD_ROOT} %files runtime %defattr(-,root,root) %{_bindir}/staprun +%{_mandir}/man8/* + +%doc README AUTHORS NEWS COPYING %changelog * Mon Feb 26 2007 David Smith <dsmith@redhat.com> - 0.5.13-1 |