]> sourceware.org Git - systemtap.git/log
systemtap.git
15 years agoPR9959: hide tracepoint arguments of unknown type
Josh Stone [Thu, 19 Mar 2009 03:05:56 +0000 (20:05 -0700)]
PR9959: hide tracepoint arguments of unknown type

We always have to know the type name of tracepoint arguments, so we can
declare the right function callback, but we can suppress access to those
types which we don't (yet) know how to read.

15 years agoPR9959: improve tracepoint arg type-naming
Josh Stone [Thu, 19 Mar 2009 02:04:54 +0000 (19:04 -0700)]
PR9959: improve tracepoint arg type-naming

dwarf_type_name now works with more argument types.  There were
three cases that I needed to improve:

- For "const struct foo*", the debuginfo has a const-DIE named "foo"
  chained to a struct-DIE named "foo", so we can't assume that seeing a
  name means we're down to the base type.  The recursion now decends
  until it explicitly sees a base_type, typedef, struct, or union.

- For "void*", the debuginfo has a pointer-DIE without any DW_AT_type
  after.  Now I'm just catching that failed lookup and writing in
  "void".

- For "va_list", the debuginfo actually resolves to an internal type
  "struct __va_list_tag*", but that struct has no declaration at the
  source level.  I'm just hacking that exact case to say "va_list"
  instead, but it would be nice to find something cleaner...

We'll probably still have problems if any tracepoint uses a function-
pointer argument, but so far I've only seen that as a "void*", which we
now handle ok.

15 years agoSupport tracepoints with no arguments
Josh Stone [Thu, 19 Mar 2009 01:51:17 +0000 (18:51 -0700)]
Support tracepoints with no arguments

LTTng has a few tracepoints without any arguments, which caused our
compile to fail, claiming that our entry function was not a declaration.
This just adds an explicit (void) argument list for that case.

15 years agoAdjust systemtap.spec to include the relocated man pages (PR980).
William Cohen [Wed, 18 Mar 2009 20:56:07 +0000 (16:56 -0400)]
Adjust systemtap.spec to include the relocated man pages (PR980).

15 years agoPut man pages from tapset in 3stap (PR9870).
William Cohen [Wed, 18 Mar 2009 20:19:33 +0000 (16:19 -0400)]
Put man pages from tapset in 3stap (PR9870).

15 years agoMake manpager.sh executable.
William Cohen [Wed, 18 Mar 2009 18:47:36 +0000 (14:47 -0400)]
Make manpager.sh executable.

15 years agoFix for spinlock bad magic error with itrace probe point
Maynard Johnson [Wed, 18 Mar 2009 17:59:33 +0000 (12:59 -0500)]
Fix for spinlock bad magic error with itrace probe point

15 years agoDon't mutex_unlock in __stp_tf_get_vma_map_entry_internal.
Mark Wielaard [Wed, 18 Mar 2009 10:42:53 +0000 (11:42 +0100)]
Don't mutex_unlock in __stp_tf_get_vma_map_entry_internal.

All callers of __stp_tf_get_vma_map_entry_internal lock and unlock
the mutex correctly themselves in all cases. This unlock would trigger
a double unlock.

* runtime/task_finder_vma.c (__stp_tf_get_vma_map_entry_internal):
  Don't mutex_unlock(&__stp_tf_vma_mutex).

15 years agominor edit
ddomingo [Wed, 18 Mar 2009 05:45:23 +0000 (15:45 +1000)]
minor edit

15 years agominor edits
ddomingo [Wed, 18 Mar 2009 05:29:19 +0000 (15:29 +1000)]
minor edits

15 years agofinal copy, for review
ddomingo [Wed, 18 Mar 2009 05:29:03 +0000 (15:29 +1000)]
final copy, for review

15 years agoReplace systemtap.samples/ioblocktest.stp with ioblktime.stp.
William Cohen [Tue, 17 Mar 2009 20:45:30 +0000 (16:45 -0400)]
Replace systemtap.samples/ioblocktest.stp with ioblktime.stp.

