]> sourceware.org Git - systemtap.git/log
systemtap.git
14 years agoFixed BZ634242 for older kernels.
David Smith [Mon, 4 Oct 2010 20:46:38 +0000 (15:46 -0500)]
Fixed BZ634242 for older kernels.

* runtime/uprobes/uprobes.c (uprobe_report_clone): If two processes are
  are sharing the same memory space (CLONE_VM) don't remove probes, since
  that will remove the probes from both processes.

14 years agoPR12081: Name procfs buffers based on a local index
Josh Stone [Mon, 4 Oct 2010 19:26:30 +0000 (12:26 -0700)]
PR12081: Name procfs buffers based on a local index

We shouldn't use probe->name for the buffers, as that name is not
necessarily unique after our probe de-duplication efforts.  Instead, we
can use a simple index variable to get a unique name for each procfs probe.

* tapset-procfs.cxx (procfs_derived_probe_group::emit_module_decls):
  Declare and use the buffers with a name based on a simple index.

14 years agoUpdated syscall coverage script.
David Smith [Mon, 4 Oct 2010 15:53:17 +0000 (10:53 -0500)]
Updated syscall coverage script.

* testsuite/systemtap.syscall/coverage.tcl: Updated.

14 years agoSmall kprobes_test updates.
David Smith [Mon, 4 Oct 2010 15:45:36 +0000 (10:45 -0500)]
Small kprobes_test updates.

* scripts/kprobes_test/run_module.py: Improved waiting on spawned load
  commands.  Makes 30 attempts to find output (instead of trying
  forever).
* scripts/kprobes_test/.gitignore: Ignore 'Module.markers' file and config
  files.
* scripts/kprobes_test/kprobes_test.py: Minor update.

14 years agoMake syscall.mmap32 provide same convenience variables as syscall.mmap.
David Smith [Mon, 4 Oct 2010 15:35:11 +0000 (10:35 -0500)]
Make syscall.mmap32 provide same convenience variables as syscall.mmap.

* tapset/x86_64/syscalls.stp (syscall.mmap32): Provides same convenience
  variables as syscall.mmap.
* testsuite/buildok/syscalls-arch-detailed.stp: Updated test.

14 years agoReplace kretprobe->entry_ph with a full stap_probe
Josh Stone [Fri, 1 Oct 2010 23:41:19 +0000 (16:41 -0700)]
Replace kretprobe->entry_ph with a full stap_probe

This ensures that pp, pn, and STP_TIMING can be kept distinct for entry
handlers vs. their normal kretprobe handlers.

* tapsets.cxx (dwarf_derived_probe_group::emit_module_decls): Replace
  entry_ph with entry_probe, pointing to the global stap_probes[], and
  update all references.

14 years agoCentralize stap_probe, and make STP_TIMING data-driven
Josh Stone [Fri, 1 Oct 2010 22:47:45 +0000 (15:47 -0700)]
Centralize stap_probe, and make STP_TIMING data-driven

With the move to per-probe_point STP_TIMING statistics, the design which
wrote a separate code block for every Stat suddenly ran into scalability
issues.  We should instead be using a data-driven loop for this.

So, the scattered stap_probe structs are now pulled together in one
global, stap_probes[].  This contains the usual suspects: ph, pp, and pn;
it also keeps the extras that STP_TIMING needs: a Stat, the script
location, and the derivation record.

* translate.cxx (translate_pass): Add the STP_TIMING data to stap_probe,
  and output the global stap_probes[] with everything.
  (c_unparser::emit_module_init): Iterate the timing init at runtime.
  (c_unparser::emit_module_exit): Iterate the timing output at runtime.
