]> sourceware.org Git - systemtap.git/log
systemtap.git
11 years agoFixed PR14491 by adding a real transport layer for dyninst.
David Smith [Fri, 26 Apr 2013 16:25:24 +0000 (11:25 -0500)]
Fixed PR14491 by adding a real transport layer for dyninst.

* runtime/dyninst/transport.c: New file.
* runtime/dyninst/transport.h: New file.
* translate.cxx (c_unparser::emit_module_init): Emit a call to
  stp_session_init_finished() before probe registrations.
  (c_unparser::emit_module_exit): In dyninst mode, delay
  releasing the context.
* tapsets.cxx (common_probe_entryfn_epilogue): In dyninst mode, delay
  releasing the context.
* runtime/dyninst/stapdyn.h: Add stp_dyninst_session_init_finished()
  prototype.
* runtime/dyninst/shm.c (_stp_shm_destroy): Right before unmapping the
  shared memory, tear down the contexts.
* runtime/dyninst/runtime_context.h (__stp_runtime_contexts_free): New
  function.
* runtime/dyninst/runtime.h (stp_pthread_rwlock_init_shared): New function.
  (stp_dyninst_shm_connect): Initialize the transport by calling
  _stp_dyninst_transport_init().
  (stp_dyninst_session_init): Ditto.
  (stp_dyninst_session_init_finished): New function.
  (stp_dyninst_dtor): Shutdown the transport by calling
  _stp_dyninst_transport_shutdown().
* runtime/dyninst/print.c (_stp_print_flush): Now just calls
  _stp_dyninst_transport_write().
  (_stp_reserve_bytes): Now just calls
  _stp_dyninst_transport_reserve_bytes().
  (_stp_unreserve_bytes): Now just calls
  _stp_dyninst_transport_unreserve_bytes().
* runtime/dyninst/common_session_state.h: Add transport data to session
  data structure.
* runtime/common_probe_context.h: Add transport data to context structure.
* runtime/dyninst/io.c (_stp_vlog): New function.
  (_stp_warn): Now uses _stp_vlog().
  (_stp_error): Ditto.
  (_stp_softerror): Ditto.
  (_stp_dbug): Ditto.

11 years agoExpand the SDT benchmark locations
Josh Stone [Tue, 23 Apr 2013 22:10:51 +0000 (15:10 -0700)]
Expand the SDT benchmark locations

- Add the loop index as an argument to stap:benchmark.
- Add stap:benchmark-thread-begin/end around each thread.
- Add stap:benchmark-begin/end around the whole thing.

11 years agoSupport "pid" interface of perf (for per-process case)
Torsten Polle [Wed, 10 Apr 2013 18:20:41 +0000 (20:20 +0200)]
Support "pid" interface of perf (for per-process case)

The interface of perf_event_create_kernel_counter() in kernel versions prior
2.6.37 takes the process id instead of a pointer to the task struct.

Signed-off-by: Torsten Polle <Torsten.Polle@gmx.de>
11 years agomutex-contention sample: drop compulsory NNNN argument used for array sizing
Frank Ch. Eigler [Fri, 12 Apr 2013 19:49:05 +0000 (15:49 -0400)]
mutex-contention sample: drop compulsory NNNN argument used for array sizing

11 years agoPR15363: tweak registration-warning message to print inode-offset
Frank Ch. Eigler [Fri, 12 Apr 2013 18:20:01 +0000 (14:20 -0400)]
PR15363: tweak registration-warning message to print inode-offset

Sadly, virtual address to feed/decode objdump -d is not available.

11 years agoPR15363 warn but don't error-abort, on inode-uprobes registration error
Frank Ch. Eigler [Fri, 12 Apr 2013 17:02:36 +0000 (13:02 -0400)]
PR15363 warn but don't error-abort, on inode-uprobes registration error

11 years agoFix weekdays in the rpm spec %changelog (per rpmlint)
Josh Stone [Tue, 9 Apr 2013 13:28:30 +0000 (09:28 -0400)]
Fix weekdays in the rpm spec %changelog (per rpmlint)

11 years agouretprobes: Update for aarapov's v1 (posted April 3)
Josh Stone [Tue, 9 Apr 2013 02:33:07 +0000 (22:33 -0400)]
uretprobes: Update for aarapov's v1 (posted April 3)

