]> sourceware.org Git - systemtap.git/log
systemtap.git
13 years agoAdd the structure comments for tapset reference manual to nfs.stp
William Cohen [Wed, 17 Aug 2011 21:40:57 +0000 (17:40 -0400)]
Add the structure comments for tapset reference manual to nfs.stp

13 years agoInitialize POD members that were previously uninitialized
Lukas Berk [Wed, 17 Aug 2011 20:36:04 +0000 (16:36 -0400)]
Initialize POD members that were previously uninitialized

* coveragedb.h: initialize type in coverage_element
* csclient.h: initialize argc in compile_server_client
* dwflpp.cxx: initialize blacklist_func, blacklist_func_ret,
              and blacklist_file in dwflpp
* dwflpp.h: initialize entrypc in func_info
* elaborate.cxx: initialize num_newly_resolved, num_still_unresolved,
                 assert_resolvability and t in typeresolution_info
* session.cxx: initialize automatic_server_mode in systemtap_session
* staptree.cxx: initialize privileged in probe, tok in component,
                and epilogue_style in probe_alias
* staptree.h: initialize num_index and expr_index in component
* tapset-utrace.cxx: initialize has_library in derived_probe
* tapsets.cxx: initialize has_process and has_library in
               dwarf_derived_probe, has_library in base_query,
               has_relative, relative_val, choose_next_line, and
               entrypc_for_next_line in dwarf_query, op in
               var_expanding_visitor and probe_type, probe_loc,
               probe_scn_offset, probe_scn_addr, arg_count, base,
               and semaphore in sdt_query
* translate.cxx: initialize action_counter and
                 probe_or_function_needs_deref_fault_handler in
                 c_unparser

13 years agoReally old kprobes didn't have a symbol_name field, autoconf it.
Mark Wielaard [Wed, 17 Aug 2011 17:13:24 +0000 (19:13 +0200)]
Really old kprobes didn't have a symbol_name field, autoconf it.

kprobes on addresses do just work and can now be build.
symbol_named kprobes now get a registration warning if the
symbol_name field isn't available.

13 years agoPR1277 cont'd: NEWS and man page entry
Chris Meek [Wed, 17 Aug 2011 13:24:06 +0000 (09:24 -0400)]
PR1277 cont'd: NEWS and man page entry

13 years agoPR6961 - backtrace from non-pt_regs probe context
Mark Wielaard [Wed, 17 Aug 2011 11:46:48 +0000 (13:46 +0200)]
PR6961 - backtrace from non-pt_regs probe context

When printing a kernel backtrace use the kernel dump_trace if available.
If the kernel is compiled with frame pointers we can guess the stack
pionter pretty reliably, otherwise let dump_stack figure it out and
skip some of the framework stack frames before starting the print the
remaining stack.

13 years agoPR13103 substr 3 argument length description is wrong.
Mark Wielaard [Wed, 17 Aug 2011 07:55:33 +0000 (09:55 +0200)]
PR13103 substr 3 argument length description is wrong.

13 years agoPR11209: Add cpu_clock and local_clock
Josh Stone [Mon, 8 Aug 2011 20:54:06 +0000 (13:54 -0700)]
PR11209: Add cpu_clock and local_clock

This adds cpu_clock_ns(cpu), local_clock_ns(), and their coarser
variants.  These are monotonic wallclock time sources, rather than the
absolute time-since-epoch sort.  On kernels too old for these functions,
it falls back to stap's gettimeofday.

A kernel supports this only if it has the functions exported, and if it
is deemed new enough to have the patches that make it NMI-safe.  See the
comment in timestamp_monotonic.stp for details.

* buildrun.cxx: Add export checks for cpu_clock and local_clock.
* tapset/timestamp_monotonic.stp: Define the new functions.
* testsuite/buildok/timestamp_monotonic-embedded.stp: Build them.
* doc/SystemTap_Tapset_Reference/tapsets.tmpl: Include the new docs.

13 years agoCheck ix is not NULL before dereferencing for both cases
Lukas Berk [Tue, 16 Aug 2011 20:27:36 +0000 (16:27 -0400)]
Check ix is not NULL before dereferencing for both cases

staptree.cxx: add the assert and remove the (now) redundant portion
              of the conditional.

13 years agodoc: correct chapter heading for function::system
Frank Ch. Eigler [Tue, 16 Aug 2011 20:03:14 +0000 (16:03 -0400)]
doc: correct chapter heading for function::system

