]> sourceware.org Git - systemtap.git/log
systemtap.git
8 years agoAdd constants to the python C extension module.
David Smith [Thu, 27 Oct 2016 17:56:58 +0000 (12:56 -0500)]
Add constants to the python C extension module.

* python/HelperSDT/_HelperSDT.c (init_HelperSDT): Export PyTrace_*
  constants.
* python/HelperSDT/__init__.py (Dispatcher.pytrace_dispatch): Use
  PyTrace_* constants.

8 years agoHandle multiple python probes at the same location.
David Smith [Tue, 25 Oct 2016 17:32:36 +0000 (12:32 -0500)]
Handle multiple python probes at the same location.

* python/HelperSDT/__init__.py (Dispatcher.pytrace_dispatch): Handle
  multiple breakpoints at the same breakpoint location.
  (Dispatcher.do_b): Make sure the line number field is numeric. Clear the
  line number field if we've got a return break.
* tapset-python.cxx (python_builder::build): Add newlines to debug prints.

8 years agoRead the list of python breakpoints from the systemtap module's procfs file.
David Smith [Mon, 24 Oct 2016 20:59:00 +0000 (15:59 -0500)]
Read the list of python breakpoints from the systemtap module's procfs file.

* python/HelperSDT/__init__.py (Dispatcher.__init__): Read the list of
  breakpoint commands from the procfs file exported by systemtap.
  (do_b): New function
* staprun/staprun_funcs.c (insert_module): Export an environment variable
  called 'SYSTEMTAP_MODULE' with the name of the inserted module.
* tapset-python.cxx (python_builder::resolve): Fix syntax.

8 years agoDifferentiate between python line number probes and function call probes.
David Smith [Fri, 21 Oct 2016 17:51:01 +0000 (12:51 -0500)]
Differentiate between python line number probes and function call probes.

* python/stap-resolve-module-function.py (resolve_patterns): Differentiate
  between line number probes and function call probes.
* tapset-python.cxx (python_builder::resolve): Handle the 'call' flag
  coming back from stap-resolve-module-function.py.
  (python_builder::build): If needed, synthesize a new 'call' component.

8 years agoFix stap-resolve-module-function.py to handle relative paths with wildcards.
David Smith [Fri, 21 Oct 2016 15:50:34 +0000 (10:50 -0500)]
Fix stap-resolve-module-function.py to handle relative paths with wildcards.

* python/stap-resolve-module-function.py (resolve_patterns): Fix searching
  for wildcarded paths by appending the result of glob() onto the list
  (instead of replacing the list with the result of glob()).

8 years agoFix stap-resolve-module-function.py to handle relative paths.
David Smith [Thu, 20 Oct 2016 18:44:56 +0000 (13:44 -0500)]
Fix stap-resolve-module-function.py to handle relative paths.

* python/stap-resolve-module-function.py (_get_default_search_path): New
  function.
  (_find_wildcarded_modules): Use _get_default_search_path() instead of
  sys.path, which doesn't include the current working directory.
  (_find_wildcarded_modules): Ditto.

8 years agoAdd missing pure virtual function definitions to tapset-python.cxx.
David Smith [Thu, 20 Oct 2016 17:49:05 +0000 (12:49 -0500)]
Add missing pure virtual function definitions to tapset-python.cxx.

8 years agoChange python probe generation to derive synthetic procfs probes.
David Smith [Thu, 20 Oct 2016 17:20:15 +0000 (12:20 -0500)]
Change python probe generation to derive synthetic procfs probes.

* tapset-python.cxx (python_builder::build): Derive synthetic procfs
  probes that contain probe information.
  (python_derived_probe_group::emit_module_decls): No longer reuse procfs
  probe buffer machinery.
  (python_derived_probe_group::emit_kernel_module_init):
  Removed unneeded function.
  (python_derived_probe_group::emit_kernel_module_exit): Ditto.
  (python_derived_probe_group::emit_module_init): Ditto.
  (python_derived_probe_group::emit_module_exit): Ditto.
* elaborate.h (derived_probe): Add use_internal_buffer() virtual
  function.
* tapset-procfs.cxx (procfs_derived_probe::use_internal_buffer): New
  function.
  (procfs_derived_probe_group::emit_module_decls): If we're using an
  internal buffer instead of user-generated content, output code
  accordingly.
  (procfs_derived_probe_group::emit_module_init): Ditto.
* tapsets.cxx (all_session_groups): Set up python probes before procfs
  probes.

8 years agoUse the python executable names found by configure when running a script.
David Smith [Wed, 19 Oct 2016 18:44:17 +0000 (13:44 -0500)]
Use the python executable names found by configure when running a script.

* tapset-python.cxx (python_builder::resolve): Use the python executable
  names found by configure when running the stap-resolve-module-function.py
  script.

8 years agoStart hooking up probes to the markers in the python extension module.
David Smith [Tue, 18 Oct 2016 21:06:46 +0000 (16:06 -0500)]
Start hooking up probes to the markers in the python extension module.

* tapset-python.cxx (python_builder::build): Sythesize uprobe probes to
  attach to the markers in _HelperSDT.so.
* configure.ac: Add PYTHON_BASENAME and PYTHON3_BASENAME to config.h
* Makefile.am: Define PYEXECDIR and PY3EXECDIR.
* Makefile.in: Regenerated.
* config.in: Ditto.
* configure: Ditto.
* python/HelperSDT/_HelperSDT.c (trace_callback): Corrected the markers'
  provider name.
* python/HelperSDT/__init__.py (Dispatcher.pytrace_dispatch): Fixed debug
  print.

8 years agoRework code to add python procfs files that report probe breakpoint details.
David Smith [Thu, 13 Oct 2016 21:19:36 +0000 (16:19 -0500)]
Rework code to add python procfs files that report probe breakpoint details.

* tapset-python.cxx (python_derived_probe_group::emit_kernel_module_init):
  New function.
  (python_derived_probe_group::emit_kernel_module_exit): Ditto.
  (python_derived_probe_group::emit_module_decls): Output procfs probe
  buffer code.
  (python_derived_probe_group::emit_module_init): Emit procfs file init
  code.
  (python_derived_probe_group::emit_module_exit): Emit procfs file exit
  code.
  (python_builder::build): Remove synthetic procfs probes.
* runtime/procfs-probes.c: Add copyright header. Move _stp_procfs_data
  structure definition to procfs-probes.h.
  (_stp_proc_open_file): Only reset the buffer if we've got a read_probe
  function.
  (_stp_proc_read_file): Don't exit if we don't have a read_probe
  function.
