]> sourceware.org Git - systemtap.git/log
systemtap.git
15 years agoAdd test to compile and run all tracepoints
Josh Stone [Thu, 12 Mar 2009 03:30:58 +0000 (20:30 -0700)]
Add test to compile and run all tracepoints

This checks that kernel.trace("*") will compile, with all context
variables accessed as well.  For kernels without tracepoints, it will
just hit a "begin" and quit.

This doesn't ensure that kernel.trace("*") will always find something
when it should, though...

15 years agoFix @cast module splitting
Josh Stone [Thu, 12 Mar 2009 03:07:22 +0000 (20:07 -0700)]
Fix @cast module splitting

The new semok testcase exposed that the module splitting wasn't properly
setting substr boundaries.  Instead of passing the end position, it's
supposed to pass the number of characters (end - begin).  Oops.

15 years agoAdd simple testcases for @cast
Josh Stone [Thu, 12 Mar 2009 03:07:07 +0000 (20:07 -0700)]
Add simple testcases for @cast

15 years agoimprove sdt.h compatibility and test suite
Frank Ch. Eigler [Thu, 12 Mar 2009 02:11:09 +0000 (22:11 -0400)]
improve sdt.h compatibility and test suite

Replaced cpp VA_ARGS in sdt.h with explicit enumeration of arguments
(since with -pedantic, cpp has no varargs), and added a few more
cflags variants to the sdt.exp test case.

15 years agoPR 7071: Optional $context variables fix
Rajan Arora [Wed, 11 Mar 2009 22:44:21 +0000 (18:44 -0400)]
PR 7071: Optional $context variables fix

* tapsets.cxx (dwarf_var_expanding_visitor::visit_target_symbol):
  Substitute erroneous target symbol with literal 0 if session level
  flag, skip_badvars is set.
* session.h (struct systemtap_session):
  New flag: skip_badvars.
* main.cxx:
  Command line argument --skip-badvars added.
* stap.1.in:
  Entry for new option --skip-badvars.
* NEWS:
  Added blurb for new option now available.
* testsuite/semok/badvar.stp:
  Test case to check added functionality.

15 years agoRun the tests for each member of a list of extra options.
Stan Cox [Wed, 11 Mar 2009 21:37:09 +0000 (17:37 -0400)]
Run the tests for each member of a list of extra options.

* testsuite/systemtap.base/sdt.h: Add extra_flags and g++ as a test language.

15 years ago2009-03-11 Dave Brolley <brolley@redhat.com>
Dave Brolley [Wed, 11 Mar 2009 16:12:16 +0000 (12:12 -0400)]
2009-03-11  Dave Brolley  <brolley@redhat.com>

        PR 9936
        * stap-find-servers (configuration): Set timeout to 10 seconds.
        (find_servers): Run avahi-browse in the background and wait for
        $timeout seconds for it to finish. Kill it if it does not finish.
        Use a temp file for avahi-browse output.
        (match_server): Use -t $timeout on read commands.
        * stap-start-server: Check for $server_pid as a running process and
        for avahi-publish-service running as a child of $server_pid in order
        to confirm that the server is running.

15 years agoMake marker probe support listing mode -L
Wenji Huang [Mon, 9 Mar 2009 14:05:42 +0000 (10:05 -0400)]
Make marker probe support listing mode -L

This patch is to enable displaying the arguments of
marker probe for listing mode -L. The output is like,

$stap -L 'kernel.mark("*")'
kernel.mark("core_marker_format").format("name %s format %s") $arg1:string $arg2:string
kernel.mark("jbd2_checkpoint").format("dev %s need_checkpoint %d") $arg1:string
$arg2:long
kernel.mark("jbd2_end_commit").format("dev %s transaction %d head %d") $arg1:string $arg2:long $arg3:long
kernel.mark("jbd2_start_commit").format("dev %s transaction %d") $arg1:string $arg2:long

Note: It's also possible to figure out the arguments according to the format.

Signed-off-by: Wenji Huang <wenji.huang@oracle.com>
15 years agoMake tracepoint probe support listing mode -L
Wenji Huang [Mon, 9 Mar 2009 12:17:27 +0000 (08:17 -0400)]
Make tracepoint probe support listing mode -L

This patch is to enable displaying arguments of tracepoint
probe in listing mode -L. The example output is like

