]> sourceware.org Git - systemtap.git/log
systemtap.git
10 years agoPR 16645: Unhelpful feedback when stap fails
Dave Brolley [Wed, 12 Mar 2014 18:31:38 +0000 (14:31 -0400)]
PR 16645: Unhelpful feedback when stap fails

Under some conditions, stap automatically sets options which
have not been explicitely set, in an attempt to succeed where
it is known that translation would fail without these settings.
Examples are the automatic setting of the --privilege level and
the automatic request for translation via a compile-server for
unprivileged users.

In these cases, when translation still fails it would be helpful
to the user to explain what settings were changed automatically
and why.

It is also helpful to point the user at the appropriate documention
when futher configuration/setup  on his part is required.

This change does the above for --privilege and --use-server.

10 years agolabel probes: add to derivation chain using less hacky way
Jonathan Lebon [Wed, 12 Mar 2014 15:57:13 +0000 (11:57 -0400)]
label probes: add to derivation chain using less hacky way

This commmit uses the same method used in query_callee() but in
query_label(), which used a hacky method to add probe points to the
derivation chain.

10 years agodwarf_query: remove unused parameter 'function_val'
Jonathan Lebon [Wed, 12 Mar 2014 15:42:32 +0000 (11:42 -0400)]
dwarf_query: remove unused parameter 'function_val'

10 years agolibrary probes: fix process path in listing mode
Jonathan Lebon [Wed, 12 Mar 2014 15:10:32 +0000 (11:10 -0400)]
library probes: fix process path in listing mode

Previously, doing stap -l process("exe").library("*").function("myfunc")
would result in listings where the library field had the fully resolved
path, yet the process path retained the user-entered value.

With this commit, we override the user-entered value of process for the
absolute path, so that listing mode also shows it.

10 years agocallee probes: truly improve derivation for better listing
Jonathan Lebon [Thu, 6 Mar 2014 15:27:17 +0000 (10:27 -0500)]
callee probes: truly improve derivation for better listing

The previous attempt to do this (commit 80a63be) was hacky and was thus
reverted (see previous commit). In this commit, we try to do it
properly.

--- original commit msg ---

Previously, doing stap -L for function("foo").callee("*") would result
in listings directly for function("bar1"), function("bar2"), etc...

With this patch, we add an intermediate step in the derivation chain:
function("foo").callee("*") --> function("foo").callee("bar1")

This will cause -L to display this derivation instead, which is closer
to what users would expect for a function("foo").* probe.

To achieve this, we do three things:

1. We make func_info and inline_instance_info subclasses of a single
   base_func_info class for uniform treatment when called from
   query_cu() as well as cleaner passing of name/file/line/addr between
   iterate_over_callees() and query_callee(). This can also help in
   other cases (to be assessed...).
2. We remember and pass down the caller information in
   iterate_over_callees(), so that query_callee() has it on hand when
   creating the .function component.
3. In query_callee(), we create an intermediate probe point and a new
   dwarf_query based on that probe point to create the final derived
   probe.

10 years agoRevert commits cfa2999 and 80a63be
Jonathan Lebon [Thu, 6 Mar 2014 15:27:36 +0000 (10:27 -0500)]
Revert commits cfa2999 and 80a63be

This commit reverts the following two commits:

cfa29998dede5ebbeffc51a05d694e374deddd64:
"dwarf_query: add canonicalize_comps()"

80a63be6325fc04c8e4a611cddf17b2bd926bde5.
"callee: improve derivation for better listing"

10 years agotapsets: argv extension, oneshot introduction
Frank Ch. Eigler [Wed, 12 Mar 2014 17:55:17 +0000 (13:55 -0400)]
tapsets: argv extension, oneshot introduction

10 years agosystemtap.syscall/signal.c claims to test 'kill', but actually doesn't.
David Smith [Wed, 12 Mar 2014 17:29:03 +0000 (12:29 -0500)]
systemtap.syscall/signal.c claims to test 'kill', but actually doesn't.

10 years agoFix last NEWS change.
David Smith [Wed, 12 Mar 2014 17:27:47 +0000 (12:27 -0500)]
Fix last NEWS change.

10 years agoImprove the syscall.openat probe.
David Smith [Wed, 12 Mar 2014 17:25:39 +0000 (12:25 -0500)]
Improve the syscall.openat probe.

* tapset/linux/syscalls2.stp (syscall.openat): Truncate the mode variable,
  since the user sends a int, not a long.