* tapset-procfs.cxx (procfs_derived_probe::join_group): Move
  _stp_procfs_data structure definition to procfs-probes.h.
* runtime/procfs-probes.h: New file.
* runtime/python.c: Removed unneeded file.

8 years agoRemove unneeded parameter in _stp_create_procfs() from runtime/procfs.c
David Smith [Wed, 12 Oct 2016 18:14:26 +0000 (13:14 -0500)]
Remove unneeded parameter in _stp_create_procfs() from runtime/procfs.c

* runtime/procfs.c (_stp_create_procfs): Remove unneeded 'num' parameter.
* tapset-procfs.cxx (procfs_derived_probe_group::emit_module_init): Update
  _stp_create_procfs() function call.

8 years agoAdd python procfs files that report probe breakpoint details.
David Smith [Wed, 12 Oct 2016 17:14:00 +0000 (12:14 -0500)]
Add python procfs files that report probe breakpoint details.

* tapset-python.cxx (python_derived_probe_group): Split 'probes' vector
  into 'python2_probes' and 'python3_probes' vectors.
  (python_derived_probe_group::enroll): Ditto.
  (python_derived_probe_group::emit_module_decls): Output probe bread
  definitions.
  (python_builder::build): Derive synthetic procfs probes.
* runtime/python.c: New file.

8 years agoAdd python 3 support to python/HelperSDT.
David Smith [Mon, 10 Oct 2016 18:16:40 +0000 (13:16 -0500)]
Add python 3 support to python/HelperSDT.

* python/HelperSDT/_HelperSDT.c: Add python 3 support.
* python/Makefile.am: Add python 3 support.
* python/Makefile.in: Regenerated.
* aclocal.m4: Ditto.
* configure: Ditto.

8 years agoMerge remote-tracking branch 'origin/master' into dsmith/python
David Smith [Mon, 10 Oct 2016 16:33:31 +0000 (11:33 -0500)]
Merge remote-tracking branch 'origin/master' into dsmith/python

8 years agoAdd initial version of the python helper module.
David Smith [Mon, 10 Oct 2016 16:27:33 +0000 (11:27 -0500)]
Add initial version of the python helper module.

* python/Makefile.am: Builds and installs python2 HelperSDT package.
* python/Makefile.in: Regenerated.
* python/setup.py: New file.
* HelperSDT/README.txt: Ditto.
* HelperSDT/_HelperSDT.c: Ditto.
* HelperSDT/__init__.py: Ditto.
* HelperSDT/__main__.py: Ditto.

8 years agoAdded comment about the source of some of the python2/python3 configure code.
David Smith [Mon, 10 Oct 2016 14:45:41 +0000 (09:45 -0500)]
Added comment about the source of some of the python2/python3 configure code.

* configure.ac: Added comment about where some of the ideas for the
  python2/python3 discovery code came from.
* configure: Regenerated.

8 years agoFixed 1382422 by making stap refer to 'dnf' or 'yum'.
David Smith [Thu, 6 Oct 2016 16:29:26 +0000 (11:29 -0500)]
Fixed 1382422 by making stap refer to 'dnf' or 'yum'.

* rpm_finder.cxx (missing_rpm_list_print): Ask the user to use the correct
  package manager for his system, either 'dnf' or 'yum'.

8 years agoIntroduce runtime optimizations for statistical computations per PR10234.
Martin Cermak [Wed, 5 Oct 2016 06:59:42 +0000 (08:59 +0200)]
Introduce runtime optimizations for statistical computations per PR10234.

This update improves the performance of systemtap runtime statistical
computations by optimizing out unneeded parts of the __stp_stat_add()
function.  It is based on parametrizing and inlining it.  The stap
translator now generates _stp_stat_add(), or _stp_pmap_add_*() calls
that have additional "optimization" parameters respective to stats
in use for given global.  GCC uses this for optimizing the inlined
__stp_stat_add() calls.

The optimization effect significantly depends on compiler version,
platform architecture, and the stat operators being used for given
global.  At the moment, the available stat operators are @count,
@sum, @min, @max, @avg, and @variance. The most computionally
expensive is @variance.  The effect of optimizing @variance is
significant.  Other stat operators are computionally chap and so
the effect of their optimizations is relatively low.

Using gcc-6.2.1-1.fc26.x86_64, the @count, @sum, @min, and @max
optimizations brings approximately 8% run time shrinkage. The
@variance optimization shrinkage is up to 70% using this compiler.
For other architectures, namely for power, the optimization is less
effective.

runtime/map-gen.c: Pass the additional optimization parameters through
the map API generator macros.
runtime/map.c: Modify _new_map_set_stat() to accept optimization
        additional parameters.
runtime/map.h: Ditto.
runtime/pmap-gen.c: Pass the additional optimization parameters to
__stp_map_set*() and to _stp_pmap_add*().
runtime/stat-common.c: Add optimization params to __stp_stat_add().
runtime/stat.c: Add optimization params to _stp_stat_add().
tapsets.cxx: Generate parametrized calls to the runtime.
translate.cxx: Ditto.
testsuite/systemtap.base/optim_stats*: New testcase.

8 years agoconfigury: regen configure
Frank Ch. Eigler [Tue, 4 Oct 2016 20:27:36 +0000 (16:27 -0400)]
configury: regen configure

8 years agoDon't use obsolete autoconf macro AC_PROG_CC_STDC
Ross Burton [Tue, 4 Oct 2016 16:12:26 +0000 (17:12 +0100)]
Don't use obsolete autoconf macro AC_PROG_CC_STDC

This has been obsolete since automake 1.8 as it's now part of AC_PROG_CC.

8 years agoAdd "sample" command to interactive mode
Cody Santing [Wed, 28 Sep 2016 16:29:53 +0000 (12:29 -0400)]
Add "sample" command to interactive mode

* Makefile.am: Updated using autoreconf in order to make DOCDIR available for interactive.cxx.
* Makefile.in: same
* doc/beginners/Makefile.in: same
* interactive.cxx: Added sample command, uses sqlite3.h.
* java/Makefile.in:: Updated using autoreconf in order to make DOCDIR available.
* testsuite/systemtap.examples/README: Added a small note about needing perl DBI to rerun perl script.
* testsuite/systemtap.examples/examples-index-gen.pl: As documentation files are generated, SQLite table is now populated with meta data.
* testsuite/systemtap.examples/index.html: Automatically updated documentation for new example after running perl script.
* testsuite/systemtap.examples/index.txt: same
* testsuite/systemtap.examples/keywords-index.html: same
* testsuite/systemtap.examples/keywords-index.txt: same
* testsuite/systemtap.examples/metadatabase.db: New database file that stores meta table.