$stap -L 'kernel.trace("block_bio*")'
kernel.trace("block_bio_bounce") $q:struct request_queue* $bio:struct bio*
kernel.trace("block_bio_backmerge") $q:struct request_queue* $bio:struct bio*
kernel.trace("block_bio_complete") $q:struct request_queue* $bio:struct bio*
kernel.trace("block_bio_queue") $q:struct request_queue* $bio:struct bio*
kernel.trace("block_bio_frontmerge") $q:struct request_queue* $bio:struct bio*

Signed-off-by: Wenji Huang <wenji.huang@oracle.com>
15 years agoMerge branch 'typecast'
Josh Stone [Tue, 10 Mar 2009 22:53:41 +0000 (15:53 -0700)]
Merge branch 'typecast'

15 years agoMerge sequential casts in the vfs tapset
Josh Stone [Tue, 10 Mar 2009 22:51:09 +0000 (15:51 -0700)]
Merge sequential casts in the vfs tapset

A few places in this tapset were using a pattern like this:
  i_sb = @cast(foo, "inode")->i_sb
  return @cast(foo, "super_block")->bar

The type of i_sb is already known, so I just merged this to:
  return @cast(foo, "inode")->i_sb->bar

15 years agoPR9932: use @cast module search path
Josh Stone [Tue, 10 Mar 2009 22:46:21 +0000 (15:46 -0700)]
PR9932: use @cast module search path

The nfs, rpc, and scsi tapsets use @cast on types that may be compiled
into a kernel module or into the main kernel binary.  The @cast search
path separated with colons lets us search both the kernel and the module.

For a couple of cases, I also merged sequential @casts that work just
fine as a single cast with a multiple-level dereference.

15 years agoPR9932: add @cast module search path
Josh Stone [Tue, 10 Mar 2009 22:32:16 +0000 (15:32 -0700)]
PR9932: add @cast module search path

Sometimes @cast()ing can fail if the type needed may or may not be
defined in a kernel module.  This patch lets @cast take a colon-
separated list of modules to search for the type definition.

* tapsets.cxx (dwarf_cast_query): Simplify.  Take the module and
the code result as reference parameters, and use code.empty() as
the sign that the type isn't resolved yet.
(dwarf_cast_expanding_visitor::visit_cast_op): Split e->module by
colon into substrings, and loop until the type is resolved.

15 years agoEnsure args are available for postgres static probes.
Stan Cox [Tue, 10 Mar 2009 21:43:17 +0000 (17:43 -0400)]
Ensure args are available for postgres static probes.

* includes/sys/sdt.h:  Couple asm with its arg declaration.

15 years agoLet -DINTERRUPTIBLE=0 mask interrupts in probes
Josh Stone [Tue, 10 Mar 2009 02:12:02 +0000 (19:12 -0700)]
Let -DINTERRUPTIBLE=0 mask interrupts in probes

Some time ago we loosened up the code for all probe types to allow
interrupts during the handler.  However, when probing something like
kernel.trace("*"), you get a mix of probes in and out of the interrupt
path, and it becomes much more common to have probes skipped due to
interrupt reentrancy.

The common_probe_entryfn_prologue and common_probe_entryfn_epilogue
functions had an interruptible flag, but this was no longer used
anywhere.  I removed this flag, but then reused the logic to check an
INTERRUPTIBLE macro instead.  Now users can use -DINTERRUPTIBLE=0 to
prevent interrupt reentrancy in their script, at the cost of a bit more
overhead to toggle the interrupt mask.

15 years agoFix a few typos in stap(1)
Josh Stone [Tue, 10 Mar 2009 02:10:20 +0000 (19:10 -0700)]
Fix a few typos in stap(1)

15 years agoUse alternate keywords for sdt.h
Stan Cox [Tue, 10 Mar 2009 01:27:30 +0000 (21:27 -0400)]
Use alternate keywords for sdt.h

* include/sys/sdt.h: Initialize args when declaring.  Use alternate keywords.

15 years agoAdd tracepoint $$parms alias for $$vars
Josh Stone [Tue, 10 Mar 2009 00:37:14 +0000 (17:37 -0700)]
Add tracepoint $$parms alias for $$vars

For parity with the DWARF probes, this makes tracepoints also define
$$parms, which has the same value as $$vars (since tracepoints are
missing the concept of $$locals).

15 years agoUpdate location of c->probe_point reset
Josh Stone [Tue, 10 Mar 2009 00:23:05 +0000 (17:23 -0700)]
Update location of c->probe_point reset

