kenistoj [Fri, 25 Jan 2008 23:55:04 +0000 (23:55 +0000)]
* runtime/uprobes/uprobes.c: Within a probed process, serialize
calls to access_process_vm() when populating instructions
slots. Fixes an SMP bug on multithreaded apps with many
active probepoints.
* runtime/uprobes/uprobes.h: Ditto
fche [Fri, 25 Jan 2008 19:05:46 +0000 (19:05 +0000)]
PR 5672: fix generated dwarf probe point names from wildcards
2008-01-25 Frank Ch. Eigler <fche@elastic.org>
PR 5672.
* staptree.cxx (probe_point copy ctor): New function.
* staptree.h: Declare it.
* tapsets.cxx (dwarf_derived_probe ctor): Call it to shallow-copy
incoming base probe location before recomputing/overwriting it.
Frank Ch. Eigler [Fri, 25 Jan 2008 19:04:39 +0000 (14:04 -0500)]
PR 5672: fix generated dwarf probe point names from wildcards
2008-01-25 Frank Ch. Eigler <fche@elastic.org>
PR 5672.
* staptree.cxx (probe_point copy ctor): New function.
* staptree.h: Declare it.
* tapsets.cxx (dwarf_derived_probe ctor): Call it to shallow-copy
incoming base probe location before recomputing/overwriting it.
dsmith [Thu, 24 Jan 2008 20:24:03 +0000 (20:24 +0000)]
2008-01-24 David Smith <dsmith@redhat.com>
PR 5661 (reverted).
* configure.ac: Removed elfutils version number check.
* configure: Regenerated.
* acsite.m4: Removed.
* systemtap.spec.in: Minimum elfutils version number is no longer
filled in by configure.
dsmith [Thu, 24 Jan 2008 18:11:34 +0000 (18:11 +0000)]
2008-01-24 David Smith <dsmith@redhat.com>
PR 5650 (partial).
* configure.ac: Handles sqlite optional functionality correctly.
If enabled/disabled by the user, do the right thing. If not
specified by the user, use it if present.
* configure: Regenerated.
* systemtap.spec.in: Always specify to configure whether to use
sqlite or not.
hiramatu [Thu, 24 Jan 2008 16:55:36 +0000 (16:55 +0000)]
2008-01-23 Masami Hiramatsu <mhiramat@redhat.com>
PR5554
* syscalls.stp (__is_user_regs): Add new function to check whether
pt_regs is user mode registers.
(syscall.fork): Use __is_user_regs() to decide syscall name.
brolley [Thu, 24 Jan 2008 16:43:13 +0000 (16:43 +0000)]
2008-01-24 Dave Brolley <brolley@redhat.com>
PR 5017.
* staptree.cxx (<cstring>): #include it.
(required <indexable *>): Remove 'static' from instantiation and
move instantiation to here from...
* staptree.h: ...here.
dsmith [Wed, 23 Jan 2008 19:58:41 +0000 (19:58 +0000)]
2008-01-23 David Smith <dsmith@redhat.com>
PR 5661.
* configure.ac: Checks elfutils version number.
* acsite.m4: New file containing macro to return elfutils version
number.
* configure: Regenerated.
* systemtap.spec.in: Minimum elfutils version number is now filled
in by configure.
brolley [Wed, 23 Jan 2008 19:15:19 +0000 (19:15 +0000)]
2008-01-23 Dave Brolley <brolley@redhat.com>
* translate.cxx (var::fini): New method.
(c_unparser::emit_module_init): Call var::fini when deregistering
variables without indices.
(c_unparser::emit_module_exit): Likewise.
fche [Fri, 18 Jan 2008 13:07:13 +0000 (13:07 +0000)]
PR 4936: probe pont conditions part 2; reorg in prep for full rewriting
2008-01-17 Frank Ch. Eigler <fche@elastic.org>
PR 4935.
Reorganize probe condition implementation.
* elaborate.cxx (add_condition): New function.
(derived_probe): Remove condition member.
(derived_probe ctors): Assert non-null incoming probe/location ptrs.
(insert_condition_statement): Remove; turn into ...
(semantic_pass_conditions): New pass-2 subpass.
(semantic_pass_symbols, visit_symbol, visit_functioncall, find_var):
Detect some condition-related error cases.
(match_key): Change type to exp_type from tok_type. Update callers.
(alias_expansion_builder): Propagate probe conditions.
* staptree.cxx (probe): Remove condition field and related functions.
* tapsets.cxx (dwarf_derived_probe ctor): Compute replacement
wildcard-expanded probe_point preserving more of the original
location.
(mark_derived_probe ctor): Make similar to others - take location
rather than condition parameters.
* translate.cxx (emit_common_header): Tweak ordering of tmpcounter
traversal and hashkey expression generation.
* elaborate.h: Corresponding changes.
2008-01-17 Frank Ch. Eigler <fche@elastic.org>
PR 4935.
* semko/forty.stp, fortyone.stp, fortytwo.stp: New tests.
* semok/twentynine.stp: Weaken test since condition expressions have
become more tightly constrained.
dsmith [Thu, 17 Jan 2008 20:44:34 +0000 (20:44 +0000)]
2008-01-17 David Smith <dsmith@redhat.com>
* tapsets.cxx
(perfmon_var_expanding_copy_visitor::visit_target_symbol): Print an
error when trying to use the perfmon target variable '$counter as
an array or structure.
dsmith [Thu, 17 Jan 2008 20:27:41 +0000 (20:27 +0000)]
2008-01-17 David Smith <dsmith@redhat.com>
* tapsets.cxx
(procfs_var_expanding_copy_visitor::visit_target_symbol): Print an
error when trying to use the procfs target variable '$value' as an
array or structure.
* signal.stp (get_sa_flags, get_sa_handler): New functions to
return addresses of sa_flags and sa_handler of struct k_sigaction.
(sigset_mask_str): New function. Returns a string containing the
set of signals to be blocked when executing the signal handler.
(is_sig_blocked): New function. Checks task_struct->blocked signal
mask for signals that are currently blocked.
(signal_str): New function. Translates a signal number.
(sa_flags_str): New function. Translates the sa_flags.
(sa_handler_str): New function. Returns the signal action or handler
associated to the signal.
2008-01-16 Eugene Teo <eteo@redhat.com>
* buildok/signal-embedded.stp: Add all new embedded C functions
in signal.
hunt [Tue, 15 Jan 2008 17:11:17 +0000 (17:11 +0000)]
2008-01-14 Martin Hunt <hunt@redhat.com>
* translate.cxx (emit_module_init): Call _stp_print_kernel_info()
to print out version information and internal memory usage stats.
wcohen [Mon, 7 Jan 2008 21:12:53 +0000 (21:12 +0000)]
2008-01-07 William Cohen <wcohen@redhat.com>
* testsuite/lib/systemtap.exp (as_root): new proc.
* testsuite/systemtap.context/context.exp:
* testsuite/systemtap.printf/end1b.exp:
* testsuite/systemtap.printf/mixed_outb.exp:
* testsuite/systemtap.printf/out1b.exp:
* testsuite/systemtap.printf/out2b.exp:
* testsuite/systemtap.printf/out3b.exp: Use as_root proc.
fche [Wed, 2 Jan 2008 18:22:28 +0000 (18:22 +0000)]
Fix mkdtemp() umask issue
Even though the mkdtemp() man page indicates that the
directory will be created with always 0700 permissions,
it is actually affected by the process's umask.
So, if you run stap with an unusual umask it can end
up creating the temp dir with permissions that
staprun can't handle e.g.:
Even though the mkdtemp() man page indicates that the
directory will be created with always 0700 permissions,
it is actually affected by the process's umask.
So, if you run stap with an unusual umask it can end
up creating the temp dir with permissions that
staprun can't handle e.g.:
hunt [Wed, 12 Dec 2007 16:16:50 +0000 (16:16 +0000)]
2007-12-12 Martin Hunt <hunt@redhat.com>
Detect crashing stap and report as a test failure.
* lib/systemtap.exp (stap_run_batch): Return -1 if stap
crashed.
* systemtap.pass1-4/buildko.exp: If stap_run_batch returned
-1 then mark test as failed.
* systemtap.pass1-4/parseko.exp: Ditto.
* systemtap.pass1-4/semko.exp: Ditto.
* systemtap.pass1-4/transko.exp: Ditto.
hiramatu [Mon, 3 Dec 2007 21:30:31 +0000 (21:30 +0000)]
2007-12-03 Masami Hiramatsu <mhiramat@redhat.com>
PR 5376
* parse.cxx (lexer::scan): Treat '*' as an alphabet if the wildcard
flag is true.
(parser::parse_probe_point): Call parser::next() with wildcard = true.
(parser::scan_pp): Add wildcard flag and pass it to lexer::scan.
(parser::next): Ditto.
(parser::peek): Ditto.
* parse.h : Ditto.
* testsuites/perseko/twentytwo.stp: Change testcase to the wildcarded
probe points with spaces.