8 years agoman stap: note that need for --poison-cache option is likely a bug
Frank Ch. Eigler [Fri, 16 Sep 2016 13:36:03 +0000 (09:36 -0400)]
man stap: note that need for --poison-cache option is likely a bug

8 years agoFix rhbz1378462 by updating the path to stap-gen-cert in stap-server.
Martin Cermak [Thu, 22 Sep 2016 13:10:29 +0000 (15:10 +0200)]
Fix rhbz1378462 by updating the path to stap-gen-cert in stap-server.

8 years agoAnother PR20589 fix by updating user_buffer_quoted[_error]().
David Smith [Mon, 19 Sep 2016 19:58:46 +0000 (14:58 -0500)]
Another PR20589 fix by updating user_buffer_quoted[_error]().

* tapset/uconversions.stp (user_buffer_quoted): Validate the
  'outlen' parameter, ensuring it is between 0 and MAXSTRINGLEN.
  (user_buffer_quoted_error): Ditto.
* tapset/linux/conversions.stp (kernel_buffer_quoted): Fix use of outlen.
* testsuite/buildok/conversions.stp: Move uconversion tests to
  uconversions.stp and update list of functions tested.
* testsuite/buildok/uconversions.stp: New file.

8 years agoRenamed/added '--with-python2-probes' and '--with-python3-probes' options.
David Smith [Fri, 16 Sep 2016 18:54:23 +0000 (13:54 -0500)]
Renamed/added '--with-python2-probes' and '--with-python3-probes' options.

* configure.ac: Rename the '--with-python2' option to
  '--with-python2-probes'. Added the '--with-python3-probes' option. Uses
  the 'python-config' and 'python3-config' programs to find the
  corresponding Python.h header file.
* tapset-python.cxx (register_tapset_python): Renamed 'HAVE_PYTHON[23]' to
  'HAVE_PYTHON[23]_PROBES'.
* python/Makefile.am: Added HAVE_PYTHON_PROBES check.
* Makefile.in: Regenerated.
* config.in: Ditto.
* configure: Ditto.
* doc/Makefile.in: Ditto.
* doc/SystemTap_Tapset_Reference/Makefile.in: Ditto.
* doc/beginners/Makefile.in: Ditto.
* java/Makefile.in: Ditto.
* man/Makefile.in: Ditto.
* man/cs/Makefile.in: Ditto.
* python/Makefile.in: Ditto.
* stapdyn/Makefile.in: Ditto.
* staprun/Makefile.in: Ditto.

8 years agoLet the @variance pretty printer show the bit_shift if specified.
Martin Cermak [Fri, 16 Sep 2016 13:40:49 +0000 (15:40 +0200)]
Let the @variance pretty printer show the bit_shift if specified.

Without this update, namely the cache doesn't behave correctly,
not able to distinguish between @variance() calls with different
bit-shifts.

8 years agoAdded autoconf logic to search for python version 2 and 3.
David Smith [Thu, 15 Sep 2016 21:28:47 +0000 (16:28 -0500)]
Added autoconf logic to search for python version 2 and 3.

* configure.ac: Add code to search for python version 2 and 3. Change the
  '--with-python3' option to check and make sure python version 3 is
  installed on the system.
* dtrace.in: Updated method to select preferred version of python.
* Makefile.in: Regenerated.
* configure: Ditto
* doc/Makefile.in: Ditto
* doc/SystemTap_Tapset_Reference/Makefile.in: Ditto
* doc/beginners/Makefile.in: Ditto
* java/Makefile.in: Ditto
* man/Makefile.in: Ditto
* man/cs/Makefile.in: Ditto
* python/Makefile.in: Ditto
* stapdyn/Makefile.in: Ditto
* staprun/Makefile.in: Ditto

8 years agoman stap.1: update @variance text
Frank Ch. Eigler [Wed, 14 Sep 2016 21:00:05 +0000 (17:00 -0400)]
man stap.1: update @variance text

Explain a little bit more about the bitshift and normalization.

8 years agoUpdate @variance testcases after fixing PR20599.
Martin Cermak [Wed, 14 Sep 2016 10:40:56 +0000 (12:40 +0200)]
Update @variance testcases after fixing PR20599.

This update fixes the reference values for @variance where PR20599
(histogram breaks @variance) manifested.

For linear_large.exp and linear_large_neg.exp, remove @variance
tests because of arithmetic overflow.

linear.exp: Update the @variance reference value.
linear_nearlyempty.exp: Ditto.
linear_over.exp: Ditto.
linear_overunder.exp: Ditto.
linear_under.exp: Ditto.
linear_large.exp: Remove the @variance subtest.
linear_large.stp: Ditto.
linear_large_neg.exp: Ditto.
linear_large_neg.stp: Ditto

8 years agoDocument @variance in the stap.1 man page.
Martin Cermak [Wed, 14 Sep 2016 10:40:21 +0000 (12:40 +0200)]
Document @variance in the stap.1 man page.

8 years agoAdd a range check for the bit-shift of the @variance operator.
Martin Cermak [Wed, 14 Sep 2016 10:36:33 +0000 (12:36 +0200)]
Add a range check for the bit-shift of the @variance operator.

8 years agobump bundled unwind table size limit to 32M
Frank Ch. Eigler [Wed, 14 Sep 2016 10:45:49 +0000 (06:45 -0400)]
bump bundled unwind table size limit to 32M

It was reported that one version of oracle db has unwind tables in
excess of 24MB in size, and the prior stap limit of 16MB precludes
backtracing through it.

8 years agoRename the '--with-python' configure option to '--with-python2'.
David Smith [Tue, 13 Sep 2016 19:30:00 +0000 (14:30 -0500)]
Rename the '--with-python' configure option to '--with-python2'.

* configure.ac: Rename the '--with-python' configure option to
  '--with-python2' (and all the associated variables).
* tapset-python.cxx (register_tapset_python): Handle renamed 'HAVE_PYTHON'
  to 'HAVE_PYTHON2' defined. Split python probe support into
  'HAVE_PYTHON2' and 'HAVE_PYTHON3' sections.
* config.in: Ditto.
* configure: Ditto.

8 years agoAdded a new '--with-python' configure option.
David Smith [Tue, 13 Sep 2016 19:02:19 +0000 (14:02 -0500)]
Added a new '--with-python' configure option.