15 years agoImprove static_uprobes.exp
Stan Cox [Tue, 17 Mar 2009 15:38:08 +0000 (11:38 -0400)]
Improve static_uprobes.exp

* systemtap.base/static_uprobes.exp: Compile with -x c++.  Test .probes absence.

15 years agoGet the canonical path of the main file for comparison at runtime.
Mark Wielaard [Tue, 17 Mar 2009 12:50:33 +0000 (13:50 +0100)]
Get the canonical path of the main file for comparison at runtime.

When given directly by the user through -d or in case of the kernel
name and path might differ. path should be used for matching.

* runtime/sym.h (_stp_module): Add path field.
* runtime/task_finder.c (__stp_tf_vm_cb): Use module path to compare vm_path.
* translate.cxx (dump_unwindsyms): Output canonical path.

15 years agoRemove trailing 'g' from scsi.stp file.
Mark Wielaard [Tue, 17 Mar 2009 11:50:43 +0000 (12:50 +0100)]
Remove trailing 'g' from scsi.stp file.

* tapset/scsi.stp: Remove 'g' at end of file.

15 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
ddomingo [Tue, 17 Mar 2009 05:31:54 +0000 (15:31 +1000)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

15 years agominor edits
ddomingo [Tue, 17 Mar 2009 05:28:43 +0000 (15:28 +1000)]
minor edits

15 years agoworking copy, still existing issues with Description headers, will work on it tom
ddomingo [Tue, 17 Mar 2009 05:28:38 +0000 (15:28 +1000)]
working copy, still existing issues with Description headers, will work on it tom

15 years agominor edits
ddomingo [Tue, 17 Mar 2009 05:14:30 +0000 (15:14 +1000)]
minor edits

15 years agominor edits
ddomingo [Tue, 17 Mar 2009 05:13:23 +0000 (15:13 +1000)]
minor edits

15 years agoworking copy
ddomingo [Tue, 17 Mar 2009 04:43:19 +0000 (14:43 +1000)]
working copy

15 years agofurther cleanup for formatting
ddomingo [Tue, 17 Mar 2009 03:56:21 +0000 (13:56 +1000)]
further cleanup for formatting

15 years agofurther cleanup for formatting
ddomingo [Tue, 17 Mar 2009 03:48:08 +0000 (13:48 +1000)]
further cleanup for formatting

15 years agominor edits
ddomingo [Tue, 17 Mar 2009 03:42:34 +0000 (13:42 +1000)]
minor edits

15 years agominor edits
ddomingo [Tue, 17 Mar 2009 03:42:14 +0000 (13:42 +1000)]
minor edits

15 years agoalmost done, output clean, just a few more improvements
ddomingo [Tue, 17 Mar 2009 03:41:40 +0000 (13:41 +1000)]
almost done, output clean, just a few more improvements

15 years agoAdd pid-based data lookup function.
Wenji Huang [Mon, 16 Mar 2009 22:21:41 +0000 (18:21 -0400)]
Add pid-based data lookup function.

Two functions pid2task and pid2execname.

15 years agoPR9951: Prevent GCC warnings in deref()
Josh Stone [Tue, 17 Mar 2009 01:36:44 +0000 (18:36 -0700)]
PR9951: Prevent GCC warnings in deref()

In some configurations, GCC was warning about a possible use of _v in
the deref macros.  I could not reproduce the error, but the only case
where _v is not written is if lookup_bad_addr rejects the address, in
which case we will hit DEREF_FAULT and _v won't be used.

Now we're priming _v=0 anyway, so GCC has no right to complain...

15 years agoFix regression in tracepoint unregistration
Josh Stone [Tue, 17 Mar 2009 01:13:07 +0000 (18:13 -0700)]
Fix regression in tracepoint unregistration

Commit 96b030fe reorganized the tracepoint registration calls by
creating generic wrappers that return int.  However, the older
tracepoint implementation (as found in RHEL5.3) returned void for unreg,
so this was failing pass-4.

Since we can't handle unregistration failures anyway, this change just
makes the generic unregister function return void instead.  As noted in
the newly-added comment, it should be safe for us to ignore unreg
failures.

15 years agoEdit signal.stp documentation comments.
William Cohen [Mon, 16 Mar 2009 15:27:59 +0000 (11:27 -0400)]
Edit signal.stp documentation comments.

15 years agoAdd workaround for dwfl_module_build_id bug with elfutils < 0.140.
Mark Wielaard [Mon, 16 Mar 2009 13:19:20 +0000 (14:19 +0100)]
Add workaround for dwfl_module_build_id bug with elfutils < 0.140.

* translate.cxx (dump_unwindsyms): Check elfutils version and whether
  build_id_vaddr < base, and if so add main_bias to address.

15 years agoalmost done, script generates man pages of stapprobes based on what we add to Tapset_...
ddomingo [Mon, 16 Mar 2009 08:32:11 +0000 (18:32 +1000)]
almost done, script generates man pages of stapprobes based on what we add to Tapset_Reference_Guide

15 years agominor edits to ensure uniformity in manpage generator
ddomingo [Mon, 16 Mar 2009 06:01:28 +0000 (16:01 +1000)]
minor edits to ensure uniformity in manpage generator

15 years agominor edit
ddomingo [Mon, 16 Mar 2009 05:32:54 +0000 (15:32 +1000)]
minor edit

15 years agominor edits
ddomingo [Mon, 16 Mar 2009 04:23:14 +0000 (14:23 +1000)]
minor edits

15 years agofixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdesc...
ddomingo [Mon, 16 Mar 2009 04:21:52 +0000 (14:21 +1000)]
fixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdescription for man page generator (in development)

15 years agofixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdesc...
ddomingo [Mon, 16 Mar 2009 04:21:52 +0000 (14:21 +1000)]
fixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdescription for man page generator (in development)

15 years agofixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdesc...
ddomingo [Mon, 16 Mar 2009 04:21:52 +0000 (14:21 +1000)]
fixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdescription for man page generator (in development)

15 years agofixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdesc...
ddomingo [Mon, 16 Mar 2009 04:21:51 +0000 (14:21 +1000)]
fixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdescription for man page generator (in development)

15 years agofixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdesc...
ddomingo [Mon, 16 Mar 2009 04:21:51 +0000 (14:21 +1000)]
fixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdescription for man page generator (in development)

15 years agofixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdesc...
ddomingo [Mon, 16 Mar 2009 04:21:51 +0000 (14:21 +1000)]
fixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdescription for man page generator (in development)

15 years agofixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdesc...
ddomingo [Mon, 16 Mar 2009 04:21:51 +0000 (14:21 +1000)]
fixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdescription for man page generator (in development)

15 years agofixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdesc...
ddomingo [Mon, 16 Mar 2009 04:21:51 +0000 (14:21 +1000)]
fixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdescription for man page generator (in development)

15 years agofixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdesc...
ddomingo [Mon, 16 Mar 2009 04:21:51 +0000 (14:21 +1000)]
fixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdescription for man page generator (in development)

15 years agofixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdesc...
ddomingo [Mon, 16 Mar 2009 04:21:51 +0000 (14:21 +1000)]
fixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdescription for man page generator (in development)

15 years agofixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdesc...
ddomingo [Mon, 16 Mar 2009 04:21:50 +0000 (14:21 +1000)]
fixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdescription for man page generator (in development)

15 years agofixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdesc...
ddomingo [Mon, 16 Mar 2009 04:21:50 +0000 (14:21 +1000)]
fixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdescription for man page generator (in development)

15 years agofixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdesc...
ddomingo [Mon, 16 Mar 2009 04:21:50 +0000 (14:21 +1000)]
fixed format of non-grabbable comments (for Tapset Reference Guide), added tapsetdescription for man page generator (in development)

15 years agoadded description for memory tapset
ddomingo [Mon, 16 Mar 2009 04:02:58 +0000 (14:02 +1000)]
added description for memory tapset

15 years agoMove vma module tracking from pr6866 branch to master.
Mark Wielaard [Sun, 15 Mar 2009 14:29:01 +0000 (15:29 +0100)]
Move vma module tracking from pr6866 branch to master.

* tapsets.cxx (utrace_derived_probe_group::emit_module_decls):
  Always emit vm callback probe for __stp_tf_vm_cb.
* runtime/task_finder.c (__stp_tf_vm_cb): Always expose, move _stp_dbug
  statements under ifdef DEBUG_TASK_FINDER_VMA. Find  and record
  corresponding module when vm_path not NULL.
* runtime/task_finder_vma.c (struct __stp_tf_vma_entry): Add _stp_module.
  (stap_add_vma_map_info): Add _stp_module argument and assign.
  (__stp_tf_get_vma_entry_addr): New static function to get
  the __stp_tf_vma_entry given an address.

15 years agoFixups to allow Tapset_Reference_guide documentation to build.
William Cohen [Sat, 14 Mar 2009 12:46:52 +0000 (08:46 -0400)]
Fixups to allow Tapset_Reference_guide documentation to build.

15 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
William Cohen [Sat, 14 Mar 2009 03:13:06 +0000 (23:13 -0400)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

15 years agoAdd missing </para>.
William Cohen [Sat, 14 Mar 2009 03:12:19 +0000 (23:12 -0400)]
Add missing </para>.

15 years agoMove lookup_bad_addr call in STAPCONF_PROBE_KERNEL
Josh Stone [Fri, 13 Mar 2009 23:22:04 +0000 (16:22 -0700)]
Move lookup_bad_addr call in STAPCONF_PROBE_KERNEL

With most of the implementations, kread/kwrite call deref/store_deref,
and so it makes sense to have lookup_bad_addr in the latter as an
underlying address check.

However, in the STAPCONF_PROBE_KERNEL case that uses probe_kernel_read
and probe_kernel_write, the roles are reversed, so lookup_bad_addr needs
to be in kread/kwrite.

Also note that __deref_bad and __store_deref_bad should only be used in
cases that can be determined at compile time.  These turn into invalid
symbols which prevent the module from loading.  (They might be better
replaced with compile-time assertions.)

15 years agoPR9947: move runtime cleanup out of the work queue
Josh Stone [Fri, 13 Mar 2009 00:12:38 +0000 (17:12 -0700)]
PR9947: move runtime cleanup out of the work queue

The kernel lockdep checking found a possible deadlock if a forced rmmod
tried to destroy _stp_work_queue at the same time that the work queue
was unregistering tracepoints.  An unlikely scenario, but still
possible.

Now the work queue will just issue a STP_REQUEST_EXIT down to usermode,
and usermode will echo back an STP_EXIT that triggers the actual probe
cleanup.  This way the unregistrations are happening in exactly the same
context as the registrations were.

15 years agoAdd -ansi -pedantic pair to sdt test.
Mark Wielaard [Fri, 13 Mar 2009 13:54:26 +0000 (14:54 +0100)]
Add -ansi -pedantic pair to sdt test.

* testsuite/systemtap.base/sdt.exp: Add additional_flags -ansi together
  with -pedantic.

15 years agoAdd -O2 and -O3 as extra test flags to sdt.
Mark Wielaard [Fri, 13 Mar 2009 13:49:55 +0000 (14:49 +0100)]
Add -O2 and -O3 as extra test flags to sdt.

* testsuite/systemtap.base/sdt.exp: Add -O2, -O3.

15 years agoIntroduce stap_run3 for distinct test names.
Mark Wielaard [Fri, 13 Mar 2009 13:44:54 +0000 (14:44 +0100)]
Introduce stap_run3 for distinct test names.

* testsuite/lib/stap_run2.exp: Add stap_run3, called from stap_run2.
* testsuite/systemtap.base/sdt.exp: Use stap_run3, for distinct test names.

15 years agoSimplify tracepoint registrations
Josh Stone [Thu, 12 Mar 2009 17:11:59 +0000 (10:11 -0700)]
Simplify tracepoint registrations

Instead of registering tracepoints with the deeply-nested if-tree, which
was cluttering the module_init/exit, this now emits normalized reg/unreg
functions for each tracepoint probes.  Now the module_init/exit can be a
simple loop like all of the other probe types.

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.

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