The probe_point clear was nested in the overload processing code, I
believe accidentally.  This just makes it always cleared on probe exit.

15 years agoAdd safety checks to _stp_get_register_by_offset()
Josh Stone [Mon, 9 Mar 2009 21:40:24 +0000 (14:40 -0700)]
Add safety checks to _stp_get_register_by_offset()

This now checks that CONTEXT->regs actually exists, and that the
requested offset is in the correct range.

15 years agoPR9935. Fixed stap script typos. arg[5-10] -> $arg[5-10].
Mark Wielaard [Mon, 9 Mar 2009 15:48:13 +0000 (16:48 +0100)]
PR9935. Fixed stap script typos. arg[5-10] -> $arg[5-10].

* testsuite/systemtap.base/sdt.exp: Enable stap_run2 when installtest_p.
* testsuite/systemtap.base/sdt.stp: Fixed all arg to $arg typos.

15 years agoAdd PR9935 number to sdt.exp disabled test.
Mark Wielaard [Mon, 9 Mar 2009 11:55:46 +0000 (12:55 +0100)]
Add PR9935 number to sdt.exp disabled test.

15 years agoAdd new sdt.exp testcase.
Mark Wielaard [Mon, 9 Mar 2009 10:03:55 +0000 (11:03 +0100)]
Add new sdt.exp testcase.

* testsuite/systemtap.base/sdt.exp: New test file.
* testsuite/systemtap.base/sdt.stp: Likewise.
* testsuite/systemtap.base/sdt.c: Likewise.

15 years agoInclude sys/types.h in sdt.h for __uint64_t.
Mark Wielaard [Mon, 9 Mar 2009 09:40:08 +0000 (10:40 +0100)]
Include sys/types.h in sdt.h for __uint64_t.

* includes/sys/sdt.h: Add #include <sys/types.h>.

15 years agoPut statements after declaration in sdt macros. Fix arg10 assignment.
Mark Wielaard [Sun, 8 Mar 2009 23:15:23 +0000 (00:15 +0100)]
Put statements after declaration in sdt macros. Fix arg10 assignment.

* includes/sys/sdt.h: Assign args, after declaration.

15 years agoOnly use plain C comments in sdt.h.
Mark Wielaard [Sun, 8 Mar 2009 22:49:05 +0000 (23:49 +0100)]
Only use plain C comments in sdt.h.

includes/sys/sdt.h: Replace c++ comments with plain C comments.

15 years agoMake stap_run2 count exact number of lines.
Mark Wielaard [Sun, 8 Mar 2009 22:23:35 +0000 (23:23 +0100)]
Make stap_run2 count exact number of lines.

