]> sourceware.org Git - systemtap.git/log
systemtap.git
14 years agoRemove unused arguments from stap_remove_vma_map_info.
Mark Wielaard [Fri, 4 Jun 2010 16:59:20 +0000 (18:59 +0200)]
Remove unused arguments from stap_remove_vma_map_info.

* runtime/task_finder_vma.c (stap_remove_vma_map_info): Drop vm_end and
  vm_pgoff arguments.
* runtime/sym.c (_stp_tf_munmap_cb): Don't pass addr + length and 0.

14 years agoRemove bogus (but wrongly used!) addr field from __stp_tf_vma_entry.
Mark Wielaard [Fri, 4 Jun 2010 16:51:21 +0000 (18:51 +0200)]
Remove bogus (but wrongly used!) addr field from __stp_tf_vma_entry.

* runtime/task_finder_vma.c (__stp_tf_vma_entry): Remove addr field.
  (__stp_tf_get_vma_map_entry_internal): Compare vm_start, not addr.
  (stap_find_vma_map_info): Rename vm_addr argument to addr.

14 years agoTrack dentry for file backed vma in task_finder.
Mark Wielaard [Fri, 4 Jun 2010 15:02:10 +0000 (17:02 +0200)]
Track dentry for file backed vma in task_finder.

* runtime/task_finder.c (stap_task_finder_mmap_callback): Provide dentry.
  (__stp_call_mmap_callbacks): Take dentry.
  (__stp_call_mmap_callbacks_with_addr): Collect dentry.
  (__stp_call_mmap_callbacks_for_task): Likewise.
* runtime/task_finder_vma.c (__stp_tf_vma_entry): Add dentry.
  (stap_add_vma_map_info): Take and store dentry.
  (stap_remove_vma_map_info): Remove dentry.
  (stap_find_vma_map_info): Provide dentry.
  (stap_find_vma_map_info_user): Likewise.
  (stap_drop_vma_maps): Remove dentries.
* runtime/sym.c (_stp_tf_mmap_cb): Accept dentry and store it in vma_map.
  (_stp_module_relocate): Call stap_find_vma_map_info_user with NULL dentry.
  (_stp_mod_sec_lookup): Call stap_find_vma_map_info with NULL dentry.
* runtime/unwind.c (adjustStartLoc): Provide NULL dentry.
* runtime/kprobes-common.c (stap_kprobe_mmap_found): Accept dentry.
* runtime/kprobes-common.h (stap_kprobe_mmap_found): Likewise.
* runtime/uprobes-common.c (stap_uprobe_mmap_found): Likewise.
* runtime/uprobes-common.h (stap_uprobe_mmap_found): Likewise.

14 years agoRename __stp_tf_vma_initialize to stap_initialize_vma_map.
Mark Wielaard [Fri, 4 Jun 2010 13:06:46 +0000 (15:06 +0200)]
Rename __stp_tf_vma_initialize to stap_initialize_vma_map.

Makes it clear this isn't one of the internal task_finder_vma functions.

* runtime/sym.c (_stp_sym_init): Call stap_initialize_vma_map.
* runtime/task_finder_vma.c (stap_initialize_vma_map): Renamed from
  __stp_tf_vma_initialize.

14 years agoRemoved unused task_finder_vma code.
Mark Wielaard [Fri, 4 Jun 2010 12:39:34 +0000 (14:39 +0200)]
Removed unused task_finder_vma code.

* runtime/task_finder_vma.c (__stp_tf_vma_table, __stp_tf_vma_hash,
  __stp_tf_get_vma_entry, __stp_tf_add_vma, __stp_tf_remove_vma_entry):
  Unused, so removed.

14 years agoTweak the ipmib update for 2.6.35
Josh Stone [Sat, 5 Jun 2010 01:23:24 +0000 (18:23 -0700)]
Tweak the ipmib update for 2.6.35

* tapset/ipmib.stp (ipmib.InNoRoutes, ipmib.InAddrErrors):
  Now using probe sufficiency instead of version checks.

14 years agoPR11095: support process(). **provider()** .mark()
Frank Ch. Eigler [Fri, 4 Jun 2010 21:01:52 +0000 (17:01 -0400)]
PR11095: support process(). **provider()** .mark()

For STAP_SDT_V2 only for now.

* NEWS, stapprobes.3stap.in: Mention it.
* Makefile.am (stap_CPPFLAGS): Use -DSTAP_SDT_V2.
* dtrace.in: Preserve provider name, though squash it for STAP_SDT_V1.
* includes/sys/sdt.h: Likewise.
* tapsets.cxx (register_patterns): Accept .provider() probe point piece.
  (sdt_*_var_expanding_visotor): Store it.
  (sdt_query::*): Extend for provider matching, new magic codes.
* testsuite/systemtap.base/sdt_misc.exp: Use more formal interfaces
  to semaphores.

14 years agoAdd configure check for xmlto pdf with chapters titles starting with L...
Mark Wielaard [Fri, 4 Jun 2010 09:34:23 +0000 (11:34 +0200)]
Add configure check for xmlto pdf with chapters titles starting with L...

There is a strange bug in older versions of xmlto when generating pdf.
https://bugzilla.redhat.com/show_bug.cgi?id=526273
So make sure to have a chapter title starting with L plus an refentry.
This will make sure the xmlto pdf support test fails on buggy versions.

configure.ac: Extend conftest.xml.
configure: Regenerated.

14 years agoMake rpc.stap and tcpmib.stp compatible with 2.6.35
Wenji Huang [Fri, 4 Jun 2010 03:05:38 +0000 (11:05 +0800)]
Make rpc.stap and tcpmib.stp compatible with 2.6.35

* tapset/rpc.stp: access structure member for om_{queue,rtt,execute}.
* tapset/tcpmib.stp: change _skb_dst to _skb_refdst.

14 years agoUpdate ipmib.stp for 2.6.35
Wenji Huang [Fri, 4 Jun 2010 01:50:07 +0000 (09:50 +0800)]
Update ipmib.stp for 2.6.35