* configure.ac: Add a new configure option, '--with-python' to enable
  python probe support.
* tapset-python.cxx (register_tapset_python): Only register python probes
  if HAVE_PYTHON is defined.
* Makefile.in: Regenerated.
* aclocal.m4: Ditto.
* config.in: Ditto.
* configure: Ditto.
* doc/Makefile.in: Ditto.
* doc/SystemTap_Tapset_Reference/Makefile.in: Ditto.
* doc/beginners/Makefile.in: Ditto.
* java/Makefile.in: Ditto.
* man/Makefile.in: Ditto.
* man/cs/Makefile.in: Ditto.
* python/Makefile.in: Ditto.
* stapdyn/Makefile.in: Ditto.
* staprun/Makefile.in: Ditto.

8 years agoFix PR20599 by only updating needed members of statistic_decl.
Martin Cermak [Tue, 13 Sep 2016 08:56:14 +0000 (10:56 +0200)]
Fix PR20599 by only updating needed members of statistic_decl.

After introducing @variance in commit 63ead7fa, stat_ops and
bit_shift need to be tracked within the statistic_decl.  Before
this update, new histogram always rewrote these new members,
which was causing the problem described in PR20599.

elaborate.cxx: Only rewrite type, linear_low, linear_high, and
         linear_step, when binding new histogram with a global.

8 years agoFix PR20597 and move @avg() calculations out of runtime.
Martin Cermak [Tue, 13 Sep 2016 08:33:09 +0000 (10:33 +0200)]
Fix PR20597 and move @avg() calculations out of runtime.

Revert those parts of commit 63ead7f, that introduce new "avg"
member of the struct stat_data and move computations of @avg()
from the code directly emitted by the translator to the runtime.

The goal of this update is both to fix PR20597, and to speed up
the runtime.  Note that @variance() calculations are based on the
avg too, but the variance vehicle carries its own avg_s, which is
an average scaled by certain bit_shift for numerical precision
improvement purpose.  Variance calculations are optimized out if
unneeded.

So after this change, @avg computations should be as fast as they
were before @variance has been introduced in commit 63ead7f.

elaborate.cxx: Calculate @avg based on sum and count.
translate.cxx: Ditto.
runtime/map.c: Ditto, plus remove the online @avg calculations.
runtime/stat.c: Remove online @avg calculations.
runtime/stat.h: Drop the 'avg' member from the struct stat_data.

8 years agoRevert last change to flightrec*.exp testcases and add comments.
David Smith [Mon, 12 Sep 2016 20:53:46 +0000 (15:53 -0500)]
Revert last change to flightrec*.exp testcases and add comments.

* testsuite/systemtap.base/flightrec1.exp: Revert last commit and add
  comments explaining what is going on. We expect the original 'stap'
  command to finish and leave stapio running in the background.
* testsuite/systemtap.base/flightrec2.exp: Ditto.
* testsuite/systemtap.base/flightrec3.exp: Ditto.
* testsuite/systemtap.base/flightrec4.exp: Ditto.
* testsuite/systemtap.base/flightrec5.exp: Ditto.

8 years agoFix PR200601 by updating __get_skb_iphdr() for newer 32-bit kernels.
David Smith [Mon, 12 Sep 2016 18:05:44 +0000 (13:05 -0500)]
Fix PR200601 by updating __get_skb_iphdr() for newer 32-bit kernels.

* tapset/linux/ip.stp (__get_skb_iphdr): Updated for newer 32-bit
  kernels. Validates the skb structure, then calls the real
  skb_network_header() function.

8 years agoFix PR20589 by updating kernel_buffer_quoted().
David Smith [Mon, 12 Sep 2016 16:47:51 +0000 (11:47 -0500)]
Fix PR20589 by updating kernel_buffer_quoted().

* tapset/linux/conversions.stp (kernel_buffer_quoted): Validate the
  'outlen' parameter, ensuring it is between 0 and MAXSTRINGLEN.
  (kernel_buffer_quoted_error): Ditto.

8 years agoMerge remote-tracking branch 'origin/master' into dsmith/python
David Smith [Mon, 12 Sep 2016 16:28:38 +0000 (11:28 -0500)]
Merge remote-tracking branch 'origin/master' into dsmith/python

8 years agocopyright year bump
Frank Ch. Eigler [Fri, 9 Sep 2016 14:20:27 +0000 (10:20 -0400)]
copyright year bump

8 years ago@variance runtime: fix map.c aggregate/calculations
Frank Ch. Eigler [Fri, 9 Sep 2016 14:10:27 +0000 (10:10 -0400)]
@variance runtime: fix map.c aggregate/calculations

gcc's indentation warnings pointed a finger of suspicion at the
new code that merges variance-related partial statistics across
stats structs.  Two blocks are now conditioned on STAT_OP_VARIANCE.

8 years agobump supported kernel version to 4.7
Frank Ch. Eigler [Fri, 9 Sep 2016 13:56:41 +0000 (09:56 -0400)]
bump supported kernel version to 4.7

8 years agoPR20423: tweak error message generation for case without e->components[]
Frank Ch. Eigler [Fri, 9 Sep 2016 13:43:03 +0000 (09:43 -0400)]
PR20423: tweak error message generation for case without e->components[]

... e.g. a case where a C function returns a struct, $return would
trigger the "... is being accessed instead of member" message, but the
operative tok* is the e node, not a member of the empty
e->components[].

8 years agotweak whitespace for gcc warning compliance
Joe Gorse [Thu, 8 Sep 2016 18:28:25 +0000 (14:28 -0400)]
tweak whitespace for gcc warning compliance

8 years agoHandle testsuite 'spawn' calls correctly by calling 'close' and 'wait'.
David Smith [Thu, 8 Sep 2016 16:09:59 +0000 (11:09 -0500)]
Handle testsuite 'spawn' calls correctly by calling 'close' and 'wait'.

* testsuite/systemtap.base/auto_path.exp: Add 'close' and 'wait' calls
  after a 'spawn'.
* testsuite/systemtap.base/const_op.exp: Ditto.
* testsuite/systemtap.base/kallsyms.exp: Ditto.
* testsuite/systemtap.base/timeout.exp: Ditto.
* testsuite/systemtap.context/symbols.exp: Kill spawned stap process and
  call 'close' before calling 'wait'.
* testsuite/systemtap.base/flightrec1.exp: Fix location of close/wait
  calls.