* tapsets.cxx (common_probe_init): Just return the right global stap_probe*
* tapset*.cxx, runtime/*: Make pointers of all stap_probe's, and make
  the s/\./->/ change where needed too.
* elaborate.cxx (derived_probe::derived_locations): New, gives a string
  reporting the derivation steps which reached this probe point.

14 years agoFixed BZ634242 by always looking up pids in the global namespace.
David Smith [Fri, 1 Oct 2010 17:56:54 +0000 (12:56 -0500)]
Fixed BZ634242 by always looking up pids in the global namespace.

* runtime/uprobes2/uprobes.c (uprobe_get_tg_leader): Always look up the
  pid in the global pid namespace.  From Roland McGrath
  <roland@redhat.com>
  (uprobe_fork_uproc): Ditto.  From Roland McGrath <roland@redhat.com>
  (uprobe_report_clone): If two processes are are sharing the same memory
  space (CLONE_VM) don't remove probes, since that will remove the probes
  from both processes.
* tapsets.cxx (emit_module_exit): Make sure we always look up pids
  in the global pid namespace, not in any private pid namespace.
* runtime/uprobes-common.c (stap_uprobe_change_plus): Ignore EEXIST
  errors.

14 years agoEscape backslash to push through tcl.
Stan Cox [Fri, 1 Oct 2010 01:43:47 +0000 (21:43 -0400)]
Escape backslash to push through tcl.

xulrunner.exp (run_tests):  Escape backslashes.

14 years agoPR10812: activate build-id relocation code only for module("...")
Frank Ch. Eigler [Fri, 1 Oct 2010 01:45:14 +0000 (21:45 -0400)]
PR10812: activate build-id relocation code only for module("...")

The relocation-basis can be null or something else for
user-space executables etc.

* translate.cxx (dump_unwindsyms): Skip build-id relocation for
  modname /FOO.

14 years agoImprove the derivation output of STP_TIMING
Josh Stone [Wed, 29 Sep 2010 20:51:30 +0000 (13:51 -0700)]
Improve the derivation output of STP_TIMING

We can't assume location[0] from the probes in the derivation chain, as
it may include e.g. an alias with multiple expansions.  Instead, a new
"base_pp" member tracks which probe_point actually led to each step of
the derivation.

* elaborate.cxx (derived_probe::derived_probe): Remember the unmodified
  probe_point as base_pp, esp. before any components are rewritten.
  (derived_probe::collect_derivation_pp_chain): New, collect base_pp.
* translate.cxx (c_unparser::emit_module_exit): Use the pp chain in
  STP_TIMING output.

14 years agoStandardize how derived_probes dupe their location
Josh Stone [Wed, 29 Sep 2010 20:36:51 +0000 (13:36 -0700)]
Standardize how derived_probes dupe their location

A few of the derived_probe subclasses make duplicates of their
probe_point so they can rewrite it to something more specific.  This
patch standardizes that behavior.

It also fixes kprobe_derived_probe and hwbkpt_derived_probe, which were
rewriting components without making a copy first.

14 years agoRemove the derived_probe ctor lacking a probe_point
Josh Stone [Wed, 29 Sep 2010 19:45:40 +0000 (12:45 -0700)]
Remove the derived_probe ctor lacking a probe_point

In practice, our derived_probes always have a specific probe_point that
they originate from, so don't let it be omitted.

14 years agoBump xulrunner.exp to 1.9.2rc1
Stan Cox [Wed, 29 Sep 2010 19:13:50 +0000 (15:13 -0400)]
Bump xulrunner.exp to 1.9.2rc1

xulrunner.exp: Push xulrelease to 1.9.2rc1.  Change to new xulrunner javascript
testing harness.

14 years agoPR10812: undo +20 build-id address offsetting
Frank Ch. Eigler [Wed, 29 Sep 2010 16:53:37 +0000 (12:53 -0400)]
PR10812: undo +20 build-id address offsetting

With the new relocation code, this does occasionally cause addresses
to spill over into the next section, leading to unexpected relocation
bases.

* runtime/sym.c (_stp_module_check): Remove the build_id_len
  subtraction.  Provide diagnostics on unexpected addresses/names.
* translate.cxx (dump_unwindsyms): Likewise.

14 years agoPR10812: relocate module build-id
Tony Jones [Wed, 29 Sep 2010 16:47:52 +0000 (12:47 -0400)]
PR10812: relocate module build-id

Relocate the build_id_vaddr obtained from dwfl_module_build_id.  Failure to
do this was causing ppc64 systems to fail the build-id check for cases such as:

probe module("libata").function("*").call {
  printf ("%s\n", probefunc())
}

Signed-off-by: Tony Jones <tonyj@suse.de>
14 years agoAllow de-duping in spite of STP_TIMING
Josh Stone [Tue, 28 Sep 2010 21:41:37 +0000 (14:41 -0700)]
Allow de-duping in spite of STP_TIMING

To enable this, we can use a Stat pointer in the same place we keep the
individual pp data, so now even when the probe body is shared, separate
timing data is kept.

* elaborate.h (derived_probe): Add a "real" name which is unchanging,
  unlike the regular name that may face de-duping.
* tapsets.cxx (common_probe_init): Use the "real" name for timing data.
  (common_probe_entryfn_prologue): Use a local stat instead of
  CONTEXT->statp, and initialize it from the probe data.
  (common_probe_entryfn_epilogue): Also use the local stat.
* translate.cxx (c_unparser::emit_common_header): Remove statp, and
  don't use any timing anti-dupe.
  (c_unparser::emit_module_init): Timing globals are now based on the
  "real" probe names.
  (c_unparser::emit_module_exit): Ditto.
  (c_unparser::emit_probe): No more timing anti-dupe.
  (translate_pass): Declare the new global timing struct, and point to
  it accordingly in STAP_PROBE_INIT.

14 years agoSimplify the '?' removal for STP_TIMING
Josh Stone [Fri, 24 Sep 2010 22:16:36 +0000 (15:16 -0700)]
Simplify the '?' removal for STP_TIMING

Add a new flag to probe_point::print() so the extra details can be
avoided.  This skips '?', '!', and any conditionals as well.

* staptree.cxx (probe_point::print): Make the extras optional.
  (probe_point::str): Pass along the choice of extras.
* translate.cxx (c_unparser::emit_module_exit): Let the print routine
  skip the extra flags, rather than trying to strip them out manually.

14 years agoSTP_TIMING indent/whitespace cleanup
Josh Stone [Fri, 24 Sep 2010 21:54:54 +0000 (14:54 -0700)]
STP_TIMING indent/whitespace cleanup

14 years agoFix SDTv2 with separate debuginfo
Josh Stone [Tue, 28 Sep 2010 22:41:52 +0000 (15:41 -0700)]
Fix SDTv2 with separate debuginfo

We had a case where the ".probes" section was found in the main binary,
but then sdt_query::init_probe_scn got its Elf* by looking first via the
debuginfo and then falling back to the executable.  So when we got the
raw data pointer, it was using the wrong Elf* for that section.

This fix is to let dwflpp::get_section return the Elf* in which it found
the appropriate section, so init_probe_scn doesn't have to guess.

* dwflpp.cxx (dwflpp::get_section): Add an optional Elf** return
  pointer, and fill it in if needed.
* tapsets.cxx (sdt_query::init_probe_scn): Use that Elf* for the section.

14 years agoTest probe performance with taskset.
Stan Cox [Tue, 28 Sep 2010 13:48:57 +0000 (09:48 -0400)]
Test probe performance with taskset.

scripts/probe_perf/bench.sh (stap_test): Run stap with taskset.

14 years agoAdd v3 sdt.h awareness to scripts/probe_perf.
Stan Cox [Mon, 27 Sep 2010 19:26:53 +0000 (15:26 -0400)]
Add v3 sdt.h awareness to scripts/probe_perf.

* scripts/probe_perf/bench.sh (stap_test): Use testsuite/sdt.h so we
can build for any of v1, v2, v3.
(main): Add -testsrcdir for pointing to testsuite/sdt.h.

14 years agoStandardize v3 sdt.h arg template.
Stan Cox [Fri, 24 Sep 2010 19:28:21 +0000 (15:28 -0400)]
Standardize v3 sdt.h arg template.

* sdt.h (_SDT_ARGFMT): Us %n for arg template for all archs.

14 years agoAdd description for latencytap.stp
William Cohen [Fri, 24 Sep 2010 15:36:45 +0000 (11:36 -0400)]
Add description for latencytap.stp

14 years agoia64 v3 sdt.h interoperability.
Stan Cox [Thu, 23 Sep 2010 18:58:50 +0000 (14:58 -0400)]
ia64 v3 sdt.h interoperability.

* sdt.h (_SDT_ARGTMPL)(_SDT_COEF) New.  Parameterize for ia64.x
(_SDT_ARGFMT)(_SDT_ARG): Use it.

14 years agowhitespace tweak
Frank Ch. Eigler [Wed, 22 Sep 2010 17:04:29 +0000 (13:04 -0400)]
whitespace tweak

14 years agoreleng: rough-in support for linking with GOLD
Frank Ch. Eigler [Wed, 22 Sep 2010 17:03:34 +0000 (13:03 -0400)]
releng: rough-in support for linking with GOLD

14 years agoPower/x86 v3 sdt.h interoperability.
Stan Cox [Wed, 22 Sep 2010 12:26:58 +0000 (08:26 -0400)]
Power/x86 v3 sdt.h interoperability.

* sdt.h (_SDT_ARGFMT):  Revert back to %c as we just want operand length.

* tapsets.cxx (sdt_uprobe_var_expanding_visitor:visit_target_symbol):
Use elf_machine instead of section to decide which regnames to use.

14 years agoDisambiguate asm operand parsing for v3 sdt.h
Stan Cox [Wed, 22 Sep 2010 02:24:51 +0000 (22:24 -0400)]
Disambiguate asm operand parsing for v3 sdt.h

* tapsets.cxx (sdt_uprobe_var_expanding_visitor):  Add probe_loc.
(sdt_uprobe_var_expanding_visitor::visit_target_symbol):
Support i as literal prefix so register names are unambiguous.

* sdt_misc.exp (pbype_mssgs): Reorder

14 years agoFix rhel4 build problem.
Stan Cox [Tue, 21 Sep 2010 21:16:19 +0000 (17:16 -0400)]
Fix rhel4 build problem.

* dwflpp.cxx (iterate_over_notes): Typecast when assigning base.

14 years agoPR11736 modified the -t option to display information based on
Lukas Berk [Tue, 21 Sep 2010 20:43:13 +0000 (16:43 -0400)]
PR11736 modified the -t option to display information based on
probe points.  This change also displays the derivation for each
probe point.

14 years agoPR12035 - staprun fails to build on ia64
William Cohen [Tue, 21 Sep 2010 19:50:30 +0000 (15:50 -0400)]
PR12035 - staprun fails to build on ia64

The _SDT_ARGFMT and _SDT_ARG macros are adjusted to work around the ia64
compiler on RHEL-5. The ia64 gcc is not able to handle %c in the asm statement.
The ia64 and s390 also require an argument for the assembly language
nop instruction.

14 years agoReduce uniq_list to a single pass
Josh Stone [Fri, 17 Sep 2010 20:47:01 +0000 (13:47 -0700)]
Reduce uniq_list to a single pass

14 years agoRemove systemtap_session::printscript
Josh Stone [Fri, 17 Sep 2010 18:40:26 +0000 (11:40 -0700)]
Remove systemtap_session::printscript

It's a duplicate of main.cxx:printscript.

14 years agoAdditional causes for latencytap.stp
William Cohen [Thu, 16 Sep 2010 21:36:21 +0000 (17:36 -0400)]
Additional causes for latencytap.stp

Found that newer kernels may have some different backtraces for processes
being deactivated. Added some texts for those additional backtraces.

14 years agoLet runtime/staprun find sdt-config.h.
Stan Cox [Thu, 16 Sep 2010 21:15:48 +0000 (17:15 -0400)]
Let runtime/staprun find sdt-config.h.

* runtime/staprun/Makefile.am (AM_CPPFLAGS): Add $(builddir)/../../includes/sys

14 years agoHandle finding includes with -isystem.
Stan Cox [Tue, 7 Sep 2010 20:26:07 +0000 (16:26 -0400)]
Handle finding includes with -isystem.

* lib/systemtap.exp (sd_includes):  Use -isystem instead of -I.
* sdt_misc.exp (v_flags): Tag the V2 run.

14 years agoAdd translator support for version 3 sdt.h
Stan Cox [Fri, 3 Sep 2010 20:17:38 +0000 (16:17 -0400)]
Add translator support for version 3 sdt.h

* dwflpp.c (iterate_over_notes): New.
(get_section): New.

* sdt.h (_SDT_SEMAPHORE): New.
(_SDT_ASM_BODY): Use it.

* sdt-compat.h (stap_sdt_probe_type): Add uprobe3_type.

* tapsets.cxx (sdt_uprobe_var_expanding_visitor::visit_target_symbol):
Support <precision>@
(struct sdt_query): Add base, have_debuginfo_uprobe, have_debuginfoless_uprobe.
(handle_probe_entry): Pieces moved from ...
(handle_query_module): Handle STAP_SDT_Ǚ.
(setup_note_probe_entry_callback): New.
(setup_note_probe_entry): New.
(iterate_over_probe_entries): New.

* systemtap.exp: Tweak it.

* sdt_misc.exp (vflags): Add -DSTAP_SDT_V3

14 years agoClean up test compilations using sys/sdt.h, test new and old variants
Roland McGrath [Wed, 18 Aug 2010 08:39:45 +0000 (01:39 -0700)]
Clean up test compilations using sys/sdt.h, test new and old variants

* testsuite/sys/sdt.h: New file.
* testsuite/lib/systemtap.exp (sdt_includes): New function.
* testsuite/systemtap.base/const_value.exp: Use [sdt_includes].
* testsuite/systemtap.base/cxxclass.exp: Likewise.
* testsuite/systemtap.base/vta-test.exp: Likewise.
* testsuite/systemtap.exelib/exelib.exp: Likewise.
* testsuite/systemtap.base/sdt.exp: Likewise.
Test new version plus sdt-compat.h v1 and v2 variants.
* testsuite/systemtap.base/sdt_misc.exp: Likewise.

14 years agoMake sdt-compat.h play nice with new sys/sdt.h
Roland McGrath [Wed, 18 Aug 2010 08:35:40 +0000 (01:35 -0700)]
Make sdt-compat.h play nice with new sys/sdt.h

* sdt-compat.h: Change multiple inclusion protection to _SDT_COMPAT_H.
Omit probe macros if _SYS_SDT_H is defined.
* tapsets.cxx: Include "sys/sdt.h" before "sdt-compat.h".

14 years agoReplace <sys/sdt.h> macros with new ones generating notes, usable in asm
Roland McGrath [Wed, 18 Aug 2010 06:57:49 +0000 (23:57 -0700)]
Replace <sys/sdt.h> macros with new ones generating notes, usable in asm

* includes/sys/sdt.h: Rewritten.
* Makefile.am (oldinclude_HEADERS): Add includes/sys/sdt-config.h here.
(AM_CPPFLAGS): Add -I to find the built file.
* systemtap.spec (%files sdt-devel): Likewise.
* Makefile.in: Regenerated.
* util.h: Include <cerrno> here.

14 years agoMove old sys/sdt.h to sdt-compat.h for translator use
Roland McGrath [Wed, 18 Aug 2010 06:49:01 +0000 (23:49 -0700)]
Move old sys/sdt.h to sdt-compat.h for translator use

* includes/sys/sdt.h: File renamed to ...
* sdt-compat.h: ... here.
* Makefile.am (noinst_HEADERS): New variable, add it.
* tapset.cxx: Include "sdt-compat.h" instead of "sys/sdt.h".

14 years agoAdd configury for using .section "?" in sdt.h
Roland McGrath [Tue, 17 Aug 2010 20:25:45 +0000 (13:25 -0700)]
Add configury for using .section "?" in sdt.h

* includes/sys/sdt-config.h.in: New file.
* configure.ac: Check for assembler support of .section name,"?".
* configure: Regenerated.
* Makefile.in: Regenerated.

14 years agoCorrect recent change for finding the server cert database in stap-sign-module.
Dave Brolley [Thu, 16 Sep 2010 19:14:52 +0000 (15:14 -0400)]
Correct recent change for finding the server cert database in stap-sign-module.

14 years agoHandle missing and empty client side certificate databases.
Dave Brolley [Thu, 16 Sep 2010 18:28:31 +0000 (14:28 -0400)]
Handle missing and empty client side certificate databases.

14 years agoreleng: make build-compatible with old elfutils
Frank Ch. Eigler [Thu, 16 Sep 2010 16:06:21 +0000 (12:06 -0400)]
releng: make build-compatible with old elfutils

* loc2c.c (DW_AT_data_bit_offset): #define for old elfutils.

14 years agoAllow STAP_USER to be set in the calling environment.
Dave Brolley [Wed, 15 Sep 2010 16:40:14 +0000 (12:40 -0400)]
Allow STAP_USER to be set in the calling environment.

14 years agoSuppress stdout output of stap-authorize-cert.
Dave Brolley [Wed, 15 Sep 2010 16:17:41 +0000 (12:17 -0400)]
Suppress stdout output of stap-authorize-cert.

14 years agoCorrect location of stap-gen-cert.
Dave Brolley [Tue, 14 Sep 2010 18:50:17 +0000 (14:50 -0400)]
Correct location of stap-gen-cert.

14 years agoPR11442 - Running tests installed by systemtap-testsuite rpm as root.
Dave Brolley [Tue, 14 Sep 2010 18:02:03 +0000 (14:02 -0400)]
PR11442 - Running tests installed by systemtap-testsuite rpm as root.

SSL server certificates are now generated into $SYSTEMTAP_DIR or $HOME/.systemtap
for all users, even root.

14 years agoGuard location_from_attr declaration and function with elfutils 0.149 check.
Mark Wielaard [Thu, 16 Sep 2010 15:12:48 +0000 (17:12 +0200)]
Guard location_from_attr declaration and function with elfutils 0.149 check.

location_from_attr is only used when an implicit pointer is found
and systemtap is compiled against elfutils 0.149 .

* loc2c.c (location_from_attr): Guard with elfutils version check.

14 years agoTest case for DW_OP_GNU_implicit_pointer support
Roland McGrath [Wed, 18 Aug 2010 22:37:22 +0000 (15:37 -0700)]
Test case for DW_OP_GNU_implicit_pointer support

* testsuite/systemtap.base/implicitptr.c: New file.
* testsuite/systemtap.base/implicitptr.stp: New file.
* testsuite/systemtap.base/implicitptr.exp: New file.

14 years agoloc2c internal reorganization and DW_OP_GNU_implicit_pointer handling
Roland McGrath [Tue, 27 Jul 2010 11:55:48 +0000 (04:55 -0700)]
loc2c internal reorganization and DW_OP_GNU_implicit_pointer handling

* loc2c.c (struct location_context): New type.
(struct location): New member context points to that.
Add pointer variant with .type = loc_implicit_pointer.
(alloc_location): Take just context pointer as argument.
(FAIL): Use context pointer.
(new_context): New function.
(translate_constant): New function, broken out of ...
(c_translate_constant): ... here.  Call it.
(new_synthetic_loc): Don't take pool argument, origin->context has it.
(lose): Take new argument LEN, overall length of LEXPR.
Don't mention the offset into LEXPR if LEXPR is NULL or I is past LEN.
(translate): Take context argument instead of pool, addrbias.
Handle DW_OP_GNU_implicit_pointer.
(location_from_address): Take context argument instead of pool, fail,
fail_arg, emit_address, dwbias, attr, address, fb_attr, cfa_ops.
(location_from_attr): New function.
(translate_offset): New function, broken out of ...
(location_relative): ... here.  Call it.
Take context argument instead of pool, dwbias, attr, address.
(c_translate_location): Use new_context.
(c_translate_argument): Likewise.
(emit_base_fetch): Diagnose for loc_implicit_pointer.
(emit_base_store): Likewise.
(c_translate_addressof, c_translate_array): Likewise.
(discontiguify): Likewise.  Take context argument instead of pool.
(c_translate_pointer): Handle loc_implicit_pointer.
(c_translate_array_pointer): Likewise.
(c_emit_location): Likewise.

14 years agoImproved latencytap.stp
William Cohen [Wed, 15 Sep 2010 19:57:53 +0000 (15:57 -0400)]
Improved latencytap.stp

This version of latencytap.stp has the following improvements:

-Print out the data sorted on the total time waiting for each cause
-Have a debug flag to print out stack backtraces when there is no cause listed.
 This is enabled by compiling latencytap to a module and then using:
    staprun latentap.ko debug=1

14 years agoUse decimal output for automatic printing of global aggregates
William Cohen [Tue, 14 Sep 2010 21:39:55 +0000 (17:39 -0400)]
Use decimal output for automatic printing of global aggregates

Previously, the automatic printing of global aggregates was hexidecimal.
Most people find it more convenient to look at this information in decimal
form. Thus, the output is now decimal based. If one really needs or wants
the old behavior a --compatible=1.3 option can be added to the command line.

14 years agoAdd translator support for the forthcoming v3 sdt.h.
Stan Cox [Tue, 14 Sep 2010 16:22:54 +0000 (12:22 -0400)]
Add translator support for the forthcoming v3 sdt.h.

* sdt.h (stap_sdt_probe_type): Add uprobe3_type.

* tapsets.cxx (sdt_uprobe_var_expanding_visitor::visit_target_symbol):
Support <precision>@
(struct sdt_query): Add base, have_debuginfo_uprobe, have_debuginfoless_uprobe.
(handle_query_module): Handle v3 sdt.h which has probes in note sections.
(setup_note_probe_entry_callback): New.
(setup_note_probe_entry): New.

14 years agoUse common handler for sdt.h v2/v3 and change sdt.h v2 to use it.
Stan Cox [Mon, 13 Sep 2010 18:49:45 +0000 (14:49 -0400)]
Use common handler for sdt.h v2/v3 and change sdt.h v2 to use it.

* tapsets.cxx (sdt_query::iterate_over_probe_entries): Replaces get_next_probe.
(sdt_query::handle_query_module): Use it.
(sdt_query::handle_probe_entry): New.  Used by sdt.h v2/v3

14 years agoAdd dwarf support for use by sdt.h v3.
Stan Cox [Mon, 13 Sep 2010 14:37:19 +0000 (10:37 -0400)]
Add dwarf support for use by sdt.h v3.

* dwflpp.cxx (dwflpp::iterate_over_notes): New.
(dwflpp::get_section): New.
* dwflpp.h: Likewise.
*tapsets.cxx (sdt_query::handle_query_module):  Use get_section.

14 years agoPR 11905: Take more care with stap-server config files.
Dave Brolley [Fri, 10 Sep 2010 18:18:07 +0000 (14:18 -0400)]
PR 11905: Take more care with stap-server config files.

- Config files now have a fixed suffix which avoids collisions with other
  stap-server files.
- Config files are now interpreted in order to avoid execution of random
  code.

14 years agoUpdated latencytap.stp
William Cohen [Thu, 9 Sep 2010 16:49:22 +0000 (12:49 -0400)]
Updated latencytap.stp

The updated latencytap.stp uses more portable probe points for the collecting
the data. The script also maps the functions in the traceback to reasons the
sleep. The reasons for the sleeps were mechanically generated from
latencytop-0.5 latencytop.trans file.

14 years agoValidate backtrace addresses.
Mark Wielaard [Thu, 9 Sep 2010 14:38:53 +0000 (16:38 +0200)]
Validate backtrace addresses.

* runtime/stack-i386.c (_stp_valid_pc_addr): New function.
  (_stp_stack_print_fallback): Use it.
  (__stp_stack_print): Use it.
* runtime/stack-x86_64.c (_stp_valid_pc_addr): New function.
  (_stp_stack_print_fallback): Use it.
  (__stp_stack_print): Use it.
* runtime/unwind/i386.h (arch_unw_user_mode): Removed.
* runtime/unwind/x86_64.h (arch_unw_user_mode): Likewise.

14 years agoPR 10922: Firewall hint improvement.
Dave Brolley [Tue, 7 Sep 2010 16:17:06 +0000 (12:17 -0400)]
PR 10922: Firewall hint improvement.

Specifically mention mDNS when suggesting a check of the firewall after
avahi fails to find a server in the test suite.

14 years agoElaborate on the use of the --use-server option of stap.
Dave Brolley [Tue, 7 Sep 2010 15:30:33 +0000 (11:30 -0400)]
Elaborate on the use of the --use-server option of stap.

14 years agoPR11982: debian build compatibility for their elfutils hacks
Frank Ch. Eigler [Sat, 4 Sep 2010 21:13:23 +0000 (17:13 -0400)]
PR11982: debian build compatibility for their elfutils hacks

* configure.ac: Check for presence of -lebl.

14 years agoreleng: staprun is build with -DSINGLE_THREADED to avoid -lpthread dependence
Frank Ch. Eigler [Sat, 4 Sep 2010 19:57:37 +0000 (15:57 -0400)]
releng: staprun is build with -DSINGLE_THREADED to avoid -lpthread dependence

14 years agoDeprecate old compile-server client and tools.
Dave Brolley [Fri, 3 Sep 2010 15:05:09 +0000 (11:05 -0400)]
Deprecate old compile-server client and tools.

    stap-client
    stap-find-servers
    stap-find-or-start-server
    stap-authorize-server-cert
    stap-authorize-signing-cert.

14 years agoreleng: staprun Makefile should use -Dfoo CPPFLAGS instead of AC_SUBST*
Frank Ch. Eigler [Thu, 2 Sep 2010 20:05:09 +0000 (16:05 -0400)]
releng: staprun Makefile should use -Dfoo CPPFLAGS instead of AC_SUBST*

14 years agoInclude top-level includes dir in AM_CFLAGS for staprun sys/sdt.h usage.
Mark Wielaard [Thu, 2 Sep 2010 12:11:44 +0000 (14:11 +0200)]
Include top-level includes dir in AM_CFLAGS for staprun sys/sdt.h usage.

* runtime/staprun/Makefile.am (AM_CFLAGS): Add -I$(srcdir)/../../includes.
* runtime/staprun/Makefile.in: Regenerated.

14 years agoEnable AM_SILENT_RULES for runtime/staprun/
Josh Stone [Wed, 1 Sep 2010 20:58:48 +0000 (13:58 -0700)]
Enable AM_SILENT_RULES for runtime/staprun/

14 years agoInclude runtime/staprun in top-level builds
Josh Stone [Wed, 1 Sep 2010 20:55:59 +0000 (13:55 -0700)]
Include runtime/staprun in top-level builds

14 years agoMove run-staprun into runtime/staprun/
Josh Stone [Wed, 1 Sep 2010 20:51:23 +0000 (13:51 -0700)]
Move run-staprun into runtime/staprun/

It now lives with staprun itself.  Also adjust run-stap accordingly.

14 years agostaprun: Clean up kallsyms _stext parsing.
Roland McGrath [Wed, 1 Sep 2010 00:33:12 +0000 (17:33 -0700)]
staprun: Clean up kallsyms _stext parsing.

* runtime/staprun/staprun.c (send_relocation_kernel): Rewrote parsing loop.

14 years agoPR4037: kernel-matching -m32 or -m64 not needed for staprun
Frank Ch. Eigler [Wed, 1 Sep 2010 14:52:02 +0000 (10:52 -0400)]
PR4037: kernel-matching -m32 or -m64 not needed for staprun

14 years agoreleng: use staprun's new configury only
Frank Ch. Eigler [Wed, 1 Sep 2010 14:49:30 +0000 (10:49 -0400)]
releng: use staprun's new configury only

Removed staprun/stapio/stap-merge stuff from top-level configury.

14 years agoPR11963: avoid using scanf %as
Grant Edwards [Wed, 1 Sep 2010 11:39:08 +0000 (07:39 -0400)]
PR11963: avoid using scanf %as

14 years agoUse <linux/blk_types.h> and REQ_WRITE for 2.6.36 and newer kernels
William Cohen [Tue, 31 Aug 2010 21:34:04 +0000 (17:34 -0400)]
Use <linux/blk_types.h> and REQ_WRITE for 2.6.36 and newer kernels

14 years agoLocal definitions of NIPQUAD and NIPQUAD_FMT when required (PR11951)
William Cohen [Tue, 31 Aug 2010 16:06:00 +0000 (12:06 -0400)]
Local definitions of NIPQUAD and NIPQUAD_FMT when required (PR11951)

Newer 2.6.36 kernels eliminate NIPQUAD and NIPQUAD_FMT defines.
Definitions are made available when needed.

14 years agoGive staprun/stapio/stap-merge a standalone configure and makefile
Roland McGrath [Mon, 30 Aug 2010 22:43:43 +0000 (15:43 -0700)]
Give staprun/stapio/stap-merge a standalone configure and makefile

* Makefile.am: New file.
* configure.ac: New file.
* Makefile.in: New generated file.
* aclocal.m4: New generated file.
* config.in: New generated file.
* configure: New generated file.

14 years agostaprun: Avoid need for -I$(top_srcdir)
Roland McGrath [Mon, 30 Aug 2010 22:27:44 +0000 (15:27 -0700)]
staprun: Avoid need for -I$(top_srcdir)

* modverify.c: Use proper relative pathname for nsscommon.h #include.

14 years agostaprun: Avoid type-punning casts.
Roland McGrath [Mon, 30 Aug 2010 22:01:35 +0000 (15:01 -0700)]
staprun: Avoid type-punning casts.

* mainloop.c (stp_main_loop): Use clean union instead of casts.

14 years agoReplaced obsolete index/rindex functions with strchr/strrchr.
David Smith [Mon, 30 Aug 2010 21:53:46 +0000 (16:53 -0500)]
Replaced obsolete index/rindex functions with strchr/strrchr.

* runtime/staprun/common.c: Replaced index/rindex with strchr/strrchr.
* runtime/staprun/staprun.c: Ditto.

14 years agoClarify description of --all-modules optoin in stap manpage
William Cohen [Mon, 30 Aug 2010 20:26:12 +0000 (16:26 -0400)]
Clarify description of --all-modules optoin in stap manpage

14 years agoUpdate the dropwatch.stp beginner's manual text to match the current script.
William Cohen [Mon, 30 Aug 2010 19:20:33 +0000 (15:20 -0400)]
Update the dropwatch.stp beginner's manual text to match the current script.

14 years agoAllow dropwatch to output function name directly and clean formatting
William Cohen [Mon, 30 Aug 2010 16:00:45 +0000 (12:00 -0400)]
Allow dropwatch to output function name directly and clean formatting

14 years agoClean up the timeout.stp and topsys.stp example text
William Cohen [Fri, 27 Aug 2010 21:14:08 +0000 (17:14 -0400)]
Clean up the timeout.stp and topsys.stp example text

14 years agoRevise futexes.stp example text.
William Cohen [Fri, 27 Aug 2010 20:10:53 +0000 (16:10 -0400)]
Revise futexes.stp example text.

14 years agoAdd pointer to SystemTap Tapset Reference Manual to References Chapter
William Cohen [Fri, 27 Aug 2010 19:19:02 +0000 (15:19 -0400)]
Add pointer to SystemTap Tapset Reference Manual to References Chapter

14 years agoCorrect the example man pages for "man stapprobes"
William Cohen [Fri, 27 Aug 2010 18:56:18 +0000 (14:56 -0400)]
Correct the example man pages for "man stapprobes"

14 years agoPR11949: duplicate-eliminate tapset files
Frank Ch. Eigler [Thu, 26 Aug 2010 22:30:28 +0000 (18:30 -0400)]
PR11949: duplicate-eliminate tapset files

* main.cxx (passes_0_4): Bypass tapset script files already parsed,
  based upon device/inode matching.

14 years agoPrint a warning for labels outside their scope
Josh Stone [Thu, 26 Aug 2010 20:32:26 +0000 (13:32 -0700)]
Print a warning for labels outside their scope

Sometimes the compiler may output debuginfo a label PC that's not
actually contained by its lexical scope.  When this happens, it's likely
that we won't be able to access any variables.  Print a WARNING so the
user knows something is amiss.

* dwflpp.cxx (dwflpp::iterate_over_labels): Print a warning when the
  scope doesn't contain the label address.
  (dwflpp::inner_die_containing_pc): Return bool indicating if the
  address is even contained by the result scope.
* testsuite/systemtap.base/ptridx.stp: Use the right exe path.
* testsuite/systemtap.base/ptridx.exp: Use manual spawn/expect for more
  precise matching.

14 years agoUpdate inodewatch2.stp to work with newer kernel
William Cohen [Thu, 26 Aug 2010 19:09:08 +0000 (15:09 -0400)]
Update inodewatch2.stp to work with newer kernel

14 years agoRelax inner_die_containing_pc's initial check
Josh Stone [Thu, 26 Aug 2010 17:07:03 +0000 (10:07 -0700)]
Relax inner_die_containing_pc's initial check

I had a semantic error thrown if the given address wasn't even within
the starting scope, but now I've just made that return right away.
Roland found a case where the compiler had a label in DWARF that was
outside the PC range of the inline that supposedly contained it.

* dwflpp.cxx (dwflpp::inner_die_containing_pc): Return if !die_has_pc.
* testsuite/systemtap.base/ptridx.*: Roland's testcase.  It still fails
  when the variables lack locations, but at least -L should work now.

14 years agoAssociate localhost.localdomain with generated compile-server certificates.
Dave Brolley [Thu, 26 Aug 2010 14:40:08 +0000 (10:40 -0400)]
Associate localhost.localdomain with generated compile-server certificates.

14 years agoloc2c: Diagnose index into noncontiguous array whose pieces are too small
Roland McGrath [Thu, 26 Aug 2010 08:36:06 +0000 (01:36 -0700)]
loc2c: Diagnose index into noncontiguous array whose pieces are too small

* loc2c.c (translate_array): Diagnose chosen piece being too small.

14 years agoloc2c: Handle arrays of computed values
Roland McGrath [Thu, 26 Aug 2010 05:57:05 +0000 (22:57 -0700)]
loc2c: Handle arrays of computed values

* loc2c.c (translate_array): New function, broken out of ...
(c_translate_array): ... here.  Call it.
(c_translate_array_pointer): Call it.
(translate_array): Accept computed or unavailable value with
constant zero index.

14 years agoExtend vta-test case to cover arrays.
Roland McGrath [Thu, 26 Aug 2010 05:42:54 +0000 (22:42 -0700)]
Extend vta-test case to cover arrays.

* testsuite/systemtap.base/vta-test.c (t1, t2, t3): Add a computed array local.
* testsuite/systemtap.base/vta-test.stp: Probe them to show that.
* testsuite/systemtap.base/vta-test.exp: Expect that.

14 years agoExtend const_value test case to cover arrays.
Roland McGrath [Thu, 26 Aug 2010 05:32:38 +0000 (22:32 -0700)]
Extend const_value test case to cover arrays.

* testsuite/systemtap.base/const_value.c (func): Add a const array local.
* testsuite/systemtap.base/const_value.stp: Print it.
* testsuite/systemtap.base/const_value.exp: Expect that.

14 years agoCorrect the description of -c option
William Cohen [Mon, 23 Aug 2010 20:18:54 +0000 (16:18 -0400)]
Correct the description of -c option

14 years agoSimplify the installation of the needed rpm packages
William Cohen [Mon, 23 Aug 2010 19:59:50 +0000 (15:59 -0400)]
Simplify the installation of the needed rpm packages

There was some detail on writing repo files. However, that text is not needed
for rhel-5/6 or fedora. There are already repo files that point on the
location of the debuginfo files.

14 years agoFixed PR11940 by getting scripts w/global variables to compile on 2.6.36.
David Smith [Mon, 23 Aug 2010 18:05:33 +0000 (13:05 -0500)]
Fixed PR11940 by getting scripts w/global variables to compile on 2.6.36.

* runtime/runtime.h: Updated module parameter get/set functions with new
  interface for 2.6.36.

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