* tapset/ipmib.stp: Select ip_route_input_common for 2.6.35.

14 years agoReplace walk_stack field version guard with autoconf test.
Mark Wielaard [Thu, 3 Jun 2010 09:26:17 +0000 (11:26 +0200)]
Replace walk_stack field version guard with autoconf test.

The test for whether or not to assign print_context_stack to the
walk_stack stacktrace_ops field depended on the kernel version.
Replace with a proper runtime/autoconf test to make sure the field
always gets assigned when available.

* buildrun.cxx (compile_pass): Add output for STAP_CONF_WALK_STACK.
* runtime/autoconf-walk-stack.c: New test.
* runtime/stack.c (print_stack_ops): Assign walk_stack field
  print_context_stack depending on STAP_CONF_WALK_STACK.

14 years agoAUTHORS bump
Josh Stone [Thu, 3 Jun 2010 02:18:26 +0000 (19:18 -0700)]
AUTHORS bump

14 years agoAdd environment variable fetching for current process
Lars R. Damerow [Thu, 3 Jun 2010 01:08:15 +0000 (18:08 -0700)]
Add environment variable fetching for current process

* tapset/context.stp: Add env_var.
* testsuite/buildok/context_test.stp: Add test for new function.

14 years agoPR3672 cont'd: Change pretty-print "depth" to mean substructures
Josh Stone [Thu, 3 Jun 2010 00:18:33 +0000 (17:18 -0700)]
PR3672 cont'd: Change pretty-print "depth" to mean substructures

We don't follow pointers anymore within a structure.  Now a single '$'
suffix means we print a shallow view of the structure, with {...} and
[...] in place of nested arrays/structs.  A double suffix '$$' means we
print everything contained in the struct.  Longer suffixes no longer
have meaning, and for now act the same as '$$'.

* tapsets.cxx (dwarf_pretty_print): Lose the "print_depth" field, and
  instead just check if this is a "full" print job.  Pass a bool
  indicating whether we're currently traversing the top-level, so we
  know which structs to expand.  Also wrap it all in try/catch so bad
  pointers don't kill us.

14 years agoPR11664: Let return/next break out of try/catch
Josh Stone [Thu, 3 Jun 2010 01:37:55 +0000 (18:37 -0700)]
PR11664: Let return/next break out of try/catch

Try-catch works by faking a local "out" label and running the catch
block.  In the case of return and next, we have a "goto out" without any
error, so it should be allowed to progress to the real out label.

* translate.cxx (c_unparser::visit_try_block): Reorganize the nested
  labels to allow normal-fallthrough, normal-out, and error-out.
* testsuite/systemtap.base/overcatcher.stp: New test.

14 years agoCorrect uninitialization warning for gcc 4.1
Wenji Huang [Wed, 2 Jun 2010 02:50:22 +0000 (10:50 +0800)]
Correct uninitialization warning for gcc 4.1

* translate.cxx: provide default value for variable data.

14 years agoPR11599: Support the new tracepoints API in 2.6.35
Josh Stone [Tue, 1 Jun 2010 22:23:48 +0000 (15:23 -0700)]
PR11599: Support the new tracepoints API in 2.6.35

* buildrun.cxx (make_tracequery): Support DECLARE_TRACE_NOARGS.
* tapsets.cxx (tracepoint_derived_probe_group::emit_module_decls): Add
  an unused void* parameter for the tracepoint callbacks on 2.6.35+.

14 years agoRemove the STAP_LABEL machinery, which was replaced by gas `Nb' 'Nf' labels.
Stan Cox [Tue, 1 Jun 2010 21:43:27 +0000 (17:43 -0400)]
Remove the STAP_LABEL machinery, which was replaced by gas `Nb' 'Nf' labels.

* sdt.h (STAP_CONCAT, STAP_LABEL_PREFIX,STAP_LABEL): Remove
(STAP_PROBEN_): Merge with STAP_PROBEN.

14 years agoTest with and without semaphores using STAP_SDT_IMPLICIT_ENABLED.
Stan Cox [Tue, 1 Jun 2010 16:26:29 +0000 (12:26 -0400)]
Test with and without semaphores using STAP_SDT_IMPLICIT_ENABLED.

* probe_perf/bench.sh: Use -DSTAP_SDT_IMPLICIT_ENABLED.

14 years agorhbz #596083 Account for dot and dotless kernel variant in stap-prep.
Mark Wielaard [Tue, 1 Jun 2010 09:37:59 +0000 (11:37 +0200)]
rhbz #596083 Account for dot and dotless kernel variant in stap-prep.

uname -r can produce different kinds of output:
2.6.32-30.el6.x86_64 (no variant, but including ".arch")
2.6.18-194.3.1.el5debug ("variant", without dot, no arch)
2.6.33.4-95.fc13.i686.PAE (".arch.variant", two dots)
We didn't handle the dot before the variant used in newer distros.

* stap-prep: Remove either ".variant" or "variant" from the end of release
  uname string.

14 years agoPR11649: workaround for incomplete include/linux/event/kvm_*.h
Frank Ch. Eigler [Mon, 31 May 2010 17:56:42 +0000 (13:56 -0400)]
PR11649: workaround for incomplete include/linux/event/kvm_*.h

* tapsets.cxx (tracepoint_extra_headers): Pass along systemtap_session.
  Add a kvm header if CONFIG_KVM.

14 years agoGuard create_debug_frame_hdr body with _ELFUTILS_PREREQ(0,142).
Mark Wielaard [Mon, 31 May 2010 07:27:29 +0000 (09:27 +0200)]
Guard create_debug_frame_hdr body with _ELFUTILS_PREREQ(0,142).

14 years agoloc2c: correct typo for i386 target register access on x86-64 kernel
Frank Ch. Eigler [Sun, 30 May 2010 02:55:50 +0000 (22:55 -0400)]
loc2c: correct typo for i386 target register access on x86-64 kernel

14 years agoPR3672 cont'd: Resolve declared structs
Josh Stone [Fri, 28 May 2010 23:14:57 +0000 (16:14 -0700)]
PR3672 cont'd: Resolve declared structs