* testsuite/systemtap.base/flightrec2.exp: Ditto.
* testsuite/systemtap.base/flightrec3.exp: Ditto.
* testsuite/systemtap.base/flightrec4.exp: Ditto.
* testsuite/systemtap.base/flightrec5.exp: Ditto.
* testsuite/systemtap.base/crash.exp: Call 'catch' around individual
  'close' and 'wait' calls.
* testsuite/systemtap.maps/foreach_fail.exp: Ditto.
* testsuite/systemtap.base/backtrace.exp: Call 'catch' around 'wait'
  calls.
* testsuite/systemtap.base/cache_clean.exp: Ditto.
* testsuite/lib/systemtap.exp (setup_server): Add 'catch' around 'exec'.
  (stap_run_batch): Call 'close' before calling 'wait'.
* testsuite/lib/stap_compile.exp (stap_compile): Call 'close' before
  calling 'wait'.
* testsuite/systemtap.base/alternatives.exp: Ditto.
* testsuite/systemtap.base/at_var_unresolved.exp: Ditto.
* testsuite/systemtap.base/at_var_unresolved_lvalue.exp: Ditto.
* testsuite/systemtap.base/at_var_void_stmt.exp: Ditto.
* testsuite/systemtap.base/bz10078.exp: Ditto.
* testsuite/systemtap.base/bz1074541.exp: Ditto.
* testsuite/systemtap.base/bz1126645.exp: Ditto.
* testsuite/systemtap.base/bz13338.exp: Ditto.
* testsuite/systemtap.base/cmd_parse.exp: Ditto.
* testsuite/systemtap.base/debugpath.exp: Ditto.
* testsuite/systemtap.base/deref2.exp: Ditto.
* testsuite/systemtap.base/func_alias.exp: Ditto.
* testsuite/systemtap.base/multisym.exp: Ditto.
* testsuite/systemtap.base/pr13158.exp: Ditto.
* testsuite/systemtap.base/pr13306.exp: Ditto.
* testsuite/systemtap.base/pr14546.exp: Ditto.
* testsuite/systemtap.base/prologues.exp: Ditto.
* testsuite/systemtap.base/pthread_stacks.exp: Ditto.
* testsuite/systemtap.base/rep_ret.exp: Ditto.
* testsuite/systemtap.base/wakeup.exp: Ditto.
* testsuite/systemtap.base/warn_overflow.exp: Ditto.
* testsuite/systemtap.base/warnings.exp: Ditto.
* testsuite/systemtap.stress/whitelist.exp: Ditto.
* testsuite/systemtap.apps/tcl.exp: Update 'spawn' comment.

8 years agotweak whitespace and @variance conflicting-bitshift message
Frank Ch. Eigler [Thu, 8 Sep 2016 14:54:26 +0000 (10:54 -0400)]
tweak whitespace and @variance conflicting-bitshift message

Reported-by: jhg_ on IRC.
8 years agoIntroduce new statistics operator @variance().
Martin Cermak [Thu, 8 Sep 2016 12:03:57 +0000 (14:03 +0200)]
Introduce new statistics operator @variance().

New statistics @variance() operator using the Welford's online algorithm
for per-cpu computation, and the Total Variance formula authored by
Niranjan Kamat and Arnab Nandi from the Ohio State University for the
cross-cpu aggregation.

8 years agoAdd 'python' subdirectory and python script that resolves python probe points.
David Smith [Wed, 7 Sep 2016 17:54:12 +0000 (12:54 -0500)]
Add 'python' subdirectory and python script that resolves python probe points.

* python/Makefile.am: New file.
* python/Makefile.in: Ditto.
* python/stap-resolve-module-function.py: Ditto.
* configure.ac: Added 'python/Makefile' as a config file.
* configure: Regenerated.
* Makefile.am: Added the python subdirectory.
* Makefile.in: Regenerated.

8 years agoAdd initial python probe support.
David Smith [Tue, 6 Sep 2016 16:23:51 +0000 (11:23 -0500)]
Add initial python probe support.

* tapset-python.cxx: New file of initial python probe support.
* tapsets.h: Add prototype for register_tapset_python().
* tapsets.cxx (register_standard_tapsets): Register python tapset.
  (all_session_groups): Process python probes.
* session.h: Added python_derived_probe_group.
* session.cxx (systemtap_session): Initialized python_derived_probe_group.
* Makefile.am (stap_SOURCES): Added tapset-python.cxx.
* Makefile.in: Regenerated.

8 years agoAUTHORS refresh
Frank Ch. Eigler [Fri, 2 Sep 2016 14:25:56 +0000 (10:25 -0400)]
AUTHORS refresh

8 years agosystemtap: Blacklist powerpc:hash_fault tracepoint
Hemant Kumar [Fri, 2 Sep 2016 00:57:43 +0000 (06:27 +0530)]
systemtap: Blacklist powerpc:hash_fault tracepoint

Commit c4a048331603a3fe19c886498e957f5f2a577ed9 blacklists hcall_*
kernel tracepoints for powerpc to avoid recursive page faults and
kernel panic due to that. powerpc:hash_fault should be blacklisted
too, since, its placed in the same path of kernel code which is
invoked on a page fault.

Signed-off-by: Hemant Kumar <hemant@linux.vnet.ibm.com>
8 years agotweak error message for exhausted-overloaded-functions
Frank Ch. Eigler [Thu, 1 Sep 2016 21:28:37 +0000 (17:28 -0400)]
tweak error message for exhausted-overloaded-functions

Correct the error message generated for "all functions exhausted" to
focus on the token of the function-call site, rather than whatever
inner statement was last executed before a "next".

8 years agointeractive mode: allow supplied script
Felix Lu [Tue, 30 Aug 2016 15:32:11 +0000 (11:32 -0400)]
interactive mode: allow supplied script

8 years agodwflpp: cache CU entry PCs for pr15123_retry_addr
Josh Stone [Fri, 26 Aug 2016 20:57:08 +0000 (13:57 -0700)]
dwflpp: cache CU entry PCs for pr15123_retry_addr

Previously it was calling getscopes(pc) to see if we're at the start of
the outermost function, which may be a preamble for -mfentry.  But the
scopes are inside-out -- [0] is the innermost -- so inlines were
comparing against their own entry pc, then inappropriately applying the
mfentry workaround.  It also assumes we're already focussed on the CU,
which may not be the case for .callee probes that expand across CUs.
And besides all that, dwarf_getscopes is an expensive traversal.

Instead, we can just keep a cached set of known entry PCs, built from
our existing cache of concrete functions, and check if possible mfentry
PCs are in that set.