13 years agoPR12773 cont'd: Added --download-debuginfo= option
Chris Meek [Tue, 16 Aug 2011 18:28:59 +0000 (14:28 -0400)]
PR12773 cont'd: Added --download-debuginfo= option

 Possible values for option:

 'yes':      Automatically download debuginfo - no timeout.
             Also, if no value is given to the option, it
             is the same as this.
 'no':       Do not automatically download debuginfo. Also
             if the option is not specified at all, it
             defaults to this.
 'ask':      Show output from abrt, including file size of
             needed debuginfo, and make it wait for user
             input before downloading.
 '<number>'  A positive number, in seconds, to represent
             the timeout to use when downloading. If the
             download takes longer than this, it will
             abort the download.

 **NOTE** Due to a few bugs in abrt, both the 'ask' feature
 and the 'timeout' feature will not work properly. In terms
 of the 'ask feature (BZ726192), it will ask the user, but
 abrt then assumes 'yes' right away and continues the
 download. When this is fixed in abrt, stap should function
 properly. In terms of the timeout feature (BZ730107), stap
 does stop if a timeout occurs, but the download process
 continues to completion.

13 years agowarn_overflow.exp: Add -DMAXSKIPPED=9999 to prevent false failures.
Mark Wielaard [Tue, 16 Aug 2011 15:37:27 +0000 (17:37 +0200)]
warn_overflow.exp: Add -DMAXSKIPPED=9999 to prevent false failures.

The syscall.* probe handlers try to overflow the cmd message buffers
which might take some time, so add -DMAXSKIPPED=9999 to not error
out because some probes take too long.

13 years agoBug 11859 - print_ubacktrace() prints kretprobe addresses
Mark Wielaard [Tue, 16 Aug 2011 14:47:34 +0000 (16:47 +0200)]
Bug 11859 - print_ubacktrace() prints kretprobe addresses

runtime/stack.c (_stp_stack_print): Check whether we are printing a user
or kernel stack, only handle [ku]retprobe addresses if the "right" kind.

13 years agoReintroduce timer for transport cmd channel, don't wake_up unconditionally.
Mark Wielaard [Tue, 16 Aug 2011 12:31:29 +0000 (14:31 +0200)]
Reintroduce timer for transport cmd channel, don't wake_up unconditionally.

Revert parts of commit a85c8a "runtime/io.c: Explicitly signal setting of
_stp_exit_flag" and commit 46ac9e "Remove _stp_ctl_work_timer from module
transport layer". Introduce a new test wake_up.exp that shows a deadlock
when sending cmd messages and waking up the reader immediately.

Renamed _stp_ctl_write to _stp_ctl_send, which can be called from
everywhere. Rename _stp_ctl_send to _stp_ctl_send_notify that can be
called from user context in the transport layer itself (this will
immediately notify any readers). Document all places that use
_stp_ctl_send_notify directly to clarify why that is safe.

See http://sourceware.org/ml/systemtap/2011-q3/msg00163.html

13 years agotranslate symbol/unwind extraction: shrink output
Frank Ch. Eigler [Tue, 16 Aug 2011 03:07:27 +0000 (23:07 -0400)]
translate symbol/unwind extraction: shrink output

* translate.cxx (dump_unwindsyms): Use plain decimal formatting
  instead of 0xFF hex for bulk data, to save 1-3 bytes of C source per
  byte.

13 years agoAdd a compat #define FIELD_SIZEOF
Josh Stone [Tue, 16 Aug 2011 00:30:17 +0000 (17:30 -0700)]
Add a compat #define FIELD_SIZEOF

This was added in kernel 2.6.18.  RHEL4 backported this definition, but
it was reported missing in another enterprise distro.  It's an easy
one-line definition to add for compatibility though.

13 years agotweak wording of SYSTEMTAP_DEBUGINFO_PATH env var
Frank Ch. Eigler [Tue, 16 Aug 2011 01:12:14 +0000 (21:12 -0400)]
tweak wording of SYSTEMTAP_DEBUGINFO_PATH env var

13 years agoUpdate testsuite configury to autoconf 2.68 too
Josh Stone [Mon, 15 Aug 2011 23:31:03 +0000 (16:31 -0700)]
Update testsuite configury to autoconf 2.68 too

13 years agoupdate autoconf files for 2.68
Lukas Berk [Mon, 15 Aug 2011 21:15:58 +0000 (17:15 -0400)]
update autoconf files for 2.68

13 years agoPR11775: Add more tapsets to the tapsets.tmpl file
Lukas Berk [Mon, 15 Aug 2011 21:03:03 +0000 (17:03 -0400)]
PR11775: Add more tapsets to the tapsets.tmpl file

doc/SystemTap_Tapset_Reference/tapsets.tmpl: Added tapsets and Network
File Storage chapter

13 years agoMakefile: Add an srpm target
Josh Stone [Mon, 15 Aug 2011 20:00:38 +0000 (13:00 -0700)]
Makefile: Add an srpm target

This target prepares a source rpm without doing a build, useful for
feeding into other build tools, like mock.