* tapsets.cxx (dwarf_pretty_print::recurse_struct): Use dwflpp to
  resolve DW_AT_declaration types.

14 years agoMerge branch 'unwind_hdr'
Mark Wielaard [Fri, 28 May 2010 21:53:47 +0000 (23:53 +0200)]
Merge branch 'unwind_hdr'

14 years agoPR10665 Make unwinder recognized synthesized debug_frame_hdr.
Mark Wielaard [Fri, 28 May 2010 21:49:26 +0000 (23:49 +0200)]
PR10665 Make unwinder recognized synthesized debug_frame_hdr.

* runtime/unwind.c (_stp_search_unwind_hdr): Take is_ehframe argument.
  Recognize and use debug_hdr for binary searching the FDE.
  (unwind_frame): Always try binary hdr search.

14 years agoAccept CIE versions 3 and 4.
Mark Wielaard [Fri, 28 May 2010 21:46:38 +0000 (23:46 +0200)]
Accept CIE versions 3 and 4.

* runtime/unwind.c (fde_pointer_type): Accept version 3 and 4.
  (unwind_frame): Likewise.

14 years agoPR10665 Create a synthetic binary search table for a debug_frame section.
Mark Wielaard [Fri, 28 May 2010 21:32:05 +0000 (23:32 +0200)]
PR10665 Create a synthetic binary search table for a debug_frame section.

* runtime/sym.h (_stp_module): Add fields debug_hdr and debug_hdr_len.
* translate.cxx (create_debug_frame_hdr): New function.
  (get_unwind_data): Call new function when there is a debug_frame.
  (dump_unwindsyms): Output new debug_frame_hdr.

14 years agoAdd kprobes-common.{h,c}, which is analogous to uprobes-common.{h,c}
Stan Cox [Fri, 28 May 2010 20:42:45 +0000 (16:42 -0400)]
Add kprobes-common.{h,c}, which is analogous to uprobes-common.{h,c}

14 years agoAdd kprobes-common.{h,c}, which is analogous to uprobes-common.{h,c}
Stan Cox [Fri, 28 May 2010 20:35:49 +0000 (16:35 -0400)]
Add kprobes-common.{h,c}, which is analogous to uprobes-common.{h,c}

uprobes-common.h: New file.
uprobes-common.c: New file.

14 years agoImplicit *_ENABLED() is no longer the default for sdt.h probes.
Stan Cox [Fri, 28 May 2010 20:11:24 +0000 (16:11 -0400)]
Implicit *_ENABLED() is no longer the default for sdt.h probes.
Cast V2 probe args.

sdt.h (STAP_SDT_IMPLICIT_ENABLED): New.
(STAP_TYPE): New.
(STAP_CAST): New.
(STAP_PROBE*_): Use STAP_TYPE and STAP_CASE.
sdt_misc.exp:  Use -DSTAP_SDT_IMPLICIT_ENABLED

14 years agoAdd () to execname in stap man page example.
Przemyslaw Pawelczyk [Fri, 28 May 2010 14:05:39 +0000 (16:05 +0200)]
Add () to execname in stap man page example.

14 years agoHere is a patch implements a way for uprobes to skip single step
Srikar Dronamraju [Fri, 28 May 2010 10:45:02 +0000 (16:15 +0530)]
Here is a patch implements a way for uprobes to skip single step
when a probe in on a nop instruction.

Currently its implemented for nop on x86/x86_64 and s390.
For powerpc, its implemented on all instructions that can be emulated.
(For this emulation code is borrowed from arch/powerpc/lib/sstep.c)

I havent tested it on s390. Updated with comments from Jim.

Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Signed-off-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Reported-by: Josh Stone <jistone@redhat.com>
14 years agoOnly build docproc when refdoc requested.
Mark Wielaard [Fri, 28 May 2010 10:11:11 +0000 (12:11 +0200)]
Only build docproc when refdoc requested.

* doc/SystemTap_Tapset_Reference/Makefile.am: Move docproc under BUILDREFDOC
  conditional.
* doc/SystemTap_Tapset_Reference/Makefile.in: Regenerated.

14 years agoPR3672: Add pretty-printing for compound types
Josh Stone [Thu, 27 May 2010 22:54:01 +0000 (15:54 -0700)]
PR3672: Add pretty-printing for compound types

This adds a new syntax for pretty-printing variables as strings:

  $var$         $var$$         $var->$            $var->$$
  $@cast(...)$  $@cast(...)$$  $@cast(...)->$     $@cast(...)->$$
  $var->foo->$  $var[1]->$     $@cast(...)->foo$  $@cast(...)[2]$

This is still a work in progress, but I deemed it now useful enough to
share.  See PR3672 for discussion of work remaining.

* parse.cxx (parser::parse_target_symbol_components): Parse the trailing
  $s as a new comp_pretty_print entry in the target_symbol.
* staptree.cxx (target_symbol::assert_no_components): Add a flag to
  assert whether pretty-printing is supported.
  (target_symbol::component::print): Support comp_pretty_print.
* dwflpp.cxx (dwflpp::translate_components): Skip the actual translation
  if the obstack "pool" is NULL.
  (dwflpp::type_die_for_local): Dig through a local and its components
  to get the type DIE that the pretty printing can start from.
  (dwflpp::type_die_for_return): Ditto for return values.
  (dwflpp::type_die_for_pointer): Ditto for pointers.
* tapsets.cxx (dwarf_pretty_print): New struct for recursing over a type
  DIE and producing a string representation.  (The real meat lies here!)
  (dwarf_var_expanding_visitor::visit_target_symbol): Determine when to
  use dwarf_pretty_print instead of the normal path.
  (dwarf_var_expanding_visitor::visit_target_symbol_context): Ditto.
  (tracepoint_var_expanding_visitor::visit_target_symbol_arg): Ditto.
  (tracepoint_var_expanding_visitor::visit_target_symbol_context): Ditto.
  (dwarf_cast_query, dwarf_cast_expanding_visitor): Move the function
  generation from the visitor to the query, and also support using
  dwarf_pretty_print as needed.