8 years agoppc64le: Fix LEP usage for probing
Ravi Bangoria [Tue, 23 Aug 2016 11:24:28 +0000 (06:24 -0500)]
ppc64le: Fix LEP usage for probing

PPC64 ELF ABI v2 has a Global Entry Point and a Local Entry Point for
the functions. Debuginfo of ELF contains GEP which is same as entrypc
while symbol table contains GEP and offset, from which we can calculate
LEP. LEP is used to call function within single CU, when TOC pointer
update is not required. Placing a probe on LEP catches call from both
the GEP and the LEP but, by default, systemtap probes on GEP.

Commit b4c6a4b1cd00 ("Prioritize symbol table lookup for ppc64le") solve
this issue by storing LEP in symbol table and prioritizing symbol table
over debuginfo for ppc64le.

But there are few regression effect of this patch. Couple of examples
are given below.

1. If target program is compiled without optimization and user is
interested in function parameter, systemtap should probe after function
prologue. But above patch forces probe on LEP and which result in garbage
value of function parameter will get recorded.

  $ make verbose=1 installcheck RUNTESTFLAGS='at_var.exp -v --debug'
    ...
    # of expected passes        1
    # of unexpected failures    1

2. Probe on shared library function with parameter is failing at Pass 2.

  $ make verbose=1 installcheck RUNTESTFLAGS='exelib.exp -v --debug'
    ...
    # of expected passes        10
    # of unexpected failures    64

3. When symbol_name with offset is used to register kprobe, kernel itself
will find LEP and adds offset to it. Systemtap using LEP to find offset
is resulting in offset being added two times.
  GEP + lep_offset (by systemtap) + lep_offset (by kernel)

This can be solved by calculating LEP only at a time of adding a probe.
That will make effect of LEP local to that area and won't have any
regression effect.

After applying patch:

  $ make verbose=1 installcheck RUNTESTFLAGS='at_var.exp -v --debug'
    ...
    # of expected passes        2

  $ make verbose=1 installcheck RUNTESTFLAGS='exelib.exp -v --debug'
    ...
    # of expected passes        74

Fixes: Commit b4c6a4b1cd00 ("Prioritize symbol table lookup for ppc64le")
Reported-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
[ Reported about issue with shared library ]
Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
8 years agoppc64le: Store correct function entry address in symbol_table
Ravi Bangoria [Tue, 23 Aug 2016 11:24:27 +0000 (06:24 -0500)]
ppc64le: Store correct function entry address in symbol_table

PPC64 ELF ABI v2 has a Global Entry Point and a Local Entry Point for
the functions. Debuginfo of ELF contains GEP which is same as entrypc
while symbol table contains GEP and offset, from which we can calculate
LEP. LEP is used to call function within single CU, when TOC pointer
update is not required. Placing a probe on LEP catches call from both
the GEP and the LEP but, by default, systemtap probes on GEP.

For ppc64le, Systemtap stores LEP in symbol table and prioritize symbol
table over debuginfo. But, storing LEP in symbol table has couple of
regression effect. As LEP is only required at a time of adding a probe,
don't store it in symbol table.

No need to prioritize symbol table as well because debuginfo and symbol
table both will contain Global Entry Point.

Revert commit b4c6a4b1cd00 ("Prioritize symbol table lookup for ppc64le")
partially.

Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
8 years agoAdd 'list-unfinished' target to the top-level Makefile.
David Smith [Wed, 24 Aug 2016 15:55:26 +0000 (10:55 -0500)]
Add 'list-unfinished' target to the top-level Makefile.

* Makefile.am: Add 'list-unfinished' target (that just defers to
  testsuite/Makefile).
* Makefile.in: Regenerated.

8 years agodon't colorize stap -L for non tty
Felix Lu [Wed, 24 Aug 2016 15:25:56 +0000 (11:25 -0400)]
don't colorize stap -L for non tty

8 years agointeractive mode command aliases
Felix Lu [Tue, 23 Aug 2016 20:19:58 +0000 (16:19 -0400)]
interactive mode command aliases

Add more aliases for interactive mode commands.

8 years agoInteractive mode example commands
Cody Santing [Tue, 23 Aug 2016 18:40:28 +0000 (14:40 -0400)]
Interactive mode example commands

After null input while in interactive mode, a list of example commands are printed.

8 years agoUpdate help commnd for interactive mode
Cody Santing [Tue, 23 Aug 2016 16:08:22 +0000 (12:08 -0400)]
Update help commnd for interactive mode

help SUBCOMMAND will now print help description for only that one command.

Passing a command that requires arguments with no arguments will trigger help COMMAND.

8 years agostap.1 man page interactive entry
Felix Lu [Tue, 23 Aug 2016 14:52:21 +0000 (10:52 -0400)]
stap.1 man page interactive entry

8 years agocleanup --help text
Felix Lu [Tue, 23 Aug 2016 14:40:52 +0000 (10:40 -0400)]
cleanup --help text

8 years agomodify interactive mode load behavior
Felix Lu [Tue, 23 Aug 2016 13:49:57 +0000 (09:49 -0400)]
modify interactive mode load behavior

The "load" command no longer appends to the existing script. The user
is prompted if they want to overwrite the existing file if the script is
not empty.

8 years agoAdd testcase for RHBZ1269062.
Martin Cermak [Tue, 23 Aug 2016 08:49:06 +0000 (10:49 +0200)]
Add testcase for RHBZ1269062.

8 years agofix interactive mode empty script saving
Felix Lu [Mon, 22 Aug 2016 19:59:18 +0000 (15:59 -0400)]
fix interactive mode empty script saving

When saving an empty script with the "save" or "edit" command,
a runtime error from join() causes interactive mode to exit.

8 years agoFix PR20504 by updating xfs/nfs4 tracepoint support for kernel 4.7+.
David Smith [Mon, 22 Aug 2016 18:49:03 +0000 (13:49 -0500)]
Fix PR20504 by updating xfs/nfs4 tracepoint support for kernel 4.7+.

* tapsets.cxx (tracepoint_extra_decls): Add includes/definitions for xfs
  and nfs4 tracepoints on kernel 4.7+.

8 years agoPR14787: colorize stap -L probe points
Felix Lu [Mon, 22 Aug 2016 16:04:53 +0000 (12:04 -0400)]
PR14787: colorize stap -L probe points

8 years agoFix a '--rlimit-*' option problem identified by BZ1368188.
David Smith [Thu, 18 Aug 2016 20:30:28 +0000 (15:30 -0500)]
Fix a '--rlimit-*' option problem identified by BZ1368188.