10 years agoIf the syscall gate macros fail, just skip the probe.
David Smith [Wed, 12 Mar 2014 17:19:44 +0000 (12:19 -0500)]
If the syscall gate macros fail, just skip the probe.

* tapset/linux/syscalls.stpm (__syscall_gate): If _stp_syscall_nr() fails,
  just skip this probe, since that probably means we're in kernel
  context.
  (__syscall_gate2): Ditto.
  (__syscall_compat_gate): Ditto.

10 years agoMention syscall.fork variable deprecations.
David Smith [Wed, 12 Mar 2014 16:40:52 +0000 (11:40 -0500)]
Mention syscall.fork variable deprecations.

10 years agoFix PR16667 by adding clone syscall/nd_syscall tapset support.
David Smith [Wed, 12 Mar 2014 16:36:15 +0000 (11:36 -0500)]
Fix PR16667 by adding clone syscall/nd_syscall tapset support.

* tapset/linux/syscalls.stp: Add syscall.clone probe alias and deprecate
  extra variables in syscall.fork probe alias. Split out vfork support
  from syscall.fork.
* tapset/linux/nd_syscalls.stp: Ditto.
* tapset/linux/syscalls2.stp: Added syscall.vfork probe alias.
* tapset/linux/nd_syscalls2.stp: Ditto.
* tapset/linux/syscalls.stpm: Added __syscall_gate2 macro.
* runtime/linux/compat_unistd.h: Add __NR_compat_clone defines.
* testsuite/buildok/syscalls-detailed.stp: Add syscall.clone testing and
  updated syscall.fork tests.
* testsuite/buildok/nd_syscalls-detailed.stp: Ditto.
* testsuite/buildok/syscalls2-detailed.stp: Added syscall.vfork testing.
* testsuite/buildok/nd_syscalls2-detailed.stp: Ditto.
* testsuite/systemtap.syscall/forkwait.c: Updated.
* testsuite/systemtap.syscall/clone.c: New test.
* testsuite/systemtap.syscall/vforkwait.c: Ditto.

10 years agotopsys.stp sample: use aggregations
Frank Ch. Eigler [Wed, 12 Mar 2014 16:22:15 +0000 (12:22 -0400)]
topsys.stp sample: use aggregations

10 years agoImprove task_finder/utrace shutdown.
David Smith [Wed, 12 Mar 2014 14:07:58 +0000 (09:07 -0500)]
Improve task_finder/utrace shutdown.

* runtime/stp_utrace.c (utrace_exit): Move the call to
  stp_task_work_exit() up above the calls to free the kmem caches. This
  make sure any running task work items don't have the memory freed out
  from under them.
* runtime/linux/task_finder2.c (__stp_task_finder_cleanup): Move
  utrace_shutdown() call into stap_stop_task_finder().
  (stap_stop_task_finder): Call utrace_shutdown() directly. Wait to make
  sure all tracepoint probes are finished.

10 years agoOnly require a specific kernel if we're installing on RHEL4.
David Smith [Tue, 11 Mar 2014 21:24:55 +0000 (16:24 -0500)]
Only require a specific kernel if we're installing on RHEL4.

* systemtap.spec: Only have a kernel version requirement if we're doing a
  RHEL4 build. The RHEL5+ and Fedora minimum kernel versions are past our
  minimum kernel version. This change will help container versions of
  Fedora that don't have a kernel installed.

10 years agoUpdates for python 3.3
Stan Cox [Tue, 11 Mar 2014 20:10:06 +0000 (16:10 -0400)]
Updates for python 3.3

* (celsius-bt.stp,celsius-var.stp):  Don't to use the same script for
  python2 and python3
* python.exp:  Create python2/python3 versions of above.
* python2.stp (python2_backtrace, python2_get_variable): New.
* python3.stp (get_unicode, p3_get_dict_hash, p3_get_dict_key)
  (p3_get_dict_value):  Changes for python 3.3
  (python3_backtrace, python3_get_variable): New.

10 years agoRHBZ1074842: improve error::fault errors
Frank Ch. Eigler [Tue, 11 Mar 2014 18:57:16 +0000 (14:57 -0400)]
RHBZ1074842: improve error::fault errors