14 years agotracequery build fix
Josh Stone [Wed, 26 May 2010 19:39:31 +0000 (12:39 -0700)]
tracequery build fix

Similar to commit 392e08b7 -- we need to #undef TRACE_INCLUDE_FILE
before each header in the tracepoint query module, so they can be
queried all at once.

The side effect was that the all-inclusive tracequery build would fail,
so we'd fall back to building a separate tracequery for each header.
It's much faster when we can build them together.

* buildrun.cxx (make_tracequery): #undef TRACE_INCLUDE_FILE before each
  tracepoint header to prevent macro redefinition.

14 years agorhbz #596083 Make stap-prep resolve kernel-debuginfo-common package name.
Mark Wielaard [Wed, 26 May 2010 10:24:21 +0000 (12:24 +0200)]
rhbz #596083 Make stap-prep resolve kernel-debuginfo-common package name.

The kernel-debuginfo-common package name is slightly different on different
distros. But the correct name is always required by the kernel-debuginfo
package. So don't add it to the CANDIDATES list, but let the yumdowloader
--resolve it. Tested on f13, rhel5 and rhel6 beta.

* stap-prep: Remove kernel-debuginfo-common from CANDIDATES, add --resolve
  to yumdownloader.

14 years agoPR10245: allow "-" in sdt.h marker names
Frank Ch. Eigler [Wed, 26 May 2010 01:17:25 +0000 (21:17 -0400)]
PR10245: allow "-" in sdt.h marker names

* tapsets.cxx (sdt_query ctor): Map - to __ in incoming marker names.
* NEWS: Note it.
* testsuite/systemtap.base/sdt_types.c, sdt_misc.exp: Test it.

14 years agomake semok/thirtysix.stp test use stap -p2 instead of -p4
Frank Ch. Eigler [Wed, 26 May 2010 01:03:43 +0000 (21:03 -0400)]
make semok/thirtysix.stp test use stap -p2 instead of -p4

14 years agoPR11124: make register-name-to-number mapping a function of process elf-machine
Frank Ch. Eigler [Wed, 26 May 2010 00:47:55 +0000 (20:47 -0400)]
PR11124: make register-name-to-number mapping a function of process elf-machine

* tapsets.cxx (sdt_uprobe_var_expanding_... ctor): Use elf_machine input
  to configure register-name lookup table.
  (sdt_query::handle_query_module): Compute & pass elf_machine code.
* NEWS: Mention -DSTAP_SDT_V2

14 years agoPerformance test debuginfoless and no semaphore cases of static user probes.
Stan Cox [Tue, 25 May 2010 19:08:56 +0000 (15:08 -0400)]
Performance test debuginfoless and no semaphore cases of static user probes.

* bench.sh: Add test permutations for STAP_SDT_V2 and ! STAP_HAS_SEMAPHORES

14 years agoPR11609: tweak --all-modules
Frank Ch. Eigler [Tue, 25 May 2010 15:17:32 +0000 (11:17 -0400)]
PR11609: tweak --all-modules

* session.cxx: Reject --all-modules after --client-options.
* NEWS: Mention it beside its pal --ldd.

14 years agoPR11609: --all-options stap option to -d ALL_LOADED_MODULES
Adrien Kunysz [Tue, 25 May 2010 15:03:41 +0000 (11:03 -0400)]
PR11609: --all-options stap option to -d ALL_LOADED_MODULES

* session.cxx (insert_loaded_modules): Parse /proc/modules
  to populate unwindsym_modules ...
  (parse_cmdline): ... if --all-options was given.
* stap.1.in: Document it.

14 years agoAdd debuginfoless static uprobe handling.
Stan Cox [Tue, 25 May 2010 02:13:30 +0000 (22:13 -0400)]
Add debuginfoless static uprobe handling.

The .probes section now contains the assembler asm equivalent of each
probe argument.   stap parses this and generates the equivalent stap code
to access each argument.

* sdt.h (stap_sdt_probe_entry_v1): New.
(stap_sdt_probe_entry_v2): New.
(STAP_SDT_V1,STAP_SDT_V2): New.
(__stap_argN,STAP_PROBE_POINT): New.

* tapsets.cxx (sys/sdt.h,regex.h): Include.
(sdt_uprobe_var_expanding_visitor,sdt_kprobe_var_expanding_visitor):
Split from sdt_var_expanding_visitor.
(sdt_uprobe_var_expanding_visitor::visit_target_symbol):  Convert
$argN into the equivalent asm argument then expand into equivalent
stap parse tree.
(sdt_query):  Add arg_count, pc, arg_string, have_uprobe, have_kprobe
(sdt_query::handle_query_module):  Handle uprobe2_type.
(sdt_query::get_next_probe): Likewise.

* sdt_misc.exp (pbtype_flags): Add -DSTAP_SDT_V2
(Test 7):  Add to test types defined in *.d.

14 years agoTest that badname.stp actually does its job
Josh Stone [Mon, 24 May 2010 22:12:32 +0000 (15:12 -0700)]
Test that badname.stp actually does its job

14 years agoPR11617: Move string literal gluing from lexer to parser
Josh Stone [Sat, 22 May 2010 01:32:46 +0000 (18:32 -0700)]
PR11617: Move string literal gluing from lexer to parser

* parse.cxx (lexer::ate_comment): New flag if we just passed a comment.
  (lexer::scan): Set ate_comment, remove string gluing.
  (parser::parse_literal): Glue strings if not comment-separated.
* testsuite/semok/thirtyfive.stp: Extend test.

14 years agoQuiet the "checking uprobes" pass-4 messages
Josh Stone [Fri, 21 May 2010 22:32:10 +0000 (15:32 -0700)]
Quiet the "checking uprobes" pass-4 messages

For session.verbose=1, we mostly only print the result of the pass.  We
had a uprobes "preamble" though in pass 4, which IMO was a misleading
break in convention.  It gave the impression that all the building time
for the actual script was part of the uprobes work.

* buildrun.cxx (verify_uprobes_uptodate, make_uprobes): Only print the
  preamble message for verbose > 1.