* session.cxx (systemtap_session::parse_cmdline): Improve the '--rlimit-*'
  options to report an error and return if the option value isn't
  specified or doesn't convert properly. If the limit can't be set,
  return if the error isn't EPERM.
* man/stap.1.in: Remove confusing language in the '--rlimit-*' option
  descriptions.
* testsuite/parseko/rlimit-as01.stp: New test case.
* testsuite/parseko/rlimit-as02.stp: Ditto.
* testsuite/parseko/rlimit-cpu01.stp: Ditto.
* testsuite/parseko/rlimit-cpu02.stp: Ditto.
* testsuite/parseko/rlimit-fsize01.stp: Ditto.
* testsuite/parseko/rlimit-fsize02.stp: Ditto.
* testsuite/parseko/rlimit-nproc01.stp: Ditto.
* testsuite/parseko/rlimit-nproc02.stp: Ditto.
* testsuite/parseko/rlimit-stack01.stp: Ditto.
* testsuite/parseko/rlimit-stack02.stp: Ditto.

8 years agoUpdate procmod_watcher.stp example for more modern kernels.
David Smith [Thu, 18 Aug 2016 15:37:12 +0000 (10:37 -0500)]
Update procmod_watcher.stp example for more modern kernels.

* testsuite/systemtap.examples/process/procmod_watcher.stp: Update example
  to report 'clone' syscalls as 'fork' syscalls (since on some
  architectures like aarch64 fork() is implemented using clone()). Also
  report 'exit_group' syscalls as 'exit' syscalls.

8 years agoTweak [gs]etgroups syscall test cases for aarch64.
David Smith [Wed, 17 Aug 2016 21:35:13 +0000 (16:35 -0500)]
Tweak [gs]etgroups syscall test cases for aarch64.

* testsuite/systemtap.syscall/getgroups.c: Relax looking for an error
  return for aarch64.
* testsuite/systemtap.syscall/setgroups.c: Ditto.

8 years agoMake [nd_]syscall.sched_[gs]etaffinity probes fully optional.
David Smith [Wed, 17 Aug 2016 17:59:07 +0000 (12:59 -0500)]
Make [nd_]syscall.sched_[gs]etaffinity probes fully optional.

* tapset/linux/syscalls2.stp (syscall.sched_getaffinity): Make fully
  optional for kernels with no 'affinity' support.
  (syscall.sched_setaffinity): Ditto.
* tapset/linux/nd_syscalls2.stp (nd_syscall.sched_getaffinity): Ditto.
  (nd_syscall.sched_setaffinity): Ditto.

8 years agoPR20149: place all .function probes at entry
Felix Lu [Tue, 16 Aug 2016 14:36:57 +0000 (10:36 -0400)]
PR20149: place all .function probes at entry

Function probes with a line specifier different than the declaration
line are forced into entry probes.

* tapsets.cxx: query_cu: fall through line probing if .function()
  present

8 years agoadd section for -T in stap --help
Felix Lu [Mon, 15 Aug 2016 18:32:09 +0000 (14:32 -0400)]
add section for -T in stap --help

8 years agoPR15932: printf %m/%M user variant
Cody Santing [Fri, 12 Aug 2016 19:03:13 +0000 (15:03 -0400)]
PR15932: printf %m/%M user variant

* man/stap.1.in: update documentation regarding %m/%M
* runtime/vsprintf.c: m/M cases in _stp_vsprint_memory now check for '#'/STP_SPECIAL flag
* testsuite/systemtap.printf/print_user_buffer.*: test case for new variant

8 years agostore auto_path string in probe point
Felix Lu [Fri, 12 Aug 2016 15:56:14 +0000 (11:56 -0400)]
store auto_path string in probe point

8 years agostap startup message: tweak invitation to use '-i' interactive mode
Frank Ch. Eigler [Fri, 12 Aug 2016 15:16:53 +0000 (11:16 -0400)]
stap startup message: tweak invitation to use '-i' interactive mode

8 years agoPR20433: simplify strcpy NULL-tolerance with inlined ?: ""
Frank Ch. Eigler [Fri, 12 Aug 2016 15:15:35 +0000 (11:15 -0400)]
PR20433: simplify strcpy NULL-tolerance with inlined ?: ""

Reworking commit b91ef70c, without big need for a new _stp_strcmp
library function.

8 years agosome auto_path test case
Felix Lu [Fri, 12 Aug 2016 14:44:58 +0000 (10:44 -0400)]
some auto_path test case