* testsuite/lib/stap_run2.exp: Compare found and expected number of lines.
* testsuite/systemtap.*/*.exp (result_string): Make number of lines exact.

15 years agoRemove extra semi-colons from defines in sdt.h.
Mark Wielaard [Sun, 8 Mar 2009 19:56:18 +0000 (20:56 +0100)]
Remove extra semi-colons from defines in sdt.h.

* includes/sys/sdt.h (STAP_PROBE_STRUCT_ARG): Remove ending semi-colon.
  (STAP_LABEL_REF): Likewise.

15 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
ddomingo [Mon, 9 Mar 2009 08:49:41 +0000 (18:49 +1000)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

15 years agotracepoint probes: clear session derived_probe_groups pointer in ctor to avoid SEGV
Frank Ch. Eigler [Mon, 9 Mar 2009 02:30:30 +0000 (22:30 -0400)]
tracepoint probes: clear session derived_probe_groups pointer in ctor to avoid SEGV

15 years agoCheck pending_interrupts more frequently during unwindsyms (pass 3) processing
Frank Ch. Eigler [Mon, 9 Mar 2009 02:30:03 +0000 (22:30 -0400)]
Check pending_interrupts more frequently during unwindsyms (pass 3) processing

15 years agoAdapt to linux-next commit changing __alloc_percpu API.
Frank Ch. Eigler [Mon, 9 Mar 2009 02:28:03 +0000 (22:28 -0400)]
Adapt to linux-next commit changing __alloc_percpu API.

After linux-next commit f2a8205c, it takes two parameters again,
so we autoconf for it rather than use KERNEL_VERSION ifdefs.

15 years agoadded commenting/documentation guidelines
ddomingo [Mon, 9 Mar 2009 01:10:13 +0000 (11:10 +1000)]
added commenting/documentation guidelines

15 years agoMinor changes to labels.exp.
Stan Cox [Mon, 9 Mar 2009 00:17:10 +0000 (20:17 -0400)]
Minor changes to labels.exp.

15 years agoFix and add tests for function(".so").statement(N)
Stan Cox [Sun, 8 Mar 2009 23:55:05 +0000 (19:55 -0400)]
Fix and add tests for function(".so").statement(N)

* tapsets.cxx (query_dwarf_func): die_has_pc (dwarf_haspc) does not expect a
module_start for shared objects so don't call module_address_to_global for the
statement address.
* testsuite/systemtap.base/labels.exp: Add tests for executable .statement(N),
shared object .label("L") and so .statement(N).

15 years agoPR9930: reentrancy debugging
Frank Ch. Eigler [Sat, 7 Mar 2009 22:00:54 +0000 (17:00 -0500)]
PR9930: reentrancy debugging

 If stap is run with "-t -DDEBUG_REENTRANCY", additional warnings will
 be printed for every reentrancy event, including the probe points of
 the resident and interloper probes.

 * tapsets.cxx (common_probe_entryfn_prologue): Add "new_pp" argument,
 update all callers.  Print reentrancy details if needed.

15 years agoAdd placeholder for new news
Frank Ch. Eigler [Sat, 7 Mar 2009 21:42:57 +0000 (16:42 -0500)]
Add placeholder for new news

15 years agoTweak tracepoint logic to run on tracepoint_synchronize_unregister()-less RHEL5
Frank Ch. Eigler [Sat, 7 Mar 2009 17:11:45 +0000 (12:11 -0500)]
Tweak tracepoint logic to run on tracepoint_synchronize_unregister()-less RHEL5

15 years agoMerge branch 'tracepoints'
Josh Stone [Sat, 7 Mar 2009 03:43:28 +0000 (19:43 -0800)]
Merge branch 'tracepoints'

15 years agoDocument TRACEPOINTS in stapprobes(5)
Josh Stone [Sat, 7 Mar 2009 03:36:05 +0000 (19:36 -0800)]
Document TRACEPOINTS in stapprobes(5)

15 years agoEnsure tracepoints are synchronized after unreg
Josh Stone [Sat, 7 Mar 2009 03:30:39 +0000 (19:30 -0800)]
Ensure tracepoints are synchronized after unreg

The tracepoint API provides tracepoint_synchronize_unregister() as a way
to guarantee that all tracepoint handlers are inactive.  This is
necessary after unregistering to allow the module to safely unload.

* tapsets.cxx (tracepoint_derived_probe_group::emit_module_init):
Call synchronize after unregistering tracepoints.
(tracepoint_derived_probe_group::emit_module_exit): Ditto.

15 years agoSupport older tracepoints using DEFINE_TRACE
Josh Stone [Fri, 6 Mar 2009 23:44:50 +0000 (15:44 -0800)]
Support older tracepoints using DEFINE_TRACE

At one point, the tracepoints API didn't have DECLARE_TRACE, and the
trace headers all used DEFINE_TRACE.  This is what got pulled into RHEL,
so we need to support this older usage.  The rest of the API stays the
same though.

* buildrun.cxx (make_tracequery): Redefine DEFINE_TRACE as well.

15 years agoEnable tracepoint target variables
Josh Stone [Thu, 5 Mar 2009 05:07:54 +0000 (21:07 -0800)]
Enable tracepoint target variables

This uses a similar mechanism as marker probes for storing target
variables in locals of the probe body.

* tapsets.cxx (tracepoint_arg): Add fields to help $target access.
(tracepoint_var_expanding_visitor): Expand code to access target
variables - a $target for each tracepoint parameter, as well as
the special $$name and $$vars.
(tracepoint_derived_probe::tracepoint_derived_probe): Expand targets
(resolve_tracepoint_arg_type): Determine if a parameter is a type
that we can dereference, and store the underlying type.
(tracepoint_derived_probe::build_args): Resolve the types.
(tracepoint_derived_probe::emit_probe_context_vars): Emit $target
placeholders into the locals of the probe body.
(tracepoint_derived_probe_group::emit_module_decls): Initialize
$targets from the entry point parameters.

15 years agoEmit code to hook up tracepoint probes
Josh Stone [Thu, 5 Mar 2009 04:32:22 +0000 (20:32 -0800)]
Emit code to hook up tracepoint probes

* tapsets.cxx (tracepoint_arg): New
(tracepoint_derived_probe): Add declaring header name and arg vector
(dwarf_type_name): Build a type string for a given type DIE
(tracepoint_derived_probe::build_args): Scan the function DIE for
the name and type of formal parameters required by the tracepoint.
(tracepoint_derived_probe::tracepoint_derived_probe): Call
build_args and determine the relevant header to include.
(tracepoint_derived_probe_group::emit_module_decls): For each
tracepoint, include its header and declare a probe entry point with
the right function signature.
(tracepoint_derived_probe_group::emit_module_init): Call the
registration for each tracepoint, and handle error unwinding.
(tracepoint_derived_probe_group::emit_module_exit): Unregister each.

15 years agoBuild skeleton tracepoint probes
Josh Stone [Thu, 5 Mar 2009 04:17:38 +0000 (20:17 -0800)]
Build skeleton tracepoint probes

* tapsets.cxx (tracepoint_derived_probe): Create a skeleton probe
(tracepoint_derived_probe_group): Create a skeleton group
(tracepoint_query::handle_query_func): build a probe

15 years agoScan tracequery.ko for tracepoints
Josh Stone [Thu, 5 Mar 2009 03:56:02 +0000 (19:56 -0800)]
Scan tracequery.ko for tracepoints

* tapsets.cxx (tracepoint_query): Iterate over the modules, CUs, and
functions in tracequery.ko looking for our hijacked tracepoint
declarations.
(tracepoint_builder::build): Run a tracepoint_query

15 years agoBuild tracequery to scan for tracepoints
Josh Stone [Thu, 5 Mar 2009 03:32:25 +0000 (19:32 -0800)]
Build tracequery to scan for tracepoints

* session.h (systemtap_session): add tracepoint_derived_probes
* buildrun.cxx (make_tracequery): New - builds a kernel module that
hijacks the tracepoint declarations, so we can query debuginfo.
* buildrun.h: declare above
* tapsets.cxx (tracepoint_builder): New builder for tracepoint
probes.  For now it just handles the initialization to build the
tracequery kernel module.

15 years agoMake iterate_over_functions work with base_querys
Josh Stone [Thu, 5 Mar 2009 02:51:28 +0000 (18:51 -0800)]
Make iterate_over_functions work with base_querys

* tapsets.cxx (dwflpp::iterate_over_functions): Change arg from
void* to base_query*, and add explicit function-search parameters.
(query_cu): update caller
(query_dwarf_func): update callback signature

(Note: instead of passing around callback functions, it might be nicer
to use a virtual method in base_query...)

15 years agoUpdate AUTHORS
Josh Stone [Sat, 7 Mar 2009 00:27:21 +0000 (16:27 -0800)]
Update AUTHORS

15 years agoSTAP_PROBE takes no extra arguments.
Mark Wielaard [Fri, 6 Mar 2009 18:21:44 +0000 (19:21 +0100)]
STAP_PROBE takes no extra arguments.

* includes/sys/sdt.h (STAP_PROBE): Don't add __VA_ARGS__.

15 years agoCreate unique named labels.
Stan Cox [Fri, 6 Mar 2009 12:37:56 +0000 (07:37 -0500)]
Create unique named labels.

* includes/sys/sdt.h (STAP_PROBEN_): New macros that take
advantage of __COUNTER__

15 years agoPR9871: use @cast in tapset
Wenji Huang [Fri, 6 Mar 2009 05:16:50 +0000 (00:16 -0500)]
PR9871: use @cast in tapset

Rewrite some functions using type casting to
get rid of embedded C code in nfs, scsi, signal,
socket, rpc, task and vfs tapset.

Signed-off-by: Wenji Huang <wenji.huang@oracle.com>
15 years agoadded more content for tapset dev
ddomingo [Fri, 6 Mar 2009 04:57:12 +0000 (14:57 +1000)]
added more content for tapset dev

15 years agoadded markers, for publicanization purposes
ddomingo [Thu, 5 Mar 2009 05:21:29 +0000 (15:21 +1000)]
added markers, for publicanization purposes

15 years agonew intro, tapset dev guide
ddomingo [Thu, 5 Mar 2009 05:21:10 +0000 (15:21 +1000)]
new intro, tapset dev guide

15 years agoMake session.module_cache init more consistently
Josh Stone [Thu, 5 Mar 2009 02:32:54 +0000 (18:32 -0800)]
Make session.module_cache init more consistently

We used to check & init module_cache in a few inconsistent places.  Now
it is always handled in dwflpp::setup_user/setup_kernel.

* tapsets.cxx (dwflpp::setup_user): add module_cache check
(dwarf_builder::build): remove module_cache check
(dwarf_cast_expanding_visitor::visit_cast_op): ditto

15 years agoremoves marked range of strings (intro) and replaces with Intro and Tapset Dev Guide
ddomingo [Thu, 5 Mar 2009 05:20:24 +0000 (15:20 +1000)]
removes marked range of strings (intro) and replaces with Intro and Tapset Dev Guide

15 years agoadded invisible marker for publican
ddomingo [Thu, 5 Mar 2009 03:26:46 +0000 (13:26 +1000)]
added invisible marker for publican

15 years agochange to fedora, add README for more info
ddomingo [Thu, 5 Mar 2009 01:23:00 +0000 (11:23 +1000)]
change to fedora, add README for more info

15 years agochange to fedora
ddomingo [Thu, 5 Mar 2009 01:22:27 +0000 (11:22 +1000)]
change to fedora

15 years agoadd other required XMLs
ddomingo [Thu, 5 Mar 2009 00:58:01 +0000 (10:58 +1000)]
add other required XMLs

15 years agoadd images
ddomingo [Thu, 5 Mar 2009 00:56:39 +0000 (10:56 +1000)]
add images

15 years agoadd Makefile
ddomingo [Thu, 5 Mar 2009 00:54:46 +0000 (10:54 +1000)]
add Makefile

15 years agofunction instead of (sfunction)
ddomingo [Thu, 5 Mar 2009 00:53:35 +0000 (10:53 +1000)]
function instead of (sfunction)

15 years agoadded other required files
ddomingo [Wed, 4 Mar 2009 23:30:34 +0000 (09:30 +1000)]
added other required files

15 years agoFix typo in kernel version check 2.6.21 -> 2.6.11 in inet_sock.
Mark Wielaard [Wed, 4 Mar 2009 13:23:40 +0000 (14:23 +0100)]
Fix typo in kernel version check 2.6.21 -> 2.6.11 in inet_sock.

* tapset/inet_sock.stp (inet_get_local_port): Fix kernel version check.
  (inet_get_ip_source): Likewise.

15 years agostap autoconf test for kernel stack trace support
Tim Moore [Wed, 4 Mar 2009 10:56:45 +0000 (11:56 +0100)]
stap autoconf test for kernel stack trace support

* buildrun.cxx (compile_pass): Add autoconf line for stack trace
test, which defines STAPCONF_KERNEL_STACKTRACE.
* runtime/autoconf-save-stack-trace.c: New file.
* runtime/stack.c : Use STAPCONF_KERNEL_STACKTRACE instead of
tests for kernel configuration and versions.
* runtime/stack-i386.c : ditto
* runtime/stack-x86_64.c : ditto

15 years agoPR9919: Set last_stmt for array (scalar or statistical) assignments.
Mark Wielaard [Wed, 4 Mar 2009 10:55:56 +0000 (11:55 +0100)]
PR9919: Set last_stmt for array (scalar or statistical) assignments.

* translate.cxx (visit_arrayindex): Update last_stmt.

15 years agochange stap-report to a plain /bin/sh script; support dkpg in addition to rpm
Frank Ch. Eigler [Wed, 4 Mar 2009 01:48:20 +0000 (20:48 -0500)]
change stap-report to a plain /bin/sh script; support dkpg in addition to rpm

15 years agoSearch for a label instead of an address for .so static probes.
Stan Cox [Tue, 3 Mar 2009 22:55:37 +0000 (17:55 -0500)]
Search for a label instead of an address for .so static probes.

* tapsets.cxx (dwflpp::build): Use .label for .so instead of .statement(N)

15 years agoThis patch updates the itrace code to support the new utrace interface.
Maynard Johnson [Tue, 3 Mar 2009 22:41:48 +0000 (16:41 -0600)]
This patch updates the itrace code to support the new utrace interface.
It also adds a private copy of access_process_vm to runtime/itrace.c
since that function is not consistently exported by all distros.

15 years agoPR9875: Remove sduprobes
Wenji Huang [Tue, 3 Mar 2009 07:58:37 +0000 (02:58 -0500)]
PR9875: Remove sduprobes

Impact: cleanup
Since sdt.h is in git tree, sduprobes is no longer needed.

* Makefile.am: Remove sduprobes.
* Makefile.in: Regenerated.
* doc/Makefile.in: Ditto.
* runtime/sduprobes.c: Removed.

Signed-off-by: Wenji Huang <wenji.huang@oracle.com>
15 years agoAllow the same static user probe to be used multiple times per line.
Stan Cox [Tue, 3 Mar 2009 02:38:26 +0000 (21:38 -0500)]
Allow the same static user probe to be used multiple times per line.

* dtrace (provider): Add STAP_PROBE10.
* includes/sys/sdt.h: Likewise.  Convert labels to __label__

15 years agoadded publicanizer for langref
ddomingo [Mon, 2 Mar 2009 01:54:01 +0000 (11:54 +1000)]
added publicanizer for langref

15 years agominor revision, added tag
ddomingo [Mon, 2 Mar 2009 01:40:44 +0000 (11:40 +1000)]
minor revision, added tag

15 years agoMerge branch 'master' of git+ssh://sources.redhat.com/git/systemtap
Eugeniy Meshcheryakov [Sat, 28 Feb 2009 19:15:39 +0000 (20:15 +0100)]
Merge branch 'master' of git+ssh://sources.redhat.com/git/systemtap

15 years agoUse @cast where possible for examining inet_sock.
Mark Wielaard [Fri, 27 Feb 2009 14:16:52 +0000 (15:16 +0100)]
Use @cast where possible for examining inet_sock.

* tapset/inet_sock.stp: Remove includes.
  (inet_get_local_port): No embedded C, use @cast.
  (inet_get_ip_source): Likewise.
  (daddr_to_string): New function, still some embedded C used.

15 years agoRemove unnecessary embedded C include.
Mark Wielaard [Fri, 27 Feb 2009 12:31:25 +0000 (13:31 +0100)]
Remove unnecessary embedded C include.

* tapset/networking.stp: Remove include.

15 years agoGuard _struct_sigaction32_u with ifdef CONFIG_COMPAT.
Mark Wielaard [Wed, 25 Feb 2009 16:11:51 +0000 (17:11 +0100)]
Guard _struct_sigaction32_u with ifdef CONFIG_COMPAT.

* tapset/aux_syscalls.stp (_struct_sigaction_u): Only needed and compiles
  when CONFIG_COMPAT defined.

15 years agoPR9896: Fix SystemTap build on Ubuntu Intrepid.
Ananth N Mavinakayanahalli [Wed, 25 Feb 2009 10:18:50 +0000 (15:48 +0530)]
PR9896: Fix SystemTap build on Ubuntu Intrepid.

The gcc on Ubuntu doesn't like fprintf() without format arguments

15 years agoSkip generating empty struct global
Wenji Huang [Wed, 25 Feb 2009 02:36:32 +0000 (21:36 -0500)]
Skip generating empty struct global

Impact: trivial cleanup.

Avoid emitting empty struct global code that is harmless.

Signed-off-by: Wenji Huang <wenji.huang@oracle.com>
15 years agoMerge branch 'master' of git+ssh://sources.redhat.com/git/systemtap
Eugeniy Meshcheryakov [Tue, 24 Feb 2009 14:48:31 +0000 (15:48 +0100)]
Merge branch 'master' of git+ssh://sources.redhat.com/git/systemtap

15 years agoAdjust extra_offset address against module base.
Mark Wielaard [Tue, 24 Feb 2009 10:04:00 +0000 (11:04 +0100)]
Adjust extra_offset address against module base.

* translate.cxx (dump_unwindsyms): Adjust extra_offset always
against module base as workaround for buggy elfutils < 0.138.

15 years agoFix the syscall tapset for architectures using SYSCALL_WRAPPERS
Ananth N Mavinakayanahalli [Tue, 24 Feb 2009 03:12:41 +0000 (08:42 +0530)]
Fix the syscall tapset for architectures using SYSCALL_WRAPPERS

15 years agoMerge branch 'gtod'
Josh Stone [Mon, 23 Feb 2009 23:10:13 +0000 (15:10 -0800)]
Merge branch 'gtod'

15 years agoAdd a testcase for gtod init/kill
Josh Stone [Mon, 23 Feb 2009 23:08:02 +0000 (15:08 -0800)]
Add a testcase for gtod init/kill

This test simply checks that _gettimeofday_init and _gettimeofday_kill
are pulled in when gettimeofday is used, and also that they are NOT
pulled in when gettimeofday is not used.

15 years agoAdd selective use of _stp_time_init/kill (PR9822)
Josh Stone [Mon, 23 Feb 2009 22:22:38 +0000 (14:22 -0800)]
Add selective use of _stp_time_init/kill (PR9822)

Our gettimeofday runtime has frequent wakeups to stay in sync with
kernel time, but this is wasted effort if gettimeofday is not used in
the script.  This patch moves the calls to _stp_time_init and
_stp_time_kill into begin and end/error probes, which only get pulled in
if one of the gettimeofday variants is called.

15 years agoImprove static probe: c++ navigation, -l output.
Stan Cox [Mon, 23 Feb 2009 22:14:52 +0000 (17:14 -0500)]
Improve static probe: c++ navigation, -l output.

* tapsets.cxx (dwflpp::build): Improve c+ method navigation.
Use .label for listing mode.
* systemtap.base/static_uprobes.exp: Test multiple invocations of the same
probe per block. (SW9770)

15 years agoCheck whether a die has any children before iterating over it.
Mark Wielaard [Mon, 23 Feb 2009 17:23:41 +0000 (18:23 +0100)]
Check whether a die has any children before iterating over it.

* tapsets.cxx (iterate_over_cu_labels): Check dwarf_child result.

15 years agoMade probe_start()/probe_exit() function definitions match their declarations.
David Smith [Mon, 23 Feb 2009 15:45:24 +0000 (09:45 -0600)]
Made probe_start()/probe_exit() function definitions match their declarations.
2009-02-23  David Smith  <dsmith@redhat.com>

        * translate.cxx (translate_pass): Made probe_start()/probe_exit()
        function definitions match their declarations.

15 years agodrop Core from Fedora name
Dan Horak [Mon, 23 Feb 2009 13:55:30 +0000 (14:55 +0100)]
drop Core from Fedora name

15 years agoDon't include unused libebl.h
Eugeniy Meshcheryakov [Mon, 23 Feb 2009 13:53:24 +0000 (14:53 +0100)]
Don't include unused libebl.h

15 years agomake all examples executable
Eugeniy Meshcheryakov [Sat, 21 Feb 2009 19:59:24 +0000 (20:59 +0100)]
make all examples executable

15 years agoRemove STAPCONF_CFLAGS from the generated Makefile
Josh Stone [Sat, 21 Feb 2009 01:23:02 +0000 (17:23 -0800)]
Remove STAPCONF_CFLAGS from the generated Makefile

This was leftover from my initial draft of autoconf caching.
It's not used at all anymore...

15 years agoAdjust ET_DYN symbol addresses against module base.
Mark Wielaard [Fri, 20 Feb 2009 23:40:23 +0000 (00:40 +0100)]
Adjust ET_DYN symbol addresses against module base.

* translate.cxx (dump_unwindsyms): Adjust sym_addr for ET_DYN always
 against module base as workaround for buggy elfutils < 0.138.

15 years agoMerge branch 'master' of git://sources.redhat.com/git/systemtap
Dave Brolley [Fri, 20 Feb 2009 21:59:54 +0000 (16:59 -0500)]
Merge branch 'master' of git://sources.redhat.com/git/systemtap

15 years agoCheck for required resources and tools before attempting tests using the client/server.
Dave Brolley [Fri, 20 Feb 2009 21:58:57 +0000 (16:58 -0500)]
Check for required resources and tools before attempting tests using the client/server.
Ensure that tests run with/without the server have unique names.

15 years agoBetter <linux/debugfs.h> header file inclusion.
David Smith [Fri, 20 Feb 2009 19:11:34 +0000 (13:11 -0600)]
Better <linux/debugfs.h> header file inclusion.
2009-02-20  David Smith  <dsmith@redhat.com>

        * debugfs.c: Added inclusion of linux/debugfs.h.
        * relayfs.h: Removed inclusion of linux/debugfs.h.

15 years agoMerge branch 'master' of git://sources.redhat.com/git/systemtap
Dave Brolley [Fri, 20 Feb 2009 17:30:28 +0000 (12:30 -0500)]
Merge branch 'master' of git://sources.redhat.com/git/systemtap

Conflicts:

ChangeLog
testsuite/ChangeLog

15 years agoNew basic tests for client/server.
Dave Brolley [Fri, 20 Feb 2009 17:25:59 +0000 (12:25 -0500)]
New basic tests for client/server.

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