14 years agoHide parser internals
Josh Stone [Fri, 21 May 2010 22:17:00 +0000 (15:17 -0700)]
Hide parser internals

No one needs to see the dirty laundry...

* parse.h (class parser, class lexer): Move to parse.cxx.
  (parser::parse -> parse): Split the static interface from the class.

14 years agoPR10025: Test '*' operator vs. identifier while preprocessing
Josh Stone [Fri, 21 May 2010 20:32:45 +0000 (13:32 -0700)]
PR10025: Test '*' operator vs. identifier while preprocessing

* testsuite/parseok/preprocess-wildcard.stp: New

14 years agoPR10025: Don't read ahead tokens within preprocessor blocks
Josh Stone [Thu, 20 May 2010 01:02:04 +0000 (18:02 -0700)]
PR10025: Don't read ahead tokens within preprocessor blocks

Since some aspects of the lexer are contextual, like wildcards in
probepoint identifiers, we need to wait for the right context in the
preprocessor rather than reading a bunch of tokens at once.

* parse.h (parser): Replace enqueued_pp with a pp_state stack.
* parse.cxx (parser::scan_pp): Use pp_state to decide if the current
  token should be kept or skipped, and transition states as the various
  %( %? %: %) are encountered.
  (parser::skip_pp): Helper to leap over skipped tokens.

14 years agoregen sample indices
Frank Ch. Eigler [Fri, 21 May 2010 18:04:10 +0000 (14:04 -0400)]
regen sample indices

14 years agonit: fix permissions of varwatch.stp sample
Frank Ch. Eigler [Fri, 21 May 2010 18:03:18 +0000 (14:03 -0400)]
nit: fix permissions of varwatch.stp sample

14 years agonew sample: sizeof.stp to print c type sizes
Frank Ch. Eigler [Fri, 21 May 2010 18:02:58 +0000 (14:02 -0400)]
new sample: sizeof.stp to print c type sizes

14 years agorhbz 594079: tapset/scsi.stp forward-porting for newer scsi sd/sr
Frank Ch. Eigler [Fri, 21 May 2010 17:25:03 +0000 (13:25 -0400)]
rhbz 594079: tapset/scsi.stp forward-porting for newer scsi sd/sr

* scsi.stp (scsi.ioentry): Rephrase in terms of scsi_prep_fn, sd_prep_fn
  and sr_prep_fn.

14 years agoFixed BZ 592830 by fixing signal.check_ignored.return for newer kernels.
David Smith [Tue, 18 May 2010 18:19:23 +0000 (13:19 -0500)]
Fixed BZ 592830 by fixing signal.check_ignored.return for newer kernels.

* tapset/signal.stp (signal.check_ignored.return): Provide an alternative
  for newer kernels where the sig_ignored() function has been inlined.
* tapset/errno.stp (return_str): New function.
* testsuite/buildok/signal-detailed.stp: Made the
  signal.check_ignored.return test non-optional.

14 years agoAdded RHEL4 support to socket.stp and more testing.
David Smith [Mon, 17 May 2010 20:45:32 +0000 (15:45 -0500)]
Added RHEL4 support to socket.stp and more testing.

* tapset/socket.stp: Removed kernel version checks and now works on RHEL4.
  Tested on RHEL4, RHEL4, RHEL6(beta), f11, f12, and rawhide.
* testsuite/buildok/socket-detailed.stp: Renamed from socket.stp and updated.
* testsuite/buildok/socket-embedded.stp: Updated.

14 years agoPR 11338 (partial): Used @defined in tcpmib.stp and new test cases.
David Smith [Mon, 17 May 2010 20:24:26 +0000 (15:24 -0500)]
PR 11338 (partial): Used @defined in tcpmib.stp and new test cases.

* tapset/tcpmib.stp: Removed all kernel version checks.
* testsuite/buildok/tcpmib-detailed.stp: New testcase.

14 years agoAdded RHEL4 support to task_time.stp and more testing.
David Smith [Mon, 17 May 2010 16:29:01 +0000 (11:29 -0500)]
Added RHEL4 support to task_time.stp and more testing.

* tapset/task_time.stp: Added RHEL4 support.
* testsuite/buildok/task_time-embedded.stp: New testcase.

14 years agoAdded RHEL4 support to proc_mem.stp and more testing.
David Smith [Fri, 14 May 2010 20:46:30 +0000 (15:46 -0500)]
Added RHEL4 support to proc_mem.stp and more testing.

* tapset/proc_mem.stp: Added RHEL4 support.
* testsuite/buildok/proc_mem-embedded.stp: Renamed from proc_mem.stp and
  added more functions.

14 years agoUpdate the ioblock and scheduler tapsets and testcases.
David Smith [Fri, 14 May 2010 18:03:53 +0000 (13:03 -0500)]
Update the ioblock and scheduler tapsets and testcases.

* tapset/ioblock.stp: Fixed several problems where the ioblock_trace
  probes didn't all export the same convenience variables.  Works on
  RHEL4, RHEL5, RHEL6(beta), f11, f12, and rawhide.
* tapset/scheduler.stp: Fixed several problems where the kprobes backup
  probes for tracepoints didn't work.  Works on RHEL4, RHEL5, RHEL6(beta),
  f11, f12, and rawhide.
* testsuite/buildok/ioblock-all-probes.stp: New testcase.
* testsuite/buildok/ioblock-detailed.stp: New detailed test of all ioblock
  probes and convenience variables.
* testsuite/buildok/ioblock-embedded.stp: Added bio_rw_str() test.
* testsuite/buildok/ioblock_test.stp: Deleted old ioblock test.
* testsuite/buildok/scheduler-embedded.stp: New testcase.
* testsuite/buildok/scheduler-detailed.stp: New detailed test of all
  scheduler probes and convenience variables.
* testsuite/buildok/scheduler-cpu_off.stp: New detailed test which can
  fail on some platforms because we can't find inline function arguments.