* tapset/*conversions.stp: Add [man error::fault] where missing.
* man/*: Amplify & reference error::fault man page.

10 years agotestsuite: make color_parsing.exp run better in 'make check' mode
Frank Ch. Eigler [Tue, 11 Mar 2014 18:56:46 +0000 (14:56 -0400)]
testsuite: make color_parsing.exp run better in 'make check' mode

10 years agoBZ1073605 addendum, don't blacklist empty matches
Josh Stone [Tue, 11 Mar 2014 17:01:43 +0000 (10:01 -0700)]
BZ1073605 addendum, don't blacklist empty matches

For example, plt and symtab function probes have an empty filename, but
they should not be blocked for that.  This patch adds an impossible ".^"
pattern as a placeholder in those blacklist patterns that aren't used
yet.  Also add semok/semko tests to be sure probing "_start" is allowed
on entry but not on return.

10 years agoCode cleanup in tapset/linux/task.stp.
Robin Hack [Mon, 10 Mar 2014 18:21:29 +0000 (14:21 -0400)]
Code cleanup in tapset/linux/task.stp.

task_max_file_handles and task_open_file_handles:
  * use incode C macros instead of systemtap macros

10 years agoBZ1073605, prohibit uretprobes on _start
Frank Ch. Eigler [Mon, 10 Mar 2014 16:38:02 +0000 (12:38 -0400)]
BZ1073605, prohibit uretprobes on _start

gcrt0 _start's ABI is not compatible with uretprobes (doesn't have
room for a return address).  Need to extend the blacklist concept to
userspace.

10 years agoFix: stap/staprun deadlocks when probing ends.
Torsten Polle [Fri, 7 Mar 2014 20:39:31 +0000 (14:39 -0600)]
Fix: stap/staprun deadlocks when probing ends.

stap_stop_task_finder() exits utrace through utrace_exit(). At that
time, there might be outstanding task workers. Hence, waiting for
exiting the task work waits forever. Therefore exiting the task work
is done after canceling all task workers.

10 years agoFix: Crash when canceling task work.
Torsten Polle [Fri, 7 Mar 2014 20:37:11 +0000 (14:37 -0600)]
Fix: Crash when canceling task work.

As the elements of the list __stp_tf_task_work_list are removed from
the list, a safe iteration has to be used in __stp_tf_cancel_task_work().

10 years agoMerge branch 'master' of ssh://sourceware.org/git/systemtap
Lukas Berk [Fri, 7 Mar 2014 18:33:57 +0000 (13:33 -0500)]
Merge branch 'master' of ssh://sourceware.org/git/systemtap

10 years agoRobustify stapbm javapid check for integers
Lukas Berk [Fri, 7 Mar 2014 18:31:03 +0000 (13:31 -0500)]
Robustify stapbm javapid check for integers

*java/stapbm.in - previously the [[:digits:]] check would fail
  if there was a digit mixed in the process name, such
  as 'foo3bar'.  Now this condition catches anything but
  an integer.

10 years agoRHBZ1065757: probe_point pretty-printer: protect against null probe_point component*
Frank Ch. Eigler [Fri, 7 Mar 2014 17:37:15 +0000 (12:37 -0500)]
RHBZ1065757: probe_point pretty-printer: protect against null probe_point component*

This is a "can't happen" kind of error that appears to happen.

10 years agoUse the parser to build java method probes
Josh Stone [Thu, 6 Mar 2014 23:43:28 +0000 (15:43 -0800)]
Use the parser to build java method probes

A whole lot of staptree creation is reduced significantly by building
the libHelperSDT probes as strings and then parsing them.

10 years agoStart using the parser for complicated code blocks
Josh Stone [Thu, 6 Mar 2014 20:04:00 +0000 (12:04 -0800)]
Start using the parser for complicated code blocks

Sometimes we synthesize code to add to the user's script, and currently
this is done by manually building staptree components.  This is error
prone, and we should let the parser do it when possible.  This first
commit updates the automatic global-variable display to use the parser.

* staptree.h (struct stapfile): Add a synthetic flag.
* parse.cxx (lexer::set_current_token_chain): New, remember a token for
  chaining synthetic code back to its origin.
  (lexer::input_peek): Set the chained token.
  (parser::parse_synthetic_probe): Directly parse a synthetic probe.
  (parse_synthetic_probe): Expose this capability to the world.
* elaborate.cxx (add_global_var_display): Rewrite the synthetic end
  probes as plain strings, then fed to the parser.
  (symresolution_info::find_var): Don't warn about cross-file globals
  from synthetic code.
* session.cxx (systemtap_session::print_error_source): Follow tok->chain
  for all errors, not just macro parse_errors.

10 years agoPR16666: added strip -g testcase for symtab functionality
Lukas Berk [Thu, 6 Mar 2014 16:46:01 +0000 (11:46 -0500)]
PR16666: added strip -g testcase for symtab functionality

* minidebuginfo.exp - add new testcase, compile with debuginfo and
         'strip -g' the resulting bin
* minidebuginfo.stp - change probe point to not explicitly list process
         for reuse on new testcase

10 years agoAdd NEWS blurb about utilizing the symtab for function probes
Lukas Berk [Thu, 6 Mar 2014 16:35:24 +0000 (11:35 -0500)]
Add NEWS blurb about utilizing the symtab for function probes

10 years agoRHBZ1049083: fix typos and capitalization, expand abbreviations, slight rewordings
Martin Cermak [Thu, 6 Mar 2014 08:06:17 +0000 (09:06 +0100)]
RHBZ1049083: fix typos and capitalization, expand abbreviations, slight rewordings

10 years agoNEWS: add cautionary blurb about .callee
Jonathan Lebon [Wed, 5 Mar 2014 22:30:09 +0000 (17:30 -0500)]
NEWS: add cautionary blurb about .callee

And specify in stapprobes(3stap) that the feature requires the code to
be compiled with at least GCC 4.7

10 years agocallee.exp: adjust test for new listing and clean up
Jonathan Lebon [Wed, 5 Mar 2014 22:06:05 +0000 (17:06 -0500)]
callee.exp: adjust test for new listing and clean up

We fix the regexes for listing mode since they're now different (see
previous commit). We also fix the interface of expect_list and
expect_probe to be more intuitive (i.e. list the caller before the
callee).

10 years agocallee: improve derivation for better listing
Jonathan Lebon [Wed, 5 Mar 2014 21:56:44 +0000 (16:56 -0500)]
callee: improve derivation for better listing

Previously, doing stap -L for function("foo").callee("*") would result
in listings directly for function("bar1"), function("bar2"), etc...

With this patch, we add an intermediate step in the derivation chain:
function("foo").callee("*") --> function("foo").callee("bar1")

This will cause -L to display this derivation instead, which is closer
to what users would expect for a function("foo").* probe.

10 years agodwarf_query: add canonicalize_comps()
Jonathan Lebon [Wed, 5 Mar 2014 21:54:35 +0000 (16:54 -0500)]
dwarf_query: add canonicalize_comps()

10 years agoFix the buildok/signal-all-probes.stp testcase.
David Smith [Wed, 5 Mar 2014 18:28:29 +0000 (12:28 -0600)]
Fix the buildok/signal-all-probes.stp testcase.

* testsuite/buildok/signal-all-probes.stp: Avoid the '.callee' probe
  variant by updating the testcase.

10 years agoFix PR16660 by updating the linux/ioblock.stp tapset.
David Smith [Tue, 4 Mar 2014 22:33:25 +0000 (16:33 -0600)]
Fix PR16660 by updating the linux/ioblock.stp tapset.

* tapset/linux/ioblock.stp: Updated tapset for kernels >= 3.14, where many
  fields have been moved to the 'bi_iter' structure.

10 years agoPR14436: small adjustment
Jonathan Lebon [Tue, 4 Mar 2014 21:44:37 +0000 (16:44 -0500)]
PR14436: small adjustment

10 years agoPR14436: fix target vars for process.function.return probes
Jonathan Lebon [Mon, 3 Mar 2014 22:48:10 +0000 (17:48 -0500)]
PR14436: fix target vars for process.function.return probes

Because uretprobes rely on modifying the stack in order to catch
returns, they always had to be placed at the function's entrypc, which
meant that prologue searching could not be performed (see also PR13200).

This patch re-enables prologue searching for .return probes if necessary
(i.e. if code is unoptimized). The uretprobe remains at the entrypc, but
target variables are expanded at the prologue end and the paired entry
probe is also placed there rather than at the entrypc.

10 years agotapsets.cxx: fix not using gettext for log output
Jonathan Lebon [Tue, 4 Mar 2014 15:44:37 +0000 (10:44 -0500)]
tapsets.cxx: fix not using gettext for log output

10 years agodwarf_query: removed unused vars
Jonathan Lebon [Mon, 3 Mar 2014 22:15:04 +0000 (17:15 -0500)]
dwarf_query: removed unused vars

10 years agodwflpp/has_valid_locs: update comment for clang
Jonathan Lebon [Mon, 3 Mar 2014 15:56:10 +0000 (10:56 -0500)]
dwflpp/has_valid_locs: update comment for clang

10 years agoFix PR16659 by updating the __ip_sock_daddr() tapset function.
David Smith [Tue, 4 Mar 2014 21:24:02 +0000 (15:24 -0600)]
Fix PR16659 by updating the __ip_sock_daddr() tapset function.

* tapset/linux/ip.stp (__ip_sock_daddr): Update function for kernels >=
  3.13, where the 'daddr' field has been moved to the sock_common
  structure.

10 years agoImprove 'syscall.listen' probe alias and testing.
David Smith [Mon, 3 Mar 2014 21:44:35 +0000 (15:44 -0600)]
Improve 'syscall.listen' probe alias and testing.

* tapset/linux/syscalls.stp (syscall.listen): The 'fd' variable is 32-bits
  on the user side. Truncate it.
* testsuite/systemtap.syscall/listen.c: New testcase.

10 years agoAdded support for '.callee' probes to the 'unprivileged' testcases.
David Smith [Mon, 3 Mar 2014 19:37:10 +0000 (13:37 -0600)]
Added support for '.callee' probes to the 'unprivileged' testcases.

* testsuite/systemtap.unprivileged/unprivileged_myproc.exp: Add support
  for '.callee' probe variants.
* testsuite/systemtap.unprivileged/unprivileged_probes.exp: Ditto.

10 years agoSmall syscall/nd_syscall tapset and testsuite fixes and improvements.
David Smith [Fri, 28 Feb 2014 20:27:56 +0000 (14:27 -0600)]
Small syscall/nd_syscall tapset and testsuite fixes and improvements.

* tapset/linux/syscalls.stp (syscall.bind): Make 'fd' variable an integer
  instead of a long.
* tapset/linux/nd_syscalls2.stp (nd_syscall.readv): Make 'fd' and 'count'
  variables integers instead of longs.
  (nd_syscall.writev): Ditto.
* testsuite/systemtap.syscall/rename.c (main): Fix typo in expected test
  output.
* testsuite/systemtap.syscall/bind.c: New testcase.

10 years agoPR6941: also skip prologue search for function(NUM) probes
Jonathan Lebon [Fri, 28 Feb 2014 18:57:38 +0000 (13:57 -0500)]
PR6941: also skip prologue search for function(NUM) probes

Whoops! That should have been part of the previous commit as well.

10 years agoPR6941: skip prologue-skipping for GCC optimized code
Jonathan Lebon [Fri, 28 Feb 2014 17:25:37 +0000 (12:25 -0500)]
PR6941: skip prologue-skipping for GCC optimized code

If the code was compiled using -g -O2, then prologue searching is not
necessary since location data is valid there. We determine this by
looking for DW_AT_location attributes with data of form
DW_FORM_sec_offset (see GDB's PR12573 and also RHBZ612253#c6).

10 years agodwflpp: new is_gcc_producer() function
Jonathan Lebon [Fri, 28 Feb 2014 16:41:10 +0000 (11:41 -0500)]
dwflpp: new is_gcc_producer() function

10 years agoutil.cxx: make tokenize() args optional in declaration
Jonathan Lebon [Fri, 28 Feb 2014 17:07:28 +0000 (12:07 -0500)]
util.cxx: make tokenize() args optional in declaration

10 years agoThe systemtap-server rpm now requires 'openssl'.
David Smith [Thu, 27 Feb 2014 22:15:38 +0000 (16:15 -0600)]
The systemtap-server rpm now requires 'openssl'.

* systemtap.spec: Make 'systemtap-server' require 'openssl', since the
  server needs openssl to generate MOKs.
* stap-serverd.cxx (generate_mok): Removed comment about needing to
  require openssl.

10 years agodwflpp/prologue: fix DW_AT_producer parsing
Jonathan Lebon [Thu, 27 Feb 2014 19:43:11 +0000 (14:43 -0500)]
dwflpp/prologue: fix DW_AT_producer parsing

10 years agodwflpp/prologue: clean up and simplify logic
Jonathan Lebon [Thu, 27 Feb 2014 18:42:29 +0000 (13:42 -0500)]
dwflpp/prologue: clean up and simplify logic

Same logic, just broken up into easy to understand checks.

10 years agodwflpp/prologue: use function's decl_line for older GCCs
Jonathan Lebon [Wed, 26 Feb 2014 17:25:06 +0000 (12:25 -0500)]
dwflpp/prologue: use function's decl_line for older GCCs

This patch restores a heuristic we previously used, which worked well in
previous versions of GCC. In a nutshell, decl_line is now meaningless
for determining prologue ends, but for versions of GCC prior to 4.4.0,
it can be useful since it represents the lineno of '{', which should be
the same lineno as the entrypc, otherwise we consider it naked.

10 years agodwflpp/prologue: don't skip the first line record
Jonathan Lebon [Tue, 25 Feb 2014 19:50:04 +0000 (14:50 -0500)]
dwflpp/prologue: don't skip the first line record

Don't skip the first line record. It may correspond to a different file
than it->decl_file, in which case it's a naked prologue.

10 years agoPR16472: Add an indent_depth() tapset function
Josh Stone [Wed, 26 Feb 2014 22:55:40 +0000 (14:55 -0800)]
PR16472: Add an indent_depth() tapset function

- Add indent_depth() as a global analogue of thread_indent_depth()
- Reuse _generic_indent_depth() from _generic_indent() too.
- Expand buildok/indent.stp for all indentation functions.

10 years agoPR16472: Add a thread_indent_depth() tapset function
Fahad Arshad [Wed, 26 Feb 2014 14:41:05 +0000 (09:41 -0500)]
PR16472: Add a thread_indent_depth() tapset function

10 years agoNEWS: Mention guru_mode conditional
Frank Ch. Eigler [Wed, 26 Feb 2014 19:24:35 +0000 (14:24 -0500)]
NEWS: Mention guru_mode conditional

10 years agoAdd 'guru_mode' preprocessor conditional.
Peter Kjellström [Wed, 26 Feb 2014 17:35:48 +0000 (18:35 +0100)]
Add 'guru_mode' preprocessor conditional.

* parse.cxx (eval_pp_conditional): Added 'guru_mode' preprocessor conditional.
* man/stap.1: Added 'guru_mode' preprocessor conditional documentation.
* testsuite/parseok/fourteen.stp: Added 'guru_mode' preprocessor conditional
  test.
* testsuite/parseko/preprocess20.stp: New file.
* testsuite/parseko/preprocess21.stp: Ditto.
* testsuite/parseko/preprocess22.stp: Ditto.

10 years agostapdyn: Make sure mutatee::call_function is stopped first
Josh Stone [Wed, 26 Feb 2014 19:08:28 +0000 (11:08 -0800)]
stapdyn: Make sure mutatee::call_function is stopped first

10 years agoFix PR16636 by separating out preadv()/pwritev() testing.
David Smith [Wed, 26 Feb 2014 17:57:18 +0000 (11:57 -0600)]
Fix PR16636 by separating out preadv()/pwritev() testing.

* tapset/linux/syscalls2.stp (syscall.preadv): The 'fd' and 'count'
  variables are 32-bits on the user side. Truncate them.
  (syscall.pwritev): Ditto.
  (syscall.readv): Ditto.
  (syscall.writev): Ditto.
* testsuite/systemtap.syscall/readwrite.c: Move readv(), writev(),
  preadv(), pwritev() testing to their own files.
* testsuite/systemtap.syscall/preadv.c: New test.
* testsuite/systemtap.syscall/pwritev.c: Ditto.
* testsuite/systemtap.syscall/readv.c: Ditto.
* testsuite/systemtap.syscall/writev.c: Ditto.

10 years agoREADME: add a xref to HACKING
Frank Ch. Eigler [Wed, 26 Feb 2014 16:43:34 +0000 (11:43 -0500)]
README: add a xref to HACKING

10 years agoFix PR16616 by handling a NULL servername in sunrpc probes.
David Smith [Tue, 25 Feb 2014 19:24:11 +0000 (13:24 -0600)]
Fix PR16616 by handling a NULL servername in sunrpc probes.

* tapset/linux/rpc.stp (sunrpc.clnt.entry): Use __rpc_format_servername()
  to generate the 'servername' convenience variable.
  (__rpc_format_servername): New function.
* tapset/linux/conversions.stp (kernel_string): Fix odd formatting of NULL
  value in the error message.

10 years agoPR16632: Adapt to glibc deprecation of _BSD_SOURCE: add _DEFAULT_SOURCE
Frank Ch. Eigler [Tue, 25 Feb 2014 16:34:35 +0000 (11:34 -0500)]
PR16632: Adapt to glibc deprecation of _BSD_SOURCE: add _DEFAULT_SOURCE

10 years agoNEWS: brag about secureboot support
Frank Ch. Eigler [Mon, 24 Feb 2014 16:53:11 +0000 (11:53 -0500)]
NEWS: brag about secureboot support

10 years agofixed prologue comment re. -fomit-frame-pointer
Jonathan Lebon [Fri, 21 Feb 2014 21:11:13 +0000 (16:11 -0500)]
fixed prologue comment re. -fomit-frame-pointer

Although the base pointer register is not used when -fomit-frame-pointer
is used, looking at the assembly shows that the address at which we're
done pushing things on the stack does correspond to the line record
following the declaration's line record, so the heuristic indeed works
properly in that case as well. (I previously thought the right spot
should be the same as the entrypc, but hadn't looked closely enough at
the assembly).

10 years agocast-scope.exp: remove PR13420 kfail
Jonathan Lebon [Fri, 21 Feb 2014 17:13:51 +0000 (12:13 -0500)]
cast-scope.exp: remove PR13420 kfail

We now pass these tests.

10 years agodwflpp: improve prologue-end searching heuristics
Jonathan Lebon [Wed, 12 Feb 2014 17:23:57 +0000 (12:23 -0500)]
dwflpp: improve prologue-end searching heuristics

This patch adds support for the prologue_end marker, which is set by
compilers such as clang. Otherwise, we determine prologue endings by
looking for the same (or larger) line number (which allows for detecting
GCC's 0-line advances).

10 years agoAdd defines for .callee on older elfutils
Josh Stone [Thu, 20 Feb 2014 00:52:58 +0000 (16:52 -0800)]
Add defines for .callee on older elfutils

10 years agoLarge rewrite of schedtimes example
Josh Stone [Thu, 20 Feb 2014 00:51:11 +0000 (16:51 -0800)]
Large rewrite of schedtimes example

- Greatly simplified timestamp updates
- Use task->in_iowait directly on 2.6.32+
- Record new execnames after process exec
- Stop accumulating time after process exit

10 years agoAUTHORS bump
Josh Stone [Thu, 20 Feb 2014 00:45:57 +0000 (16:45 -0800)]
AUTHORS bump

10 years agoFix a typo in schedtimes.meta and regenerate indexes
Josh Stone [Thu, 20 Feb 2014 00:45:42 +0000 (16:45 -0800)]
Fix a typo in schedtimes.meta and regenerate indexes

10 years agoMake schedtimes follow the children of the traced process
David Juran [Fri, 31 Jan 2014 10:46:24 +0000 (11:46 +0100)]
Make schedtimes follow the children of the traced process

10 years agoman/stapprobes.3stap: fix typos
Jonathan Lebon [Wed, 19 Feb 2014 17:15:48 +0000 (12:15 -0500)]
man/stapprobes.3stap: fix typos

10 years agoregenerate examples index
Jonathan Lebon [Tue, 18 Feb 2014 23:14:59 +0000 (18:14 -0500)]
regenerate examples index

10 years agoEXAMPLES/process/procmod_watcher.stp: add meta file
Jonathan Lebon [Tue, 18 Feb 2014 23:09:22 +0000 (18:09 -0500)]
EXAMPLES/process/procmod_watcher.stp: add meta file

10 years agoMerge branch 'jlebon/callee' (PR1133)
Jonathan Lebon [Tue, 18 Feb 2014 22:52:25 +0000 (17:52 -0500)]
Merge branch 'jlebon/callee' (PR1133)

10 years agoMerge branch 'templates' into jlebon/callee
Jonathan Lebon [Tue, 18 Feb 2014 22:50:53 +0000 (17:50 -0500)]
Merge branch 'templates' into jlebon/callee

This branch converts all the iterate_over_* functions into templates,
which allow for typesafe callbacks. Casts should no longer be used in
callback functions.

10 years agotemplate-ify iterate_over_callees()
Jonathan Lebon [Tue, 18 Feb 2014 20:49:48 +0000 (15:49 -0500)]
template-ify iterate_over_callees()

10 years agotemplate-ify iterate_over_labels()
Jonathan Lebon [Tue, 18 Feb 2014 20:44:19 +0000 (15:44 -0500)]
template-ify iterate_over_labels()

10 years agotemplate-ify iterate_over_srcfile_lines()
Jonathan Lebon [Tue, 18 Feb 2014 20:36:14 +0000 (15:36 -0500)]
template-ify iterate_over_srcfile_lines()

10 years agotemplate-ify iterate_over_plt()
Jonathan Lebon [Tue, 18 Feb 2014 20:27:54 +0000 (15:27 -0500)]
template-ify iterate_over_plt()

10 years agotemplate-ify iterate_over_libraries()
Jonathan Lebon [Tue, 18 Feb 2014 20:22:29 +0000 (15:22 -0500)]
template-ify iterate_over_libraries()

10 years agotemplate-ify iterate_over_notes()
Jonathan Lebon [Tue, 18 Feb 2014 20:11:46 +0000 (15:11 -0500)]
template-ify iterate_over_notes()

10 years agoNEWS: add blurb about .callees probes
Jonathan Lebon [Tue, 18 Feb 2014 21:19:18 +0000 (16:19 -0500)]
NEWS: add blurb about .callees probes

10 years agotemplate-ify iterate_over_globals() and iterate_over_types()
Jonathan Lebon [Tue, 18 Feb 2014 19:57:52 +0000 (14:57 -0500)]
template-ify iterate_over_globals() and iterate_over_types()

10 years agocallee.exp: new testcase for callee probes
Jonathan Lebon [Fri, 7 Feb 2014 15:49:02 +0000 (10:49 -0500)]
callee.exp: new testcase for callee probes

This testcase tests all the aspects callee probes have to handle, such
as inlined functions, exported functions, nested [inlined] functions,
and relocation.

10 years agotemplate-ify iterate_over_functions() and iterate_single_function()
Jonathan Lebon [Tue, 18 Feb 2014 19:31:20 +0000 (14:31 -0500)]
template-ify iterate_over_functions() and iterate_single_function()

10 years agocolor_parsing.exp: adjust installtest check
Jonathan Lebon [Fri, 7 Feb 2014 15:46:59 +0000 (10:46 -0500)]
color_parsing.exp: adjust installtest check

10 years agotemplate-ify iterate_over_inline_instances()
Jonathan Lebon [Tue, 18 Feb 2014 19:12:51 +0000 (14:12 -0500)]
template-ify iterate_over_inline_instances()

10 years agoman/stapprobes.3stap: re-structure and add .callee[s]
Jonathan Lebon [Wed, 5 Feb 2014 19:54:40 +0000 (14:54 -0500)]
man/stapprobes.3stap: re-structure and add .callee[s]

Information about .callee[s] probes was added.

The paragraph containing variants and modifiers was getting heavy, so it
was made into a list instead.

10 years agotemplate-ify iterate_over_cus()
Jonathan Lebon [Tue, 18 Feb 2014 17:26:37 +0000 (12:26 -0500)]
template-ify iterate_over_cus()

10 years agomake .callee[s] probes only trigger when called from target callers
Jonathan Lebon [Tue, 18 Feb 2014 22:13:52 +0000 (17:13 -0500)]
make .callee[s] probes only trigger when called from target callers

Here, we prefix a block to the callee's probe handler to only pass
through if all the callers up the chain match with the current stack.
For .callee("func") probes, we simply add a check for [u]stack(1) ==
"func". For .callees(N) probes, we add a check that the N callers up the
callstack match those iterate_over_callees() found during static
analysis.

These checks are done at runtime by the caller_match() tapset function,
which calls _stp_[uk]module_relocate() to get the relocated address of
the expected caller and _stp_stack_[user|kernel]_get() to get the
unwinding address in the wanted stack frame.

10 years agotemplate-ify iterate_over_modules()
Jonathan Lebon [Fri, 14 Feb 2014 20:24:00 +0000 (15:24 -0500)]
template-ify iterate_over_modules()

10 years agoimplement iterate_over_callees()
Jonathan Lebon [Tue, 28 Jan 2014 19:51:07 +0000 (14:51 -0500)]
implement iterate_over_callees()

In this patch, we actually implement iterate_over_callees(). This
function looks for inlined subroutines or GNU_call_sites and calls the
callback for each found. The query_callee() callback for now simply does
a query_statement on the callee found. Logic is added in the next patch
to limit probing to calls from caller only.

10 years agoregister .callee[s[(N)]] variants
Jonathan Lebon [Tue, 28 Jan 2014 19:43:42 +0000 (14:43 -0500)]
register .callee[s[(N)]] variants

Here, we register three variants:

- function.callee(STR)
- function.callees
- function.callees(NUM), where NUM >= 1

10 years agoallow arbitrary callback arg for iterate_over_functions()
Jonathan Lebon [Tue, 28 Jan 2014 19:41:40 +0000 (14:41 -0500)]
allow arbitrary callback arg for iterate_over_functions()

This type-unsafe transformation will be corrected (along with all others
of this kind) in an upcoming patch.

10 years agonfsd-recent.stp: New sample script
Frank Ch. Eigler [Wed, 19 Feb 2014 15:22:41 +0000 (10:22 -0500)]
nfsd-recent.stp: New sample script

10 years agoAdd a rpm require on 'mokutil' when needed.
David Smith [Tue, 18 Feb 2014 21:19:13 +0000 (15:19 -0600)]
Add a rpm require on 'mokutil' when needed.

* systemtap.spec: Make the client subpackage require 'mokutil' when
  needed.
* session.cxx (get_mok_info): Remove 'FIXME' comment about needing to
  require 'mokutil'.

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