The uretprobes handler is now called ".ret_handler", with a new "func"
parameter for the breakpoint vaddr (which we don't use for now).

11 years agoextend error::pass2 man page
Frank Ch. Eigler [Sun, 7 Apr 2013 22:49:27 +0000 (18:49 -0400)]
extend error::pass2 man page

11 years agoEnable process.plt probes for ARM.
Torsten Polle [Fri, 5 Apr 2013 16:20:05 +0000 (12:20 -0400)]
Enable process.plt probes for ARM.

(Confirmed in binutils bfd/elf32-arm.c, elf32_arm_plt0_entry / elf32_arm_plt_entry.)

11 years agostapdyn runtime: don't use mktemp to create a file name
Frank Ch. Eigler [Fri, 5 Apr 2013 13:26:16 +0000 (09:26 -0400)]
stapdyn runtime: don't use mktemp to create a file name

* runtime/dyninst/shm.c (_stp_shm_init): Just use a pid-based name; we only
  need mild uniqueness to avoid accidental collision.

11 years agoBZ855981: Further tweak getcpu compatibility
Josh Stone [Thu, 4 Apr 2013 18:11:36 +0000 (11:11 -0700)]
BZ855981: Further tweak getcpu compatibility

- Keep using sched_getcpu() where possible - it's sometimes faster.
- Pass the correct parameters to syscall(getcpu).
- Direct the tapset cpu() through this compat code too.

11 years agoBZ855981/948279, on second thought, use -march=i586 vice i686
Frank Ch. Eigler [Thu, 4 Apr 2013 13:58:46 +0000 (09:58 -0400)]
BZ855981/948279, on second thought, use -march=i586 vice i686

11 years agoBZ855981/948279, work around gcc default -march=i386 __sync_* incapability
Frank Ch. Eigler [Thu, 4 Apr 2013 13:44:16 +0000 (09:44 -0400)]
BZ855981/948279, work around gcc default -march=i386 __sync_* incapability

* buildrun.cxx (compile_dyninst): Add CFLAGS += -march=i686 for arch=i386.

11 years agoBZ855981: stapdyn runtime compatibility with RHEL5
Frank Ch. Eigler [Thu, 4 Apr 2013 12:17:13 +0000 (08:17 -0400)]
BZ855981: stapdyn runtime compatibility with RHEL5

Old kernels & old glibcs require some minor compatibility hacks.

* runtime/dyninst/linux_defs.h: Dummy-define CLOCK_MONOTONIC_RAW
  if required.
* runtime/dyninst/runtime.h: Dummy-define BITS_PER_LONG if required.
  _stp_runtime_entryfn_get_context: Use syscall(__NR_gettid) as
  fallback from __NR_getcpu if required.

11 years agoPR15053: NEWS item and tweaked usage message for stapdyn
Serguei Makarov [Thu, 28 Mar 2013 13:45:50 +0000 (09:45 -0400)]
PR15053: NEWS item and tweaked usage message for stapdyn

11 years agoPR15315: Filter inode-uprobe processes in the handler
Josh Stone [Wed, 27 Mar 2013 23:33:56 +0000 (16:33 -0700)]
PR15315: Filter inode-uprobe processes in the handler

We already had process tracking, mainly for setting semaphores, but this
gives the list needed to check if an incoming uprobe hit is for a
process we care about.  So now stapiu_probe_prehandler will consult this
list before proceeding with the rest of the probe handler.

This also updates locking so that readers of this process list have a
more fine-grained lock, rather than the global stapiu_process_lock.
Code that needs to reserve/free a uprobe slot will both the global lock
and the specific target lock.

11 years agoeatmydata: fix cut&paste'd description text
Frank Ch. Eigler [Wed, 27 Mar 2013 15:21:44 +0000 (11:21 -0400)]
eatmydata: fix cut&paste'd description text

11 years agoeatmydata: don't override $return for non-participating processes
Frank Ch. Eigler [Wed, 27 Mar 2013 15:17:37 +0000 (11:17 -0400)]
eatmydata: don't override $return for non-participating processes

11 years agosamples: regenerate indexes, tweak keywords
Frank Ch. Eigler [Wed, 27 Mar 2013 15:09:01 +0000 (11:09 -0400)]
samples: regenerate indexes, tweak keywords

11 years agoeatmydata: new sample script
Frank Ch. Eigler [Wed, 27 Mar 2013 15:07:07 +0000 (11:07 -0400)]
eatmydata: new sample script

11 years agoPR15306: Guard the stapdyn probe prologue for no shm
Josh Stone [Tue, 26 Mar 2013 19:25:17 +0000 (12:25 -0700)]
PR15306: Guard the stapdyn probe prologue for no shm

* runtime/dyninst/common_session_state.h (GET_SESSION_ATOMIC,
  _stap_hash_seed, probe_alibi, probe_timing, stp_session_context):
  Return NULL if the session (in shm) doesn't exist yet.
* tapsets.cxx (common_probe_entryfn_prologue): Skip the whole probe if
  the session_state isn't available at all (i.e. no shm yet).
  (common_probe_entryfn_epilogue): Close the session_state block.

11 years agomutator.cxx:481:42: error: expected primary-expression before '.' token
Adrian Negreanu [Tue, 26 Mar 2013 10:07:09 +0000 (12:07 +0200)]
mutator.cxx:481:42: error: expected primary-expression before '.' token

Signed-off-by: Adrian Negreanu <groleo@gmail.com>
Signed-off-by: Josh Stone <jistone@redhat.com>
11 years agoAdd stap-prep.1 to systemtap.spec
Lukas Berk [Tue, 26 Mar 2013 15:03:21 +0000 (11:03 -0400)]
Add stap-prep.1 to systemtap.spec

*systemtap.spec: add %{_mandir}/man1/stap-prep.1* to be packaged

11 years agoman/Makefile.in: regenerate
Timo Juhani Lindfors [Wed, 6 Mar 2013 16:16:13 +0000 (18:16 +0200)]
man/Makefile.in: regenerate

11 years agoinstall stap-prep.1 man page
Timo Juhani Lindfors [Wed, 6 Mar 2013 16:10:18 +0000 (18:10 +0200)]
install stap-prep.1 man page

11 years agostap-prep: debian: do not check for linux-kbuild
Timo Juhani Lindfors [Thu, 7 Mar 2013 13:32:49 +0000 (15:32 +0200)]
stap-prep: debian: do not check for linux-kbuild

linux-headers* already depends on the right linux-kbuild* package and
our heuristic for guessing the package name is lacking. For example
with linux-image-3.2.0-0.bpo.4-amd64 version 3.2.35-2~bpo60+1 from
squeeze-backports it predicts "linux-kbuild-3.2.0" while the package
is actually named "linux-kbuild-3.2".

11 years agoman stap.1: add reference to stap-prep (1)
Timo Juhani Lindfors [Wed, 6 Mar 2013 14:48:27 +0000 (16:48 +0200)]
man stap.1: add reference to stap-prep (1)

11 years agoman: add man page for stap-prep (1)
Timo Juhani Lindfors [Wed, 6 Mar 2013 14:47:44 +0000 (16:47 +0200)]
man: add man page for stap-prep (1)

11 years agostap-prep: add support for deb based systems
Timo Juhani Lindfors [Wed, 6 Mar 2013 14:26:01 +0000 (16:26 +0200)]
stap-prep: add support for deb based systems

11 years agoPrepare stap-prep for support for non-rpm systems
Timo Juhani Lindfors [Wed, 6 Mar 2013 14:13:05 +0000 (16:13 +0200)]
Prepare stap-prep for support for non-rpm systems

11 years agoconfigury: regenerate on fedora-18 with autoconf 2.69 etc.
Frank Ch. Eigler [Mon, 25 Mar 2013 22:58:48 +0000 (18:58 -0400)]
configury: regenerate on fedora-18 with autoconf 2.69 etc.

11 years agoFixed PR15114 by adding uid/gid convenience variables to nfsd.proc.*.
David Smith [Mon, 25 Mar 2013 19:53:58 +0000 (14:53 -0500)]
Fixed PR15114 by adding uid/gid convenience variables to nfsd.proc.*.

* tapset/linux/nfsd.stp: Added uid/gid convenience variables to
  nfsd.proc.* aliases.
* testsuite/buildok/nfsd-detailed.stp: Added compile test for uid/gid
  convenience variables.

11 years agostap-report: include dpkg | grep linux on deb/ubuntu platforms
Frank Ch. Eigler [Mon, 25 Mar 2013 01:01:42 +0000 (21:01 -0400)]
stap-report: include dpkg | grep linux on deb/ubuntu platforms

11 years agoAdd a few more ENABLE_NLS checks to be consistent
Josh Stone [Sat, 23 Mar 2013 01:49:17 +0000 (18:49 -0700)]
Add a few more ENABLE_NLS checks to be consistent

11 years agofixes for ENABLE_NLS=0
Adrian Marius Negreanu [Fri, 22 Mar 2013 18:13:34 +0000 (20:13 +0200)]
fixes for ENABLE_NLS=0

v2:
    [Josh Stone]: replace _F(_N(a,b,c),...) with _NF(a,b,c,...)

Signed-off-by: Adrian Marius Negreanu <adrian.m.negreanu@intel.com>
Signed-off-by: Josh Stone <jistone@redhat.com>
11 years agoPR15053: stapdyn -G global variable setting support (initial patch)
Serguei Makarov [Fri, 22 Mar 2013 22:11:27 +0000 (18:11 -0400)]
PR15053: stapdyn -G global variable setting support (initial patch)

* buildrun.cxx (make_dyninst_run_command): pass module arguments on to stapdyn.
* runtime/dyninst/runtime.h (set_int64_t): new function.
* runtime/dyninst/stapdyn.h (stp_global_setter): function prototype.
* stapdyn/mutator.cxx (mutator::mutator): add modoptions to mutator.
  (mutator::init_modoptions): new function.
  (mutator::run_module_init): call init_modoptions to initialize globals.
* stapdyn/mutator.h (class mutator): add modoptions to mutator.
* stapdyn/stapdyn.cxx (main): collect module arguments from command line.
* translate.cxx (struct c_unparser): new emit_global_init_* functions.
  (c_unparser::emit_global_param): stapdyn no longer calls this function.
  (c_unparser::emit_global_init_setters): new function.
  (c_unparser::emit_global_init): emit default initial values in stapdyn mode.
  (c_unparser::emit_global_init_type): new function.
  (c_unparser::emit_module_init): copy initial values of stapdyn globals
     to shared memory as appropriate.
  (translate_pass): emit static-initialization struct for stapdyn,
     and also emit the setter function to access this struct.
* translate.h (struct c_unparser): document new emit_global_init_* functions.

11 years agoPR15279: Leave REG_IP alone in 3.9ish uprobes
Josh Stone [Fri, 22 Mar 2013 02:13:25 +0000 (19:13 -0700)]
PR15279: Leave REG_IP alone in 3.9ish uprobes

We had experimental code to use uprobes that passed the IP as an extra
parameter, but that was dropped in favor of modifying pt_regs directly,
before even calling the handlers.  So this restores our handler to never
take an IP, and updates REG_IP only for older versions.

* buildrun.cxx: Don't run autoconf-inode-uprobes-noaddr.c.
* runtime/linux/autoconf-inode-uprobes-noaddr.c: Deleted.
* runtime/linux/uprobes-inode.c: Set STAPIU_NEEDS_REG_IP for older
  uprobes, and consolidate to a single handler function that uses that
  flag to gate IP-setting.
* testsuite/systemtap.context/uprobe_uaddr_mark.*: New test, makes sure
  that uaddr() matches the statement(ADDR) in pp().

11 years agoPR15290: remove additional uretprobe cruft
Josh Stone [Fri, 22 Mar 2013 01:13:49 +0000 (18:13 -0700)]
PR15290: remove additional uretprobe cruft

11 years agoPR15290: add support for aarapov's uretprobes
Adrian Marius Negreanu [Thu, 21 Mar 2013 19:28:08 +0000 (21:28 +0200)]
PR15290: add support for aarapov's uretprobes

Signed-off-by: Adrian Marius Negreanu <adrian.m.negreanu@intel.com>
Signed-off-by: Josh Stone <jistone@redhat.com>
11 years agoRemove stapdyn '-std=c++11' compile flag.
David Smith [Thu, 21 Mar 2013 18:27:31 +0000 (13:27 -0500)]
Remove stapdyn '-std=c++11' compile flag.

* stapdyn/Makefile.am: Remove "-std=c++11" compile flag.
* stapdyn/Makefile.in: Regenerated.
* stapdyn/dynprobe.cxx: Change '__typeof__' back to 'typeof'.
* stapdyn/mutator.cxx: Ditto.
* stapdyn/mutator.h: Ditto.

11 years agoInclude runtime/dyninst/stapdyn.h properly in stapdyn C++ code.
David Smith [Wed, 20 Mar 2013 20:51:37 +0000 (15:51 -0500)]
Include runtime/dyninst/stapdyn.h properly in stapdyn C++ code.

* stapdyn/dynprobe.cxx: Make sure when we include
  runtime/dyninst/stapdyn.h we use 'extern "C"'.
* stapdyn/mutatee.cxx: Ditto.
* stapdyn/mutator.cxx: Ditto.
* stapdyn/mutator.h: Ditto.

11 years agoAdded better process cleanup in 6 testcases.
David Smith [Wed, 20 Mar 2013 20:45:10 +0000 (15:45 -0500)]
Added better process cleanup in 6 testcases.

* testsuite/systemtap.clone/probe_by_pid.exp: Better process cleanup.
* testsuite/systemtap.server/client.exp: Ditto.
* testsuite/systemtap.server/server.exp: Ditto.
* testsuite/systemtap.server/server_args.exp: Ditto.
* testsuite/systemtap.server/server_concurrency.exp: Ditto.
* testsuite/systemtap.server/server_locale.exp: Ditto.

11 years agoMake sure dyninst stat/map locks are using PTHREAD_PROCESS_SHARED.
David Smith [Tue, 19 Mar 2013 19:27:02 +0000 (14:27 -0500)]
Make sure dyninst stat/map locks are using PTHREAD_PROCESS_SHARED.

* runtime/dyninst/map_runtime.h (_stp_map_initialize_lock): Be sure to set
  'PTHREAD_PROCESS_SHARED' on mutexes by calling
  stp_pthread_mutex_init_shared().
* runtime/dyninst/stat_runtime.h: Ditto.
* runtime/dyninst/runtime.h: Add forward declaration of
  stp_pthread_mutex_init_shared().

11 years agoMake sure macro chain tokens are available for error reporting.
Mark Wielaard [Sun, 17 Mar 2013 11:31:27 +0000 (12:31 +0100)]
Make sure macro chain tokens are available for error reporting.

Found by a combination of zzuf and valgrind. When reporting the chain
token we need a real copy, because the existing (junk) token might have
been discarded.

11 years agoAnother parse error found by zzuf. Don't crash when we find early EOF.
Mark Wielaard [Sat, 16 Mar 2013 20:06:02 +0000 (21:06 +0100)]
Another parse error found by zzuf. Don't crash when we find early EOF.

Example crasher: stap -e 'probe begin { for (i = 0; i++;'

11 years agoParse errors found by zzuf. Don't crash when we find early EOF.
Mark Wielaard [Thu, 14 Mar 2013 23:39:36 +0000 (00:39 +0100)]
Parse errors found by zzuf. Don't crash when we find early EOF.

11 years agoAdd cvs add && cvs commit operations for the tapset/ directory
Lukas Berk [Thu, 14 Mar 2013 20:02:36 +0000 (16:02 -0400)]
Add cvs add && cvs commit operations for the tapset/ directory

*scripts/update-docs: add missing cvs operations for tapset files

11 years agorun-staprun: Preserve the user PATH and HOME
Josh Stone [Tue, 12 Mar 2013 23:08:48 +0000 (16:08 -0700)]
run-staprun: Preserve the user PATH and HOME

Just for convenience, keeps PATH and HOME as the user's to make sure
-c CMD has a normal non-root environment.

11 years agoAdd options to help benchmark SDT
Josh Stone [Tue, 12 Mar 2013 02:08:49 +0000 (19:08 -0700)]
Add options to help benchmark SDT

These are secret, undocumented, for developer use only.  Use stap
inception-style as the -c CMD of a stap which probes the SDT mark
process.provider("stap").mark("benchmark").

  --benchmark-sdt-loops=N
        Loop over the SDT probe point N times.

  --benchmark-sdt-threads=N
        Run the loop simultaneously in N threads.

11 years agostapdyn: fix the context->data_index
Josh Stone [Tue, 12 Mar 2013 02:01:27 +0000 (19:01 -0700)]
stapdyn: fix the context->data_index

This regressed in commit c08bf9de, which lost the initialization of that
field.  Thus there was a data race in pmaps, stats, etc. in writing to
data_index 0, rather than the true index of the currently-owned context.

11 years agoDo module cleanup in testsuite/systemtap.base/pr10854.exp.
David Smith [Mon, 11 Mar 2013 20:16:39 +0000 (15:16 -0500)]
Do module cleanup in testsuite/systemtap.base/pr10854.exp.

11 years agoBetter process cleanup in testsuite/systemtap.server/client.exp.
David Smith [Mon, 11 Mar 2013 19:04:20 +0000 (14:04 -0500)]
Better process cleanup in testsuite/systemtap.server/client.exp.

11 years agoMerge branch 'master' of git://sourceware.org/git/systemtap
Lukas Berk [Mon, 11 Mar 2013 16:30:24 +0000 (12:30 -0400)]
Merge branch 'master' of git://sourceware.org/git/systemtap

11 years agoChange directories regardless if the patch was applied or or not
Lukas Berk [Mon, 11 Mar 2013 16:29:23 +0000 (12:29 -0400)]
Change directories regardless if the patch was applied or or not

*scripts/spine-rawhide: if the patch wasn't applied, then we wouldn't
change directories, breaking the rest of the script

11 years agoBetter process/module cleanup in rename_module.exp.
David Smith [Mon, 11 Mar 2013 16:23:02 +0000 (11:23 -0500)]
Better process/module cleanup in rename_module.exp.

11 years agoFix sed command and some whitespace
Lukas Berk [Mon, 11 Mar 2013 16:21:14 +0000 (12:21 -0400)]
Fix sed command and some whitespace

*scripts/spin-rawhide: sed command fix and whitespace

11 years agodocs: adapt to publican 3.0's more picky revnumber rules
Frank Ch. Eigler [Mon, 11 Mar 2013 15:42:43 +0000 (11:42 -0400)]
docs: adapt to publican 3.0's more picky revnumber rules

* doc/SystemTap_Beginners_Guide/en-US/Revision_History.xml
  Add a couple of -1's, just because.

11 years agoAvoid tcl errors on systems without uprobes in labels.exp.
David Smith [Mon, 11 Mar 2013 15:29:23 +0000 (10:29 -0500)]
Avoid tcl errors on systems without uprobes in labels.exp.

11 years agoBackport some spec file changes from fedora-git
Lukas Berk [Mon, 11 Mar 2013 14:24:29 +0000 (10:24 -0400)]
Backport some spec file changes from fedora-git

*systemtap.spec: some architecture specific conditions would be clobbered in
 fedora with the spin-rawhide script was run, lets avoid that

11 years agoAllow spin-rawhide to update systemtap.spec with upstream changes
Lukas Berk [Fri, 8 Mar 2013 20:47:27 +0000 (15:47 -0500)]
Allow spin-rawhide to update systemtap.spec with upstream changes

*scripts/spin-rawhide: add diff between spec files and prompt if
       there are changes and if the user would like
       to patch the sytemtap.spec file.  Alter
       changelog entry accordingly

11 years agoTweak the hash_add_buildid.exp/perf.exp testcases to avoid zombie processes.
David Smith [Fri, 8 Mar 2013 20:28:52 +0000 (14:28 -0600)]
Tweak the hash_add_buildid.exp/perf.exp testcases to avoid zombie processes.

11 years agosystemtap.spec: move some -server install scripting to %post
Frank Ch. Eigler [Fri, 8 Mar 2013 17:23:15 +0000 (12:23 -0500)]
systemtap.spec: move some -server install scripting to %post

Specifically, the creation of the ~stap-server/.systemtap/rc file
should be attempted only after the files/directories have been created
and the stap-server account made.  Also, rpm-visibly create the
~stap-server/.systemtap subdirectory.

11 years agotestsuite: impose stap --rlimit-cpu=300 throughout
Frank Ch. Eigler [Fri, 8 Mar 2013 04:27:39 +0000 (23:27 -0500)]
testsuite: impose stap --rlimit-cpu=300 throughout

Use the testsuite/.systemtap-*/rc file to impose cpu limits on stap
processes, considering PR15144 (which results in a spinning/hung
stapdyn child process).

11 years agostapdyn: Use the notification FD with Dyninst 8.1
Josh Stone [Thu, 7 Mar 2013 02:37:01 +0000 (18:37 -0800)]
stapdyn: Use the notification FD with Dyninst 8.1

11 years agoBZ863832 systemtap.spec, for useradd stap-server, don't use -m
Frank Ch. Eigler [Wed, 6 Mar 2013 21:02:15 +0000 (16:02 -0500)]
BZ863832 systemtap.spec, for useradd stap-server, don't use -m

The spec file now contains the %dir for %{_localstatedir}/stap-server,
so useradd need not attempt the mkdir at all.

11 years agoPR15237: adapt to hlist_* changes in linux 3.9
Frank Ch. Eigler [Wed, 6 Mar 2013 18:28:44 +0000 (13:28 -0500)]
PR15237: adapt to hlist_* changes in linux 3.9

* runtime/linux/autoconf-hlist-4args.c: New test.
* buildrun.cxx (compile_pass): Run it to set STAPCONF_HLIST_4ARGS.
* runtime/linux/runtime.h: Use it to define stap_hlist_* the old way
  or the new.
* runtime/*: Adapt by going through new stap_hlist* iterators.
* runtime/uprobes*/*: Don't bother adapting this old-kernel-only code base.

11 years agoregex testcase: run only if installtest_p
Frank Ch. Eigler [Wed, 6 Mar 2013 17:37:41 +0000 (12:37 -0500)]
regex testcase: run only if installtest_p

11 years agoAdd '-std=c++11' compile flag to stapdyn, required by latest dyninst.
David Smith [Mon, 4 Mar 2013 22:40:20 +0000 (16:40 -0600)]
Add '-std=c++11' compile flag to stapdyn, required by latest dyninst.

* stapdyn/Makefile.am: Added '-std=c++11' compile flag, required by dyninst.
* stapdyn/Makefile.in: Regenerated.
* stapdyn/dynsdt.cxx: C++11 mode requires spaces between concatenated
  strings.
* stapdyn/dynprobe.cxx: Change 'typeof' to '__typeof__', since 'typeof'
  doesn't exist in '-std=c++11' mode.
* stapdyn/mutator.cxx: Ditto.
* stapdyn/mutator.h: Ditto.
* testsuite/configure: Regenerated.

11 years agoblacklist more unsafe functions
Timo Juhani Lindfors [Thu, 28 Feb 2013 16:24:40 +0000 (18:24 +0200)]
blacklist more unsafe functions

These were found empirically. Some of the functions look innocent but
they are called from functions marked with __kprobes so they still
cause crashes. Further analysis is available at
https://lkml.org/lkml/2013/2/27/82 ("kprobing "hash_64.constprop.26"
crashes the system, recursion through get_kprobe?").

11 years agomanpager: fix warnings by adding breaks between SEE ALSO references
Timo Juhani Lindfors [Thu, 28 Feb 2013 11:19:13 +0000 (13:19 +0200)]
manpager: fix warnings by adding breaks between SEE ALSO references

This patch fixes the following warnings from man:

usr/share/man/man3/tapset::ansi.3stap.gz 99: warning [p 2, 1.8i]: cannot adjust line
usr/share/man/man3/tapset::context-unwind.3stap.gz 48: warning [p 1, 7.0i]: cannot adjust line
usr/share/man/man3/tapset::conversions-guru.3stap.gz 67: warning [p 1, 8.8i]: cannot adjust line
usr/share/man/man3/tapset::conversions.3stap.gz 109: warning [p 2, 3.5i]: cannot adjust line
usr/share/man/man3/tapset::inet_sock.3stap.gz 27: warning [p 1, 3.8i]: cannot adjust line
usr/share/man/man3/tapset::ioblock.3stap.gz 53: warning [p 1, 7.3i]: cannot adjust line
usr/share/man/man3/tapset::ioscheduler.3stap.gz 118: warning [p 2, 4.8i]: cannot adjust line
usr/share/man/man3/tapset::ipmib.3stap.gz 139: warning [p 2, 6.8i]: cannot adjust line
usr/share/man/man3/tapset::irq.3stap.gz 77: warning [p 1, 10.0i]: cannot adjust line
usr/share/man/man3/tapset::kprocess.3stap.gz 64: warning [p 1, 9.0i]: cannot adjust line
usr/share/man/man3/tapset::linuxmib.3stap.gz 43: warning [p 1, 5.8i]: cannot adjust line
usr/share/man/man3/tapset::memory.3stap.gz 142: warning [p 2, 7.7i]: cannot adjust line
usr/share/man/man3/tapset::netfilter.3stap.gz 75: warning [p 1, 10.7i]: cannot adjust line
usr/share/man/man3/tapset::networking.3stap.gz 134: warning [p 2, 6.2i]: cannot adjust line
usr/share/man/man3/tapset::nfs.3stap.gz 191: warning [p 3, 1.8i]: cannot adjust line
usr/share/man/man3/tapset::nfs_proc.3stap.gz 143: warning [p 2, 7.2i]: cannot adjust line
usr/share/man/man3/tapset::proc_mem.3stap.gz 139: warning [p 2, 7.3i]: cannot adjust line
usr/share/man/man3/tapset::queue_stats.3stap.gz 105: warning [p 2, 2.3i]: cannot adjust line
usr/share/man/man3/tapset::rpc.3stap.gz 163: warning [p 2, 9.8i]: cannot adjust line
usr/share/man/man3/tapset::scheduler.3stap.gz 143: warning [p 2, 7.2i]: cannot adjust line
usr/share/man/man3/tapset::signal.3stap.gz 290: warning [p 4, 4.2i]: cannot adjust line
usr/share/man/man3/tapset::socket.3stap.gz 206: warning [p 3, 5.2i]: cannot adjust line
usr/share/man/man3/tapset::stap_staticmarkers.3stap.gz 243: warning [p 3, 8.2i]: cannot adjust line
usr/share/man/man3/tapset::stopwatch.3stap.gz 67: warning [p 1, 8.8i]: cannot adjust line
usr/share/man/man3/tapset::target_set.3stap.gz 27: warning [p 1, 3.8i]: cannot adjust line
usr/share/man/man3/tapset::task.3stap.gz 161: warning [p 2, 9.0i]: cannot adjust line
usr/share/man/man3/tapset::task_time.3stap.gz 98: warning [p 2, 2.2i]: cannot adjust line
usr/share/man/man3/tapset::tcp.3stap.gz 90: warning [p 2, 0.8i]: cannot adjust line
usr/share/man/man3/tapset::tcpmib.3stap.gz 123: warning [p 2, 4.8i]: cannot adjust line
usr/share/man/man3/tapset::timestamp_gtod.3stap.gz 43: warning [p 1, 5.8i]: cannot adjust line
usr/share/man/man3/tapset::timestamp_monotonic.3stap.gz 79: warning [p 1, 10.2i]: cannot adjust line
usr/share/man/man3/tapset::ucontext-unwind.3stap.gz 35: warning [p 1, 5.0i]: cannot adjust line
usr/share/man/man3/tapset::uconversions.3stap.gz 253: warning [p 3, 10.7i]: cannot adjust line
usr/share/man/man3/tapset::udp.3stap.gz 66: warning [p 1, 9.3i]: cannot adjust line

11 years agoMakefile.in: regenerate
Timo Juhani Lindfors [Thu, 28 Feb 2013 11:19:12 +0000 (13:19 +0200)]
Makefile.in: regenerate

11 years agoMakefile.am: don't install html *.tmpl files
Timo Juhani Lindfors [Thu, 28 Feb 2013 11:19:11 +0000 (13:19 +0200)]
Makefile.am: don't install html *.tmpl files

The files

/usr/share/doc/systemtap-client-2.2/examples/html/html_header.tmpl
/usr/share/doc/systemtap-client-2.2/examples/html/html_footer.tmpl

are completely unnecessary to the end-user.

11 years agostapdyn: add LDADD=-lpthread
Frank Ch. Eigler [Mon, 4 Mar 2013 15:39:18 +0000 (10:39 -0500)]
stapdyn: add LDADD=-lpthread

It seems some stapdyn-* objects make mysterious refs to pthreads
(due to __GTHREADS coming to be defined in std::string<> somehow).

11 years agoPR 15193: assigned_user_credentials = pr_stapdev
Dave Brolley [Thu, 28 Feb 2013 19:12:00 +0000 (14:12 -0500)]
PR 15193: assigned_user_credentials = pr_stapdev

Assign a privilege level of pr_all (was pr_stapdev) to the user
when loading a module from /lib/modules/`uname -r`/systemtap.

11 years agoFix PR15211 by updating the testsuite for kernel 3.8.
David Smith [Thu, 28 Feb 2013 16:50:18 +0000 (10:50 -0600)]
Fix PR15211 by updating the testsuite for kernel 3.8.

* testsuite/systemtap.syscall/openclose.c: Handle 'creat()' being mapped
  to 'creat()' or 'open(FILE, O_CREAT)' in the kernel.
* testsuite/systemtap.syscall/stat.c: Ditto.
* testsuite/systemtap.syscall/test.tcl: Map '!!!!' to '|'.
* testsuite/systemtap.syscall/README: Document the new '!!!!' substitute
  for '|'.

11 years agodoc/tutorial.tex: Use ppfunc() instead of probefunc() in examples.
Mark Wielaard [Thu, 28 Feb 2013 15:45:06 +0000 (16:45 +0100)]
doc/tutorial.tex: Use ppfunc() instead of probefunc() in examples.

11 years agoadieu runtime/bench2
Frank Ch. Eigler [Wed, 27 Feb 2013 21:16:11 +0000 (16:16 -0500)]
adieu runtime/bench2

This was a runtime performance benchmarking suite, not needed/used in years.

11 years agotapset/test, adieu
Frank Ch. Eigler [Wed, 27 Feb 2013 21:14:53 +0000 (16:14 -0500)]
tapset/test, adieu

This was a very old testsuite, not needed nor used in years.

11 years agostap-report: also look for vmlinux under /lib/modules/.../build
Frank Ch. Eigler [Wed, 27 Feb 2013 19:58:05 +0000 (14:58 -0500)]
stap-report: also look for vmlinux under /lib/modules/.../build

11 years agoFix PR15197 by updating syscall.fork/nd_syscall.fork to handle the 3.8 kernel.
David Smith [Wed, 27 Feb 2013 17:40:07 +0000 (11:40 -0600)]
Fix PR15197 by updating syscall.fork/nd_syscall.fork to handle the 3.8 kernel.

* tapset/linux/syscalls.stp: Handle removal of the 'regs' argument to
  do_fork() in kernel 3.8.0. Deprecate the 'regs' variable.
* tapset/linux/nd_syscalls.stp: Ditto.
* testsuite/buildok/syscalls-detailed.stp: Handle 'regs' variable deprecation.
* testsuite/buildok/nd_syscalls-detailed.stp: Ditto.
* NEWS: Mention deprecations.

11 years agoPR15177 fix: RHEL4 doesn't define SEEK_{SET,CUR,END} in kernel headers.
David Smith [Wed, 27 Feb 2013 16:05:30 +0000 (10:05 -0600)]
PR15177 fix:  RHEL4 doesn't define SEEK_{SET,CUR,END} in kernel headers.

* tapset/linux/aux_syscalls.stp: Define SEEK_{SET,CUR,END} if not defined.

11 years agoconfigure/Makefile: regenerate
Timo Juhani Lindfors [Mon, 25 Feb 2013 13:41:18 +0000 (15:41 +0200)]
configure/Makefile: regenerate

11 years agoMakefile.am: remove temporary symlinks in distclean
Timo Juhani Lindfors [Mon, 25 Feb 2013 13:41:20 +0000 (15:41 +0200)]
Makefile.am: remove temporary symlinks in distclean

11 years agoconfigure.ac: remove temporary file after test
Timo Juhani Lindfors [Mon, 25 Feb 2013 13:41:18 +0000 (15:41 +0200)]
configure.ac: remove temporary file after test

11 years agoFix PR15198 by handling new kernel option CONFIG_GENERIC_SIGALTSTACK.
David Smith [Tue, 26 Feb 2013 20:21:00 +0000 (14:21 -0600)]
Fix PR15198 by handling new kernel option CONFIG_GENERIC_SIGALTSTACK.

* tapset/linux/syscalls2.stp: Added generic 'sigaltstack' probe alias for
  when CONFIG_GENERIC_SIGALTSTACK is set.
* tapset/linux/nd_syscalls2.stp: Ditto.
* tapset/linux/s390/nd_syscalls.stp: Added 'nd_syscall.sigaltstack',
  'nd_syscall.sigaltstack.return', 'nd_syscall.sys32_sigaltstack', and
  'nd_syscall.sys32_sigaltstack.return' probe aliases.
* tapset/linux/i386/syscalls.stp: Only use arch-specific 'sigaltstack'
  probe alias if CONFIG_GENERIC_SIGALTSTACK isn't set. Deprecate 'regs'
  variable.
* tapset/linux/ia64/syscalls.stp: Ditto.
* tapset/linux/powerpc/nd_syscalls.stp: Ditto.
* tapset/linux/powerpc/syscalls.stp: Ditto.
* tapset/linux/s390/syscalls.stp: Ditto.
* tapset/linux/x86_64/nd_syscalls.stp: Ditto.
* tapset/linux/x86_64/syscalls.stp: Ditto.
* tapset/linux/i386/nd_syscalls.stp: Only use arch-specific 'sigaltstack'
  probe alias if CONFIG_GENERIC_SIGALTSTACK isn't set.
* tapset/linux/ia64/nd_syscalls.stp: Ditto.
* testsuite/buildok/syscalls-arch-detailed.stp: Only test
  the arch-specific 'sigaltstack' probe alias if
  CONFIG_GENERIC_SIGALTSTACK is not set. Handle 'regs' deprecation.
* testsuite/buildok/syscalls-arch-detailed.stp: Ditto.
* testsuite/buildok/syscalls2-detailed.stp: Added generic 'sigaltstack'
  probe alias test for when CONFIG_GENERIC_SIGALTSTACK is set.
* testsuite/buildok/nd_syscalls2-detailed.stp: Ditto.
* NEWS: Mention 'regs' deprecation.

11 years agoFix cp option in update-docs
Lukas Berk [Tue, 26 Feb 2013 17:09:00 +0000 (12:09 -0500)]
Fix cp option in update-docs

*scripts/update-docs - cp -R not cp -r

11 years agoFix PR15177 by handling new 'whence' values SEEK_DATA and SEEK_HOLE.
David Smith [Mon, 25 Feb 2013 17:19:15 +0000 (11:19 -0600)]
Fix PR15177 by handling new 'whence' values SEEK_DATA and SEEK_HOLE.

* tapset/linux/aux_syscalls.stp (_seek_whence_str): Updated to handle
  SEEK_DATA and SEEK_HOLE.
* tapset/linux/nfs.stp (nfs.fop.llseek): Changed comment to remove
  description of individual 'whence' values.

11 years agoloc2c-test - prepending '@' before a function name returns breakpoint entry
Lukas Berk [Mon, 25 Feb 2013 15:20:40 +0000 (10:20 -0500)]
loc2c-test - prepending '@' before a function name returns breakpoint entry

*loc2c-test.c - check for '@' character, and alter which entry point address
        is used.

11 years agostappaths.7: eschew spaced-out period
Frank Ch. Eigler [Sat, 23 Feb 2013 22:55:49 +0000 (00:55 +0200)]
stappaths.7: eschew spaced-out period

11 years agoAdd missing "#!/usr/bin/env stap" to some examples
Timo Juhani Lindfors [Sat, 23 Feb 2013 22:55:49 +0000 (00:55 +0200)]
Add missing "#!/usr/bin/env stap" to some examples

11 years agoman stappaths.7: properly escape dot in the beginning of the line
Timo Juhani Lindfors [Sat, 23 Feb 2013 22:55:50 +0000 (00:55 +0200)]
man stappaths.7: properly escape dot in the beginning of the line

The zero-width control character ensures that the dot is not treated
as a control character. This fixes the following Debian lintian
warning:

W: systemtap-doc: manpage-has-errors-from-man usr/share/man/man7/stappaths.7.gz 61: warning: macro `Elfutils' not defined

11 years agoAdd missing executable bit to example scripts
Timo Juhani Lindfors [Sat, 23 Feb 2013 22:55:51 +0000 (00:55 +0200)]
Add missing executable bit to example scripts

11 years agoman: escape quote properly in header
Timo Juhani Lindfors [Sat, 23 Feb 2013 22:55:52 +0000 (00:55 +0200)]
man: escape quote properly in header

Without this patch

LC_ALL=en_US.UTF-8 MANROFFSEQ='' MANWIDTH=80 man --warnings -E UTF-8 -l -Tutf8 -Z /usr/share/man/man3/tapset::ansi.3stap.gz >/dev/null

prints

<standard input>:1: warning: macro `"' not defined

11 years agoman stapprobes.3stap: escape minus sign properly
Timo Juhani Lindfors [Sat, 23 Feb 2013 22:55:47 +0000 (00:55 +0200)]
man stapprobes.3stap: escape minus sign properly

11 years agoremove executable bit from stapgames tapset
Timo Juhani Lindfors [Sat, 23 Feb 2013 22:55:48 +0000 (00:55 +0200)]
remove executable bit from stapgames tapset

Files in a tapset can not be executed so the bit serves no purpose.

11 years agoman stap.1: fix typo
Timo Juhani Lindfors [Sat, 23 Feb 2013 22:55:46 +0000 (00:55 +0200)]
man stap.1: fix typo

11 years agoman stap.1: escape minus sign properly
Timo Juhani Lindfors [Sat, 23 Feb 2013 22:55:45 +0000 (00:55 +0200)]
man stap.1: escape minus sign properly

11 years agoActually deprecate items marked as deprecated in vfs.stp.
David Smith [Fri, 22 Feb 2013 20:34:48 +0000 (14:34 -0600)]
Actually deprecate items marked as deprecated in vfs.stp.

* tapset/linux/vfs.stp: Several items in vfs.stp had a comment saying they
  were deprecated. Acutally make it happen. Deprecate the 'ppos_pos',
  '_dev_minor', and '_dev_major' functions. Deprecate the 'page_index'
  variable in the 'vfs.block_sync_page' and 'vfs.buffer_migrate_page'
  probe aliases. Deprecate the 'write_from' and 'write_upto' variables in
  the '_vfs.block_prepare_write' and '_vfs.block_prepare_write.return'
  probe aliases.
* testsuite/buildok/vfs-embedded.stp: Handle 'ppos_pos' deprecation.
* testsuite/systemtap.examples/io/iodevstats.stp: Switch from deprecated
  '_dev_minor' and '_dev_major' functions to supported 'MINOR' and 'MAJOR'
  functions.
* NEWS: Mention deprecations.

11 years agoFix PR15173 by handling 'origin' change to 'whence'.
David Smith [Fri, 22 Feb 2013 20:14:45 +0000 (14:14 -0600)]
Fix PR15173 by handling 'origin' change to 'whence'.

* tapset/linux/syscalls.stp (syscall.lseek): Handles new kernels where
  'origin' has been renamed to 'whence'.
  (syscall.llseek): Ditto.
* tapset/linux/nfs.stp (nfs.fop.llseek): Deprecated 'origin' and added
  'whence' and 'whence_str'. Updated comment.
* tapset/linux/;vfs.stp (generic.fop.llseek): Ditto.
  (generic.fop.llseek.return): Ditto.
* tapset/linux/nd_syscalls.stp: Updated comment.
* testsuite/buildok/nfs-detailed.stp: Updated.
* testsuite/buildok/vfs-detailed.stp: Ditto.
* NEWS: Mention deprecations.

This page took 0.060646 seconds and 5 git commands to generate.