* testsuite/buildok/scheduler-ctxswitch.stp: Ditto.
* testsuite/buildok/scheduler-migrate.stp: Ditto.
* testsuite/buildok/scheduler-test-tracepoints.stp: Deleted old test.
* testsuite/buildok/sched_test.stp: Ditto.
* testsuite/systemtap.pass1-4/buildok.exp: Kfail the scheduler
  single-probe tests.

14 years agoRemove unused "nm" from parse_defined_op
Josh Stone [Thu, 13 May 2010 22:43:12 +0000 (15:43 -0700)]
Remove unused "nm" from parse_defined_op

14 years agoPR11598: Allow "&" address-of in @defined()
Josh Stone [Thu, 13 May 2010 22:01:13 +0000 (15:01 -0700)]
PR11598: Allow "&" address-of in @defined()

* parse.cxx (parser::parse_target_symbol): Do addressof parsing here.
  (parser::parse_value): Yield addressof parsing to parse_target_symbol.
  (parser::parse_defined_op): Don't insist on an identifier, could be &.
* testsuite/semok/thirtysix.stp: Add tests for @defined(&...).

14 years agoTo avoid performance penalties, put context.stp embedded-C back.
David Smith [Wed, 12 May 2010 19:29:14 +0000 (14:29 -0500)]
To avoid performance penalties, put context.stp embedded-C back.

* tapset/context.stp: Backed out changes.

14 years agoPR 9871 (partial) fix. Removed some embedded-C in context.stp and task.stp.
David Smith [Wed, 12 May 2010 17:49:03 +0000 (12:49 -0500)]
PR 9871 (partial) fix.  Removed some embedded-C in context.stp and task.stp.

* tapset/context.stp: Converted several functions from embedded-C to
  script language.
* tapset/task.stp (task_parent): Converted from embedded-C to script
  languange.
* testsuite/buildok/context-embedded.stp: Moved function tests not
  actually present in context.stp to their own files.
* testsuite/buildok/context-symbols-embedded.stp: New testcase (includes
  some tests from context-embedded.stp).
* testsuite/buildok/context-unwind-embedded.stp: Ditto.
* testsuite/buildok/ucontext-symbols-embedded.stp: Ditto.
* testsuite/buildok/ucontext-unwind-embedded.stp: Ditto.
* testsuite/systemtap.pass1-4/buildok.exp: Kfails the ucontext tests if
  the system doesn't support uprobes.

14 years agoPR11443: stap -l/-L mode should set EXIT_FAILURE if result list is empty
Frank Ch. Eigler [Wed, 12 May 2010 14:05:14 +0000 (10:05 -0400)]
PR11443: stap -l/-L mode should set EXIT_FAILURE if result list is empty

* elaborate.cxx (semantic_pass): With errors suppressed in listing_mode,
  still signal rc>0 for empty resolved-probe list.
* stap.1.in: Document this.

14 years agoAdd testcase for PR11590 optimized pre/postfix operators
Mark Wielaard [Wed, 12 May 2010 12:39:55 +0000 (14:39 +0200)]
Add testcase for PR11590 optimized pre/postfix operators

* testsuite/systemtap.base/prepost_optim.stp: New test.
* testsuite/systemtap.base/prepost_optim.exp: Harness.

14 years agoAdd testcase for PR6954 ++ operations not triggering automatic global printing
Mark Wielaard [Wed, 12 May 2010 12:31:59 +0000 (14:31 +0200)]
Add testcase for PR6954 ++ operations not triggering automatic global printing

* testsuite/systemtap.base/global_end_var.stp: New test.
* testsuite/systemtap.base/global_end.exp: Add xfail.

14 years agoPR11590 Revert "PR6954: make ++/-- operation trigger automatic global printing"
Mark Wielaard [Wed, 12 May 2010 12:16:26 +0000 (14:16 +0200)]
PR11590 Revert "PR6954: make ++/-- operation trigger automatic global printing"

This reverts commit 982b88bd950381434a8325e550eff9df59f59dcd.

Pretending that pre/postfix ++/-- operations only writes to its argument
messes up the optimization of a variable that is assigned and then
only used through post/prefix ++/--operators.

14 years agoClear linetimes' last_pp to avoid map overflow
Josh Stone [Wed, 12 May 2010 00:25:30 +0000 (17:25 -0700)]
Clear linetimes' last_pp to avoid map overflow

14 years agoAllow lintimes.stp to work for multithread sections of code.
William Cohen [Tue, 11 May 2010 21:21:54 +0000 (17:21 -0400)]
Allow lintimes.stp to work for multithread sections of code.

14 years agoKfail networking-change_rx_flag.stp in buildok.exp.
David Smith [Tue, 11 May 2010 21:18:17 +0000 (16:18 -0500)]
Kfail networking-change_rx_flag.stp in buildok.exp.

* testsuite/systemtap.pass1-4/buildok.exp: Kfail
  networking-change_rx_flag.stp.

14 years agoUpdated networking.stp and added full testing.
David Smith [Tue, 11 May 2010 20:05:14 +0000 (15:05 -0500)]
Updated networking.stp and added full testing.

* tapset/networking.stp: For RHEL4, marked netdev.hard_transmit and
  netdev.change_mac probes as optional.
* testsuite/buildok/netdev.stp: Deleted old networking test.
* testsuite/buildok/networking.stp: Ditto.
* testsuite/buildok/networking-all-probes.stp: New basic test of
  networking.stp.
* testsuite/buildok/networking-embedded.stp: New test of functions in
  networking.stp.
* testsuite/buildok/networking-detailed.stp: New detailed test of all
  netdev probes and convenience variables.
* testsuite/buildok/networking-change_rx_flag.stp: New detailed test which
  can fail on some platforms because we can't find inline function
  arguments.

14 years agoPR 9871 (partial) fix. Removed all remaining embedded-C in vfs.stp.
David Smith [Tue, 11 May 2010 17:58:17 +0000 (12:58 -0500)]
PR 9871 (partial) fix.  Removed all remaining embedded-C in vfs.stp.

* tapset/vfs.stp: Large update to get working on RHEL4, RHEL5,
  RHEL6(beta), f11, f12, and rawhide.  Removed all remaining embedded-C.