* main.cxx: Check for PATH directory in all include paths.
* testsuite/systemtap.base/auto_path.exp: New testcase.
* testsuite/systemtap.base/auto_path.c: Test program.
* testsuite/systemtap.base/tapset/PATH/*: Auto path tapsets.

8 years agomove auto_path expansion to tapset resolution phase
Felix Lu [Thu, 11 Aug 2016 16:26:19 +0000 (12:26 -0400)]
move auto_path expansion to tapset resolution phase

* parse.cxx: parse_probe_points - Remove alias seen flag.
* staptree.h: struct probe_point - New auto_path flag.
* tapsets.cxx: dwarf_builder::build - Expand process component
  for /PATH/ directory.

8 years agoFix testsuite's list-unfinished makefile target
Martin Cermak [Fri, 12 Aug 2016 05:21:03 +0000 (07:21 +0200)]
Fix testsuite's list-unfinished makefile target

Do not only check systemtap.log in the main testsuite directory,
but also check other locations, namely the artifacts directory
used by the installcheck-parallel target.

8 years agoUpdate interactive mode
Cody Santing [Thu, 11 Aug 2016 19:29:29 +0000 (15:29 -0400)]
Update interactive mode

* cmdline.cxx: introduce new '--interactive' switch
* cmdline.h: introduce new '--interactive' switch
* interactive.cxx: Print a few sample commands upon entering interactive mode.  Add new 'help' alias, '?'.
* session.cxx: Map new '--ineractive' switch to interactive mode.  When a script is not specified, new error message   suggests interactive mode.

8 years agoRHBZ1312169: make stap-prep fall back to debuginfo-install
Frank Ch. Eigler [Thu, 11 Aug 2016 17:40:55 +0000 (13:40 -0400)]
RHBZ1312169: make stap-prep fall back to debuginfo-install

On some fedora / rhel boxes and their repo selections,
"debuginfo-install" can sometimes fetch the right files
even if "yum install" cannot.

8 years agoFix(ish) for PR20433 by avoiding a fedora kernel crash.
David Smith [Thu, 11 Aug 2016 16:31:28 +0000 (11:31 -0500)]
Fix(ish) for PR20433 by avoiding a fedora kernel crash.

* runtime/vma.c (_stp_vma_mmap_cb): Use _stp_strcmp() to avoid a kernel
  crash.
* runtime/stp_string.c (_stp_strcmp): New function, a variant of strcmp()
  that treats NULL pointers as empty strings.
* runtime/stp_string.h: Add _stp_strcmp() declaration.

8 years agofilename based auto path tapset support
Felix Lu [Tue, 9 Aug 2016 19:36:14 +0000 (15:36 -0400)]
filename based auto path tapset support

Sometimes the process name may change with new versions and the
tapset must be modified. Process probe points in the PATH directory
may now have their arguments replaced by the full file path starting
from /PATH.

* parse.cxx: Pass alias_seen flag to parse_probe_points(). Add filepath
  argument to process component.

8 years agooverloading testcase
Felix Lu [Tue, 9 Aug 2016 14:18:55 +0000 (10:18 -0400)]
overloading testcase

* testsuite/semko/overload.stp: New testcase.

8 years agosome function overloading optimizations
Felix Lu [Mon, 8 Aug 2016 18:48:37 +0000 (14:48 -0400)]
some function overloading optimizations

This removes some unnecessary code in the generated module.

* elaborate.cxx: Store next flag in functiondecl instead of in a set.
* staptree.h: struct functiondecl:: new has_next flag.
* translate.cxx: c_unparser::visit_functioncall - Don't generate
  redundant functioncall code for overloaded functions.

8 years agoPR20217: overload warnings
Felix Lu [Fri, 5 Aug 2016 15:28:40 +0000 (11:28 -0400)]
PR20217: overload warnings

Add a warning for overloaded functions that can't be reached
and also prevent them from being generated at all.

* elaborate.cxx: New struct function_next_check. New struct
  dead_overload_remover. New semantic_pass_overload function
  for optimization pass.

8 years agoFix a couple of conversions.stp tapset problems and improve its testing.
David Smith [Thu, 4 Aug 2016 20:39:19 +0000 (15:39 -0500)]
Fix a couple of conversions.stp tapset problems and improve its testing.

* tapset/linux/conversions.stp (kernel_buffer_quoted): Properly print the
  address as an unsigned long (instead of an unsigned int).
  (kernel_buffer_quoted_error): Add the faulting address in the error
  message.
* testsuite/buildok/conversions-embedded.stp: Add compile tests for
  several missing functions.

8 years agoPR10485: auto-path tapset support
Felix Lu [Thu, 28 Jul 2016 14:39:58 +0000 (10:39 -0400)]
PR10485: auto-path tapset support

This prefixes the process probes placed in the tapset/PATH/ directory
with the location of the tapset.

* main.cxx: New collect_{stp,stpm} functions for passing to nftw(). Parse all
  .stp files placed in include_path[0]/PATH/. nftw() is now used instead of
  globbing for tapset searching to allow recursive traversal.
* parse.h: New pf_auto_path flag.
* parse.cxx: Prefix process argument with location of tapset.

8 years agoPR19906: absolute pathnames for vfs.* probes
Felix Lu [Tue, 2 Aug 2016 19:19:38 +0000 (15:19 -0400)]
PR19906: absolute pathnames for vfs.* probes

* tapset/linux/vfs.stp: Add a pathname variable to all probes.

8 years agoPR20423: improve 'struct {...} being accessed instead of member' message
Frank Ch. Eigler [Sun, 31 Jul 2016 17:57:32 +0000 (13:57 -0400)]
PR20423: improve 'struct {...} being accessed instead of member' message

Esp. for anonymous structures, this message was not very helpful.
The new message is much more complete:

semantic error: 'struct {...}' (include/linux/types.h:175) is being accessed instead of a member such as '->counter': operator '->' at <input>:1:81
        source: probe kernel.function("dput") { println( @cast($dentry->d_inode, "struct inode")->i_count) }
                                                                                                ^

8 years agosystemtap.spec: add systemd as BuildRequires & Requires if %{with_systemd}
Igor Zhbanov [Fri, 29 Jul 2016 17:51:21 +0000 (13:51 -0400)]
systemtap.spec: add systemd as BuildRequires & Requires if %{with_systemd}

It should have both "Requires: systemd" and "BuildRequires: systemd".
BuildRequires because it uses %{_unitdir} and %{_tmpfilesdir}, and
Requires because of systemctl in %post.

8 years agoPR20416 cont'd: kprobe.function.return @entry too
Frank Ch. Eigler [Wed, 27 Jul 2016 23:15:51 +0000 (19:15 -0400)]
PR20416 cont'd: kprobe.function.return @entry too

Bonus round: jistone identified a twin in need of the same fix.

8 years agoPR20416: handle @entry(@perf("..."))
Frank Ch. Eigler [Wed, 27 Jul 2016 22:43:56 +0000 (18:43 -0400)]
PR20416: handle @entry(@perf("..."))

The dwarf_var_expanding_visitor::visit_entry_op function inherited
some old logic from expanding $var's in .function().return probes.
This logic is not approproate for the more formal way by which current
code synthesizes a .call probe to collect @entry(EXPR) values.  Now we
pass the EXPR tree to the .call probe unmodified, for resolution
there, rather than in a fake non-.return context here.  This makes
@entry(@perf("...")) expressions work.

8 years agodejagnu testsuite driver: collect output during startup smoke test
Frank Ch. Eigler [Wed, 27 Jul 2016 22:23:34 +0000 (18:23 -0400)]
dejagnu testsuite driver: collect output during startup smoke test

Stop suppressing stderr; if something's wrong (like missing
kernel-debuginfo), let's show the user the whole message.

8 years agoFix a locking problem in the task_finder.
David Smith [Tue, 26 Jul 2016 17:57:59 +0000 (12:57 -0500)]
Fix a locking problem in the task_finder.

* runtime/linux/task_finder.c (stap_start_task_finder): Be sure to ulock
  the task if we exit early.
* runtime/linux/task_finder2.c (stap_start_task_finder): Ditto.

8 years agoAdd a non-optimized test to testsuite/systemtap.base/at_var.exp.
Ravi Bangoria [Tue, 26 Jul 2016 16:20:05 +0000 (11:20 -0500)]
Add a non-optimized test to testsuite/systemtap.base/at_var.exp.

* testsuite/systemtap.base/at_var.exp: Add non-optimized test. Also, don't
  bother trying to run the executable if compilation failed.

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