13 years agoImplement and use select to wait for cmd channel data.
Mark Wielaard [Sun, 14 Aug 2011 21:07:46 +0000 (23:07 +0200)]
Implement and use select to wait for cmd channel data.

Add a poll implementation to runtime/transport/control.c
(_stp_ctl_poll_cmd) based on the _stp_ctl_ready_q wait queue.
Check whether select is supported in runtime/staprun/mainloop.c
(stp_main_loop) and use pselect with a sigmask that includes
SIGURG to get EINTR notifications whenever an interruptable
event occurred.

13 years agoruntime/io.c: Explicitly signal setting of _stp_exit_flag.
Mark Wielaard [Sat, 13 Aug 2011 21:03:36 +0000 (23:03 +0200)]
runtime/io.c: Explicitly signal setting of _stp_exit_flag.

Call wake_up_interruptible(&_stp_ctl_wq) in _stp_exit()
to signal possible waiters in _stp_ctl_read_cmd().

13 years agoRemove _stp_ctl_work_timer from module transport layer.
Mark Wielaard [Fri, 12 Aug 2011 17:34:20 +0000 (19:34 +0200)]
Remove _stp_ctl_work_timer from module transport layer.

The _stp_ctl_work_timer would trigger every 20ms to check whether
there were cmd messages queued, but not announced yet and to
check the _stp_exit_flag was set.

This commit makes all control messages announce themselves and
check the _stp_exit_flag in the _stp_ctl_read_cmd loop (delivery
is still possibly delayed since the messages are just pushed on
a wait queue).

13 years agoAdd the func_time_stats.stp to the index.
William Cohen [Fri, 12 Aug 2011 13:19:47 +0000 (09:19 -0400)]
Add the func_time_stats.stp to the index.

13 years agoAdd the func_time_stats.stp example.
William Cohen [Fri, 12 Aug 2011 13:18:41 +0000 (09:18 -0400)]
Add the func_time_stats.stp example.

13 years agoClean up func_time_stats information.
William Cohen [Fri, 12 Aug 2011 13:17:18 +0000 (09:17 -0400)]
Clean up func_time_stats information.

13 years agoucontext.stp: Remove STP_NEED_VMA_TRACKER, done through pragma:vma.
Mark Wielaard [Fri, 12 Aug 2011 07:45:48 +0000 (09:45 +0200)]
ucontext.stp: Remove STP_NEED_VMA_TRACKER, done through pragma:vma.

13 years agoman: Convert 3-column table to 2-column table in stapprobes
Timo Juhani Lindfors [Thu, 11 Aug 2011 23:14:31 +0000 (02:14 +0300)]
man: Convert 3-column table to 2-column table in stapprobes

This patch fixes the following error:

$ MANWIDTH=80 man stapprobes > /dev/null
warning: file `<standard input>', around line 105:
  table wider than line width

13 years agoman: Add spaces after commas in tapset::nfsd
Timo Juhani Lindfors [Thu, 11 Aug 2011 22:02:55 +0000 (01:02 +0300)]
man: Add spaces after commas in tapset::nfsd

This patch fixes the following error:

$ MANWIDTH=80 man tapset::nfsd > /dev/null
<standard input>:419: warning [p 6, 10.5i]: cannot adjust line

13 years agoman: Escape backslash properly in tapset::snmp
Timo Juhani Lindfors [Thu, 11 Aug 2011 21:57:26 +0000 (00:57 +0300)]
man: Escape backslash properly in tapset::snmp

This patch fixes the following error:

$ man tapset::snmp > /dev/null
<standard input>:128: a space character is not allowed in an escape name

13 years agoFix the uprobes.ko path when used with remotes
Josh Stone [Thu, 11 Aug 2011 21:30:05 +0000 (14:30 -0700)]
Fix the uprobes.ko path when used with remotes

When uprobes.ko is sent through stapsh, it will go in a temp path that
only stapsh knows.  However, we were sending -u/path/to/uprobes.ko with
a client side path, which would only work for --remote localhost.  :/
Now the path is sanitized to ./ for the stapsh working directory.

* buildrun.cxx (make_run_command): Take a remotedir instead of a module
  name.  When set, use it to normalize both the uprobes and module path.
  Also check versions that a uprobes path is even supported (>=1.4).
* remote.cxx (stapsh::start): The remotedir is simply "." for stapsh.
  (ssh_legacy_remote:start): The remotedir is the known from the prior
  mktemp -d.  Also start sending the module signature across, add a note
  why we unfortunately can't send uprobes in legacy mode, and specify
  the staprun command without any path in case the remote is different.

13 years agoBe more explicit about when the session needs symbol data. pragma:symbols.
Mark Wielaard [Thu, 11 Aug 2011 16:53:01 +0000 (18:53 +0200)]
Be more explicit about when the session needs symbol data. pragma:symbols.

Introduce /* pragma:symbols */ which is added to those tapset functions
that use print_addr or print_stack with symbol resolving. Now we no longer
have to output the symbol tables at translate time if unnecessary.
Although we could do even less work (see the new comment in translate.cxx).

13 years agoOnly collect and emit unwind data in translator if the session needs it.
Mark Wielaard [Thu, 11 Aug 2011 10:34:01 +0000 (12:34 +0200)]
Only collect and emit unwind data in translator if the session needs it.

When we hit the translator the session already knows whether or not it
will possibly need the unwind data. Only collect and emit it, if the
session does. This can save writing out tens of MB to stap-symbols.h
for simple scripts that never call any backtrace() function.

13 years agoRemove preempt_disable from unwind hotpath.
Mark Wielaard [Thu, 11 Aug 2011 10:03:55 +0000 (12:03 +0200)]
Remove preempt_disable from unwind hotpath.

We only need to preempt_disable when we fail to find a kernel module to
unwind through so we can call __module_text_address.

13 years agoAdd the nfsd_unlink example to the index.
William Cohen [Wed, 10 Aug 2011 15:43:02 +0000 (11:43 -0400)]
Add the nfsd_unlink example to the index.

13 years agoAdd the nfsd_unlink.stp example.
William Cohen [Wed, 10 Aug 2011 15:42:12 +0000 (11:42 -0400)]
Add the nfsd_unlink.stp example.

13 years agoRevert "Add the nfsd_unlink.stp example."
William Cohen [Wed, 10 Aug 2011 15:41:18 +0000 (11:41 -0400)]
Revert "Add the nfsd_unlink.stp example."

This reverts commit 2b44a2e7b73d5e1d3b433e01fdb3c732db986369.

13 years agoAdd the nfsd_unlink.stp example.
William Cohen [Wed, 10 Aug 2011 15:40:10 +0000 (11:40 -0400)]
Add the nfsd_unlink.stp example.

13 years agoPR 11441: stap-server Roadmap to Legitimacy - New unprivileged test cases.
Dave Brolley [Fri, 5 Aug 2011 15:04:56 +0000 (11:04 -0400)]
PR 11441: stap-server Roadmap to Legitimacy - New unprivileged test cases.

Run the buildok tests with --unprivileged and check that the expected tests
pass or fail.

13 years agoMake sure that ".stp" is at the end of the file name for the check.
William Cohen [Wed, 10 Aug 2011 14:41:07 +0000 (10:41 -0400)]
Make sure that ".stp" is at the end of the file name for the check.

13 years agoi18n: fix missing \n typo from -vvv message
Frank Ch. Eigler [Fri, 5 Aug 2011 19:13:38 +0000 (15:13 -0400)]
i18n: fix missing \n typo from -vvv message

13 years agoPR12773: Fixed Test Suite Regressions
Chris Meek [Mon, 8 Aug 2011 20:49:17 +0000 (16:49 -0400)]
PR12773: Fixed Test Suite Regressions

13 years agoPR12773: Fixed NULL check - no longer aborts
Chris Meek [Mon, 8 Aug 2011 15:36:40 +0000 (11:36 -0400)]
PR12773: Fixed NULL check - no longer aborts

13 years agoPR12773: Use abrt to download and install debuginfo
Chris Meek [Thu, 4 Aug 2011 14:11:38 +0000 (10:11 -0400)]
PR12773: Use abrt to download and install debuginfo

dwflpp.cxx
  In setup_user(), pass the session to setup_dwfl_user().

setupdwfl.cxx
  Added internal_find_debuginfo() and
  execute_abrt_action_install_debuginfo_to_abrt_cache() to call
  abrt to automatically download and install the needed debuginfo.

setupdwfl.h
  Added function declarations.

util.h
  Added hex_dump() to convert a binary string to a hex string.

13 years agoRelax -G regexp slightly to allow 1-char variable names
Josh Stone [Mon, 8 Aug 2011 19:56:24 +0000 (12:56 -0700)]
Relax -G regexp slightly to allow 1-char variable names

13 years agosdt*exp: When the compiler doesn't recognize flag, mark test as UNTESTED.
Mark Wielaard [Mon, 8 Aug 2011 09:08:42 +0000 (11:08 +0200)]
sdt*exp: When the compiler doesn't recognize flag, mark test as UNTESTED.

Older gcc compilers don't recognize all the -std=[c|gnu]++0x flags we
throw at them. Instead of marking these compilations as FAIL, mark them
as UNTESTED now, so we only see real FAILures in the result (there are
still a couple left against -pedantic).

13 years agoAdd NULL context when creating perf event counter, remove nmi from handler.
Mark Wielaard [Sun, 7 Aug 2011 13:44:58 +0000 (15:44 +0200)]
Add NULL context when creating perf event counter, remove nmi from handler.

More fallout of kernel commit 4dc0da "perf: Add context field to perf_event"
and commit a8b0ca "perf: Remove the nmi parameter from the swevent and
verflow interface". And new autoconf checks for both.

13 years agoproc_mem.stp: Always use atomic counters with kernel 3.1 or higher.
Mark Wielaard [Sun, 7 Aug 2011 12:38:28 +0000 (14:38 +0200)]
proc_mem.stp: Always use atomic counters with kernel 3.1 or higher.

Kernel commit 172703 "mm: delete non-atomic mm counter implementation"
did away with the non-atomic variant of mm_struct rss_stat->count[member].

13 years agoAdd destructor to struct block and delete statements to avoid scope leaks
Lukas Berk [Fri, 5 Aug 2011 18:05:53 +0000 (14:05 -0400)]
Add destructor to struct block and delete statements to avoid scope leaks

* staptree.h: Add destructor to struct block
* elaborate.cxx: Add delete statements to add_global_var_display

13 years agoCheck for hw_breakpoint context argument.
Mark Wielaard [Fri, 5 Aug 2011 12:13:21 +0000 (14:13 +0200)]
Check for hw_breakpoint context argument.

Kernel commit 4dc0da8 "perf: Add context field to perf_event" added
a new void *context field to the register_*_hw_breakpoint() functions.
Detect with a new runtime/autoconf-hw_breakpoint_context.c plus
STAPCONF_HW_BREAKPOINT_CONTEXT conditional.

13 years agocontext-unwind.stp: More STAPCONF_UPROBE_GET_PC wrapping.
Mark Wielaard [Fri, 5 Aug 2011 10:42:04 +0000 (12:42 +0200)]
context-unwind.stp: More STAPCONF_UPROBE_GET_PC wrapping.

13 years agoruntime/stack.c: Wrap GET_PC_URETPROBE_NONE in #ifdef STAPCONF_UPROBE_GET_PC
Mark Wielaard [Thu, 4 Aug 2011 20:27:33 +0000 (22:27 +0200)]
runtime/stack.c: Wrap GET_PC_URETPROBE_NONE in #ifdef STAPCONF_UPROBE_GET_PC

13 years agoMove the comment for STP_MAX_PROCFS_FILES closer
Josh Stone [Thu, 4 Aug 2011 19:44:14 +0000 (12:44 -0700)]
Move the comment for STP_MAX_PROCFS_FILES closer

13 years agovim: bump the date and use a generic email contact
Josh Stone [Thu, 4 Aug 2011 16:11:20 +0000 (09:11 -0700)]
vim: bump the date and use a generic email contact

13 years agoUse $dfd not $mode in testsuite/transok/tval-opt.stp.
Mark Wielaard [Thu, 4 Aug 2011 10:24:35 +0000 (12:24 +0200)]
Use $dfd not $mode in testsuite/transok/tval-opt.stp.

Kernel commit 47c805 "switch do_filp_open() to struct open_flags"
changed the arguments of do_filp_open. Use another int argument
that hasn't changed in testcase.

13 years agoCheck whether syscalls2.stp sigprocmask argument is set or nset.
Mark Wielaard [Wed, 3 Aug 2011 22:26:49 +0000 (00:26 +0200)]
Check whether syscalls2.stp sigprocmask argument is set or nset.

kernel commit b013c3 "signal: cleanup sys_sigprocmask()" renamed the set
parameter to nset. commit bb7efe "signal: cleanup sys_rt_sigprocmask()"
did the same. Check with @defined($set) to see if we want the old or
new definition.

13 years agoFix autoconf-ring_buffer_lost_events.c compile warning.
Mark Wielaard [Wed, 3 Aug 2011 20:45:11 +0000 (22:45 +0200)]
Fix autoconf-ring_buffer_lost_events.c compile warning.

Newer GCC will warn about the event variable not being used,
making this test fail. Just remove the 'event' variable.

13 years agotestsuite warn_overflow be more precise and a bit more lenient.
Mark Wielaard [Wed, 3 Aug 2011 17:30:37 +0000 (19:30 +0200)]
testsuite warn_overflow be more precise and a bit more lenient.

log exactly once for syscall probe hit and counter i == 256.
But do allow more than 3 overflow warning messages to occur
in case stap miraculously recovers and overflows immediately
afterwards.

13 years agotestsuite warnings.stp: match all lines in bio_init@fs/bio.c:*.
Mark Wielaard [Wed, 3 Aug 2011 17:29:24 +0000 (19:29 +0200)]
testsuite warnings.stp: match all lines in bio_init@fs/bio.c:*.

Since we aren't actually interested in the probe itself, and
different kernels have different lines that can be probed, just
match them all.

13 years agoMerge branch 'master' of git://sourceware.org/git/systemtap
Lukas Berk [Wed, 3 Aug 2011 16:17:40 +0000 (12:17 -0400)]
Merge branch 'master' of git://sourceware.org/git/systemtap

13 years agoAdd pattern_root to destructor
Lukas Berk [Wed, 3 Aug 2011 16:14:32 +0000 (12:14 -0400)]
Add pattern_root to destructor

* session.cxx: add delete pattern_root to ~systemtap_session()

13 years agoprobe_type: make unexpected types an error for probe_type()
Frank Ch. Eigler [Wed, 3 Aug 2011 15:48:23 +0000 (11:48 -0400)]
probe_type: make unexpected types an error for probe_type()

13 years agoimplicitptr.exp: Add implicitptr.exp to test_flags.
Mark Wielaard [Wed, 3 Aug 2011 14:24:00 +0000 (16:24 +0200)]
implicitptr.exp: Add implicitptr.exp to test_flags.

Previously the testcase wouldn't compile unless the system had sys/sdt.h.

13 years agocommon_probe_context.h: Put Individual Probe State (ips) into a union.
Mark Wielaard [Wed, 3 Aug 2011 09:17:00 +0000 (11:17 +0200)]
common_probe_context.h: Put Individual Probe State (ips) into a union.

Various probe handlers have dedicated fields in the common probe context
struct. Since the handlers cannot be active at the same time (on the same
cpu) these can just be put into a union to save space. In runtime code
when there might be ambiguity about which probe handler is running, the
CONTEXT->probe_type field can be used to check which field has actual
life data.

13 years agoAdd probe_type to common probe context.
Mark Wielaard [Tue, 2 Aug 2011 14:42:38 +0000 (16:42 +0200)]
Add probe_type to common probe context.

This exposes the type of probe handler for use in runtime functions,
so they can better anticipate which common probe context is valid at
runtime. Also introduces a new context tapset function probe_type()
that exposes a (informational) probe handler string to scripts. Mainly
useful for debugging, when the user wants to find out which kind of
low level probe handler a high-level probe translates to for a particular
kernel/systemtap version.

13 years agoAdd destructor to struct dwarf_pretty_print
Lukas Berk [Tue, 2 Aug 2011 17:55:51 +0000 (13:55 -0400)]
Add destructor to struct dwarf_pretty_print

*tapsets.cxx: add destructor to deallocate ts

13 years agoRemove old context.stp uaddr() comment.
Mark Wielaard [Tue, 2 Aug 2011 08:58:45 +0000 (10:58 +0200)]
Remove old context.stp uaddr() comment.

PR10080 was resolved and we no have  VDSO tracking support.

13 years agoRemove old comment in kretprobe handler.
Mark Wielaard [Tue, 2 Aug 2011 08:56:59 +0000 (10:56 +0200)]
Remove old comment in kretprobe handler.

c->ri -inst is saved just above the old comment.

13 years agoPR12135: Pretty-print should skip masked inherited members
Josh Stone [Mon, 1 Aug 2011 19:41:32 +0000 (12:41 -0700)]
PR12135: Pretty-print should skip masked inherited members

* tapsets.cxx (dwarf_pretty_print::recurse_struct_members): Traverse
  inheritance breadth-first, and remember shallower names printed.
* testsuite/systemtap.base/inherit.*: Add pretty-printing to the test.

13 years agoPR12135: Discard inheritance "dupes" in suggested alternatives
Josh Stone [Mon, 1 Aug 2011 19:24:20 +0000 (12:24 -0700)]
PR12135: Discard inheritance "dupes" in suggested alternatives

* dwflpp.cxx (dwflpp::print_members): Track already seen members in a
  set, so we don't print names twice (as with masked inherited members).

13 years agoPR12135: Prefer subclass members if they mask the superclass
Josh Stone [Mon, 1 Aug 2011 18:58:36 +0000 (11:58 -0700)]
PR12135: Prefer subclass members if they mask the superclass

* dwflpp.cxx (dwflpp::find_struct_member): Use a breadth-first search
  through inheritance trees, so masked members will be pulled from the
  subclass rather than the superclass.
* testsuite/systemtap.base/inherit.*: New test for inheritance games.

13 years agoProbe context data field is only used for procfs. Rename to procfs_data.
Mark Wielaard [Mon, 1 Aug 2011 14:00:05 +0000 (16:00 +0200)]
Probe context data field is only used for procfs. Rename to procfs_data.

itrace and mark probes would also scribble (useless) data into this
context field, without ever using it, for no apparent reason, except
that they had "data" around. Renamed the field to procfs_data to make
clear it has a specific purpose.

Also add documentation for remaining undocumented common_probe_context fields.

13 years agoRestore stream state
Lukas Berk [Mon, 1 Aug 2011 13:50:01 +0000 (09:50 -0400)]
Restore stream state

* util.h: retore stream state back to std::dec

13 years agoOnly add probe_name to the common probe context when really needed.
Mark Wielaard [Mon, 1 Aug 2011 10:39:36 +0000 (12:39 +0200)]
Only add probe_name to the common probe context when really needed.

Guard probe_name with STP_NEED_PROBE_NAME. It is only needed when we include
the pn() tapset function. All this needed was moving the STP_NEED_PROBE_NAME
define from the tapset function to a top-level embedded C block (which are
included early, unlike the tapset functions themselves).

Also document common_probe_context.h busy, probe_point and probe_name fields.

13 years agoCorrect year for systemtap beginners guide.
William Cohen [Fri, 29 Jul 2011 19:23:25 +0000 (15:23 -0400)]
Correct year for systemtap beginners guide.

13 years agoBump beginners guide to 1.6.
William Cohen [Fri, 29 Jul 2011 19:19:36 +0000 (15:19 -0400)]
Bump beginners guide to 1.6.

13 years agosecurity: name fixed CVE's in release sections
Frank Ch. Eigler [Fri, 29 Jul 2011 18:00:32 +0000 (14:00 -0400)]
security: name fixed CVE's in release sections

Suggested-By: Vincent Danen <vdanen@redhat.com>
13 years agoAdd the watchdog.stp to the index.
William Cohen [Fri, 29 Jul 2011 17:12:18 +0000 (13:12 -0400)]
Add the watchdog.stp to the index.

13 years agoAdd the watchdog.stp example
William Cohen [Fri, 29 Jul 2011 17:10:34 +0000 (13:10 -0400)]
Add the watchdog.stp example

13 years agopull in some debian patches
Frank Ch. Eigler [Fri, 29 Jul 2011 12:23:39 +0000 (08:23 -0400)]
pull in some debian patches

Appling a couple of no-brainer patches from
http://anonscm.debian.org/gitweb/?p=collab-maint/systemtap.git;a=tree;f=debian/patches

13 years agoPut common probe and session context state definitions in their own files.
Mark Wielaard [Fri, 29 Jul 2011 11:35:06 +0000 (13:35 +0200)]
Put common probe and session context state definitions in their own files.

translate.cxx contained code to produce the common probe and session
context state as C code snippets. Large parts were not dependent on the
session state at all, so they really were just static blobs of C code
wrapped in c++ io stream operators. These have been put in their own
C runtime header files (common_session_state.h, common_probe_context.h
and runtime_defines.h) to make it easier to edit and document.

13 years agotapset-utrace.cxx: Use 'utrace_engine' instead of 'utrace_attached_engine'
Mark Wielaard [Fri, 29 Jul 2011 09:18:20 +0000 (11:18 +0200)]
tapset-utrace.cxx: Use 'utrace_engine' instead of 'utrace_attached_engine'

Commit 6890af reversed the utrace compatibility fix in utrace_compatibility.h.

13 years agoGuard regparm in probe context with STAP_NEED_REGPARM.
Mark Wielaard [Thu, 28 Jul 2011 16:10:20 +0000 (18:10 +0200)]
Guard regparm in probe context with STAP_NEED_REGPARM.

regparm is only used on i386 (and x86_64 when probing 32bit) for
signaling what the parameter packing is for the probed function
as set in register.stp. So only include it in the probe context
struct when actually used in a stap script.

Also updated docs and fixed signature on other arches.

13 years agoProperly initialize variables and consistently check getenv
Lukas Berk [Thu, 28 Jul 2011 19:52:35 +0000 (15:52 -0400)]
Properly initialize variables and consistently check getenv

* session.cxx: initialize long_opt, change conditional to match other
getenv checks against null
* stap-serverd.cxx: initialize long_opt

13 years agoPR 12916 - Aliased process probes aren't allowed for unprivileged
Dave Brolley [Thu, 28 Jul 2011 18:18:49 +0000 (14:18 -0400)]
PR 12916 - Aliased process probes aren't allowed for unprivileged

Make all probe aliases OK for unprivileged users. The actual referenced
probe points will be checked once the aliases are resolved.
Update test suite.

13 years agoRearrange conditional to include return value check
Lukas Berk [Thu, 28 Jul 2011 14:49:11 +0000 (10:49 -0400)]
Rearrange conditional to include return value check

* tapsets.cxx: add a conditional to check get_param's return value,
this also keeps a consistent check of get_param throughout the function

13 years agoPR13037 Make lock blacklist more specific.
Mark Wielaard [Thu, 28 Jul 2011 12:02:09 +0000 (14:02 +0200)]
PR13037 Make lock blacklist more specific.

The dwflpp::build_blacklist() would also match things like _nolock,
block or clock. Be more specific that we want to only match things
like _lock, _unlock, _trylock or seq[un]lock.

13 years agoTwo task_finder cleanups.
David Smith [Wed, 27 Jul 2011 17:32:50 +0000 (12:32 -0500)]
Two task_finder cleanups.

* runtime/task_finder.c: Two cleanup fixes. Merged 2 different state
  variables into 1. Reversed utrace compatibility fix.  Instead of
  making new utrace look like old utrace, made old utrace look like new
  utrace (i.e. use 'utrace_engine' instead of 'utrace_attached_engine').
* runtime/utrace_compatibility.h: Reversed utrace compatibility fix (use
  'utrace_engine' instead of 'utrace_attached_engine').

13 years agoAdd autoconf-ring_buffer_read_prepare.
Mark Wielaard [Wed, 27 Jul 2011 15:21:31 +0000 (17:21 +0200)]
Add autoconf-ring_buffer_read_prepare.

Kernel commit 72c9dd split ring_buffer starting in a prepare and start phase.

13 years agoAdd autoconf-ring_buffer_lost_events.
Mark Wielaard [Wed, 27 Jul 2011 15:08:58 +0000 (17:08 +0200)]
Add autoconf-ring_buffer_lost_events.

Kernel commit 66a8cb added place holder recording of dropped events.

13 years agoMerge branch 'mjw/backtrace'
Mark Wielaard [Wed, 27 Jul 2011 07:38:57 +0000 (09:38 +0200)]
Merge branch 'mjw/backtrace'

13 years agoFix typo in 1.6 release date.
Stan Cox [Tue, 26 Jul 2011 21:43:32 +0000 (17:43 -0400)]
Fix typo in 1.6 release date.

13 years agoAllow gcc to optimize away uprobe_get_pc() calls in some situations.
Mark Wielaard [Tue, 26 Jul 2011 21:31:01 +0000 (23:31 +0200)]
Allow gcc to optimize away uprobe_get_pc() calls in some situations.

If a call is made to the stack-x86.c __stp_stack_print() it might
try to call uprobe_get_pc(). If this is just a kernel backtrace
then uprobes might not be loaded. Add a hint by explicitly clearing
the struct uretprobe_instance *ri variable in that cass in the
calling function _stp_stack_print() in stack.c, so that gcc
optimizes away the uprobe_get_pc() call, so that the symbol isn't
in the module anymore.

Would cause issues like:
WARNING: "uprobe_get_pc" [stap_d46895_3786.ko] undefined!
Error inserting module 'stap_d46895_3786.ko': Unknown symbol in module

13 years agoAdjust expected "no backtrace" string in context/backtrace.tcl test.
Mark Wielaard [Tue, 26 Jul 2011 21:29:48 +0000 (23:29 +0200)]
Adjust expected "no backtrace" string in context/backtrace.tcl test.

The new generic form is now "<no kernel backtrace at PROBEPOINT>".

13 years agoBump the runtime version to 1.7 too
Josh Stone [Tue, 26 Jul 2011 21:17:32 +0000 (14:17 -0700)]
Bump the runtime version to 1.7 too

13 years agoBreak user_int64 64-bit operation into two for arm
William Cohen [Tue, 26 Jul 2011 21:06:08 +0000 (17:06 -0400)]
Break user_int64 64-bit operation into two for arm

Like the i386, the arm processor is also limited to 32-bit oprations.
The user_int64() needs to break the 64-bit access into 32-bit operations.

13 years agoRevert "Break user_int64 64-bit operation into two for arm"
William Cohen [Tue, 26 Jul 2011 21:01:32 +0000 (17:01 -0400)]
Revert "Break user_int64 64-bit operation into two for arm"

This reverts commit 77bfa15c05ae30b5aed520f5587b8ee6b2b1c446.

13 years agoAdd \n at end of debug message in staprun/mainloop.c.
Mark Wielaard [Tue, 26 Jul 2011 20:37:52 +0000 (22:37 +0200)]
Add \n at end of debug message in staprun/mainloop.c.

13 years ago bump version numbers to 1.7, for future release cycle
Stan Cox [Tue, 26 Jul 2011 20:39:33 +0000 (16:39 -0400)]
 bump version numbers to 1.7, for future release cycle

13 years agoBreak user_int64 64-bit operation into two for arm
William Cohen [Tue, 26 Jul 2011 20:15:41 +0000 (16:15 -0400)]
Break user_int64 64-bit operation into two for arm

Like the i386, the arm processor is also limited to 32-bit oprations.
The user_int64() needs to break the 64-bit access into 32-bit operations.

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