* testsuite/buildok/vfs-embedded.stp: Updated with more functions.
* testsuite/buildok/vfs-detailed.stp: New detailed test of all vfs probes
  and convenience variables.
* testsuite/buildok/testsuite/buildok/vfs_testcase.stp: Deleted (replaced
  by vfs-detailed.stp).

14 years agoAdd the linetimes.stp to the examples.
William Cohen [Tue, 11 May 2010 16:04:06 +0000 (12:04 -0400)]
Add the linetimes.stp to the examples.

14 years agoSemantic errors during listing mode are suppressed.
Mark Wielaard [Tue, 11 May 2010 13:26:10 +0000 (15:26 +0200)]
Semantic errors during listing mode are suppressed.

Since commit 68ac5d, so adjust testsuite output matching.

* testsuite/systemtap.base/labels.exp: Expect no output for non-matching -l.

14 years agostap-gen-cert is now installed under pkglibexecdir.
Mark Wielaard [Tue, 11 May 2010 12:51:25 +0000 (14:51 +0200)]
stap-gen-cert is now installed under pkglibexecdir.

* modsign.cxx (init_cert_db_path): Now find stap-gen-cert under PKGLIBDIR.

14 years agoUpdated bkl example for 2.6.33
Wenji Huang [Tue, 11 May 2010 07:12:35 +0000 (15:12 +0800)]
Updated bkl example for 2.6.33

* testsuite/systemtap.examples/locks/bkl.stp: change function name
  for 2.6.33+.
* testsuite/systemtap.examples/locks/bkl_stats.stp: Ditto.

14 years agoPR11573: cont'd, check CONFIG_UTRACE for ubacktrace test
Wenji Huang [Tue, 11 May 2010 03:13:33 +0000 (11:13 +0800)]
PR11573: cont'd, check CONFIG_UTRACE for ubacktrace test

* context-embedded.stp: check CONFIG_UTRACE.

14 years agoUpdated ioscheduler.stp and tests.
David Smith [Mon, 10 May 2010 20:32:28 +0000 (15:32 -0500)]
Updated ioscheduler.stp and tests.

* tapset/ioscheduler.stp: Large update to get working on RHEL4, RHEL5,
  RHEL6(beta), f11, f12, and rawhide.
* testsuite/buildok/ioscheduler-all-probes.stp: New test.
* testsuite/buildok/ioscheduler-detailed.stp: New detailed test of all
  ioscheduler probes and convenience variables.
* testsuite/buildok/ioscheduler.stp: Deleted, since no longer needed with
  the addition of ioscheduler-detailed.stp.

14 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
Dave Brolley [Mon, 10 May 2010 19:07:22 +0000 (15:07 -0400)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

14 years agoSearch for stap-sign-module in the linexec directory when signing thge uprobes module.
Dave Brolley [Mon, 10 May 2010 19:06:31 +0000 (15:06 -0400)]
Search for stap-sign-module in the linexec directory when signing thge uprobes module.

14 years agoFix vm.kmalloc_node for i686 f11.
David Smith [Mon, 10 May 2010 19:01:19 +0000 (14:01 -0500)]
Fix vm.kmalloc_node for i686 f11.

* tapset/memory.stp (__vm.kmalloc_node.kp): Only use '$flags' if it is
  defined.

14 years agoPR11266: Catch target_symbols as non-assignment lvalues
Josh Stone [Fri, 7 May 2010 19:07:26 +0000 (12:07 -0700)]
PR11266: Catch target_symbols as non-assignment lvalues

There are more ways to modify values than just assignment;
"struct visitor" knows this, but var_expanding_visitor needs
a lesson.

* tapsets.cxx (var_expanding_visitor::rewrite_lvalue): New, factored out
  of visit_assignment to change various lvalues into function calls.
  (var_expanding_visitor::visit_assignment): Use rewrite_lvalue.
  (var_expanding_visitor::visit_pre_crement): New.
  (var_expanding_visitor::visit_post_crement): New.
  (var_expanding_visitor::visit_delete_statement): New.
* testsuite/semko/target_lvalue.stp: Test for exit-1 without crashing.

14 years agoRemove references to probe_context_var
Josh Stone [Fri, 7 May 2010 18:18:35 +0000 (11:18 -0700)]
Remove references to probe_context_var

These are leftovers from commit a45664f4.

14 years agotweak: fixed per-pass verbosity control for 'using cached ...' messages
Frank Ch. Eigler [Fri, 7 May 2010 19:26:09 +0000 (15:26 -0400)]
tweak: fixed per-pass verbosity control for 'using cached ...' messages

* cache.cxx (get_script_from_cache): Use s.perpass_verbose[2/3] for
  simulated pass3/4 messages.

14 years agoPR11573: cont'd, defeat on non-utrace platforms
Frank Ch. Eigler [Fri, 7 May 2010 18:25:24 +0000 (14:25 -0400)]
PR11573: cont'd, defeat on non-utrace platforms

On jistone's advice, tested the code on rhel4 where there is no
utrace.  print_ubacktrace() works only on incoming kernel state
(which shouldn't really work anyway).  Forcing uprobes for these
ubacktrace() type calls is therefore not a problem.

* buildrun.cxx (uprobes_pass): If uprobes still needed, probably
  due to /* pragma:uprobes */, rejectfor utrace-less kernels.

14 years agoPR11573: infer need for uprobes from special embedded-c markup tag
Frank Ch. Eigler [Fri, 7 May 2010 16:57:50 +0000 (12:57 -0400)]
PR11573: infer need for uprobes from special embedded-c markup tag

* tapset/ucontext-unwind.stp: Mark up these babies with /* pragma:uprobes */.
* elaborate.cxx (typeresolution_info::visit_embeddedcode): Look for that
  and activate session.need_uprobes if found.

14 years agotweak: accept -DSTAP_NO_OVERLOAD as an alias of -DSTP_NO_OVERLOAD
Frank Ch. Eigler [Thu, 6 May 2010 23:48:08 +0000 (19:48 -0400)]
tweak: accept -DSTAP_NO_OVERLOAD as an alias of -DSTP_NO_OVERLOAD

14 years agoPR11443: -L --unprivileged
Frank Ch. Eigler [Thu, 6 May 2010 22:11:11 +0000 (18:11 -0400)]
PR11443: -L --unprivileged

* elaborate.cxx (derive_probes): Suppress all semantic_errors during
  listing mode.

14 years agodocs: clean up stapfuncs/stapprobes man pages, deprecate probefunc()
Frank Ch. Eigler [Thu, 6 May 2010 18:53:32 +0000 (14:53 -0400)]
docs: clean up stapfuncs/stapprobes man pages, deprecate probefunc()

* probefuncs.3stap.in: Remove most sections that are redundant with
  automatically extracted documentation in individual function::*(stap)
  man pages.
* probeprobes.3stap.in: Ditto for probes::*(stap).
* tapset/context-symbols.stp (probefunc): Describe as deprecated.

14 years agoPR11575: lengthen TRYLOCKDELAY
Frank Ch. Eigler [Thu, 6 May 2010 17:04:11 +0000 (13:04 -0400)]
PR11575: lengthen TRYLOCKDELAY

Change default timeout for global variable locks to apprx. 1 ms,
in 10us chunks.  TRYLOCKDELAY now measures microseconds.

* translate.cxx (translate_pass): Change TRYLOCKDELAY and
  MAXTRYLOCK default values.
* runtime/probe_lock.h (stp_lock_probe): Use udelay() rather than
  ndelay().
* runtime/time.c (STP_TIMELOCK*): New macros just for time seqlock
  timeout purposes.  Expected contention is negligible here.

14 years agoDefault publican to common brand which should always be available.
Mark Wielaard [Thu, 6 May 2010 13:07:07 +0000 (15:07 +0200)]
Default publican to common brand which should always be available.

* configure.ac (publican-brand): Change default from "fedora" to "common".
* configure: Regenerated.

14 years agoCorrect the comparison of linux version for new nfs error types
Wenji Huang [Thu, 6 May 2010 08:29:21 +0000 (16:29 +0800)]
Correct the comparison of linux version for new nfs error types

The nfs41 error types were added from 2.6.30, not 2.6.19.

14 years agoMark __vm.kmem_cache_alloc_node.kp optional
Wenji Huang [Thu, 6 May 2010 06:08:59 +0000 (14:08 +0800)]
Mark __vm.kmem_cache_alloc_node.kp optional

In FC11, __vm.kmem_cache_alloc_node.kp is not resolved,
neither does __vm.kmem_cache_alloc_node.tp.

14 years agoPR11556: Support array indexing on @cast pointers
Josh Stone [Wed, 5 May 2010 23:47:19 +0000 (16:47 -0700)]
PR11556: Support array indexing on @cast pointers

It's a bit of a special case, because we don't have a pointer DIE for
the named type in @cast expressions.  However, we can read the element
size manually and still simulate an array access.

* loc2c.c (pointer_stride): New, factored out of array_stride.
  (c_translate_array_pointer): New, performs the pointer math based on
  the element size of the pointee type.
* dwflpp.cxx (dwflpp::translate_components): Take a starting component.
  (dwflpp::literal_stmt_for_pointer): If the initial type is not already
  a pointer or array, we can fake an array access on the input pointer.
* testsuite/semok/cast.stp: Add an array access test on a @cast.
* testsuite/systemtap.base/cast.stp: Ditto.
* testsuite/systemtap.base/cast.exp: Ditto.

14 years agoStraighten out die/attr use in dwflpp translation
Josh Stone [Wed, 5 May 2010 22:52:55 +0000 (15:52 -0700)]
Straighten out die/attr use in dwflpp translation

It was confusing (to me) what was the expected state of each die_mem and
attr_mem passed around in dwflpp translation.  I've changed it now so
that we pass just a vardie and typedie, which I think is clearer.  This
is also nicer for @cast where we don't have any attr for the initial
type.

* dwflpp.cxx (dwarf_die_type): Helper to get the type, throw on error.
  (dwflpp::translate_components): Just update a vardie and typedie.
  (dwflpp::translate_final_fetch_or_store): Use a vardie and typedie.
  (dwflpp::resolve_unqualified_inner_typedie): Update dies, not attrs.
  (dwflpp::literal_stmt_for_local): Update calls to above.
  (dwflpp::literal_stmt_for_return): Ditto.
  (dwflpp::literal_stmt_for_pointer): Ditto.

14 years agoPR 11338 (partial): Used @defined in tcp.stp and new test cases.
David Smith [Wed, 5 May 2010 17:32:21 +0000 (12:32 -0500)]
PR 11338 (partial): Used @defined in tcp.stp and new test cases.

* tapset/tcp.stp: Removed kernel version check.  Made other small
  improvements.
* testsuite/buildok/tcp-detailed.stp: New detailed test of all tcp probes
  and convenience variables.
* testsuite/buildok/udp-detailed.stp: New detailed test of all udp probes
  and convenience variables.
* testsuite/buildok/tcp-embedded.stp: Added rest of the tcp embedded-C
  functions.

14 years agoUpdated context tapset (for RHEL4) and updated the context testcase.
David Smith [Tue, 4 May 2010 21:39:52 +0000 (16:39 -0500)]
Updated context tapset (for RHEL4) and updated the context testcase.

* tapset/context.stp: Added RHEL4 fixes.
* tapset/context-embedded.stp: Added rest of the context embedded-C
  functions and renamed from context-test.stp.

14 years agoCast negative values to smaller type.
Stan Cox [Tue, 4 May 2010 20:14:25 +0000 (16:14 -0400)]
Cast negative values to smaller type.

sdt_types.stp (short,int): New.
(const_short_int_var,volatile_short_int_var,const_int_var,volatile_int_var): Use it.

14 years agoPR11566: "is too"
Frank Ch. Eigler [Tue, 4 May 2010 19:21:22 +0000 (15:21 -0400)]
PR11566: "is too"

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