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.:
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.
hiramatu [Tue, 20 Nov 2007 21:03:16 +0000 (21:03 +0000)]
2007-11-20 Masami Hiramatsu <mhiramat@redhat.com>
PR 4935.
* parse.cxx (parser::parse_probe_point): Parse "if" condition
following probe point.
* staptree.h (probe_point): Add "condition" field.
(probe): Add "condition" field and "add_condition" method.
(deep_copy_visitor): Add "deep_copy" method for the expression.
* staptree.cxx (probe_point::probe_point): Initalize it.
(probe::add_condition): Implement it.
(probe::print): Output "condition" field.
(probe::str): Ditto.
(deep_copy_visitor::deep_copy): Implement it.
* elaborate.h (derived_probe): Add "insert_condition_statement"
method.
* elaborate.cxx (derived_probe::derived_probe): Initialize "condition"
field, and insert a condition check routine on the top of body.
(derived_probe::insert_condition_statement): Implement it.
(alias_expansion_builder::build): Pass the condition from the alias
referer to new alias.
* tapsets.cxx (be_derived_probe): Remove unused constructor.
(dwarf_derived_probe::dwarf_derived_probe): Insert a condition check
routine on the top of body.
(mark_derived_probe::mark_derived_probe): Ditto.
(mark_builder::build): Pass the base location to mark_derived_probe.
dsmith [Thu, 15 Nov 2007 16:51:11 +0000 (16:51 +0000)]
2007-11-15 David Smith <dsmith@redhat.com>
* tapsets.cxx: Removed mark_query structure.
(mark_derived_probe::mark_derived_probe): Just looks for "kernel"
marker probes.
(mark_builder::build_no_more): No longer kern_dw, instead clears
the marker cache.
(mark_builder::build): Now parses Module.markers file to find
marker list and stores them in a cache.
(register_standard_tapsets): Removed 'module("foo").mark("bar")'.
All markers now go through 'kernel.mark("bar")'.
zhaolei [Wed, 14 Nov 2007 06:19:28 +0000 (06:19 +0000)]
2007-11-14 Zhaolei <zhaolei@cn.fujitsu.com>
From Lai Jiangshan <laijs@cn.fujitsu.com>
* signal.stp (signal.do_action): Call __get_action_mask to get mask
to fix semantic error of accessing a struct.
* signal.stp (__get_action_mask): Add.
kenistoj [Tue, 13 Nov 2007 21:57:21 +0000 (21:57 +0000)]
PR 5270
* main.cxx: Restored pre-10-08 version: moved uprobes build to
buildrun.cxx.
* buildrun.cxx: Reworked uprobes build so that the resulting
Module.symvers can be used in building the stap-generated
module. If user isn't root, call verify_uprobes_uptodate()
rather than trying (and failing) to rebuild uprobes.ko.
* buildrun.h: uprobes_enabled() and make_uprobes() are no
longer extern.
* runtime/uprobes/Makefile: Added uprobes.ko target for use
by verify_uprobes_uptodate().
hunt [Mon, 12 Nov 2007 22:14:20 +0000 (22:14 +0000)]
2007-11-12 Martin Hunt <hunt@redhat.com>
* stap.1.in: Replaced references to the log() function.
* stapex.5.in: Ditto.
* stapfuncs.5.in: Ditto. ALso remove print and printf. They are
documented in stap.1.in.
hunt [Mon, 12 Nov 2007 21:55:53 +0000 (21:55 +0000)]
2007-11-12 Martin Hunt <hunt@redhat.com>
* translate.cxx (visit_print_format): Strings without a format or
formatted with "%s" or "%s\n" should be printed with calls to _stp_print().
Call _stp_print_char() if printing a char.
* staptree.cxx (parse_print): Check for "print_char".
hiramatu [Fri, 9 Nov 2007 18:12:06 +0000 (18:12 +0000)]
2007-11-09 Masami Hiramatsu <mhiramat@redhat.com>
PR3858
* print.c: Add -DRELAY_HOST=<hostname> and -DRELAY_GUEST=<hostname>
options support.
(_stp_print_flush): Disable irqs if -DRELAY_* option is specified.
* print_old.c: Export stp_print_flush to other modules if the
-DRELAY_HOST option is specified.
* print_new.c: Ditto.
* transport.c (_stp_transport_init): Reduce relay buffer size to
64KB*2 if -DRELAY_GUEST is specified.
* systemtap.printf/sharedbuf.exp: New test for buffer sharing option.
* systemtap.printf/sharedbuf.stp: Ditto.
* systemtap.printf/hello.stp: Ditto.
* systemtap.printf/hello2.stp: Ditto.
zhaolei [Thu, 8 Nov 2007 02:02:47 +0000 (02:02 +0000)]
2007-11-8 Zhaolei <zhaolei@cn.fujitsu.com>
From Lai Jiangshan <laijs@cn.fujitsu.com>
* rpc.stp (clones_from_clnt): Use deref to check, then use
atomic_read to read an atomic_t to avoid compilation error of
type matching.
(tasks_from_clnt): Ditto.
hunt [Thu, 1 Nov 2007 19:19:33 +0000 (19:19 +0000)]
2007-11-01 Martin Hunt <hunt@redhat.com>
* procfs.c, control.c, transport.c: Recognize when stapio
is detached and disable delayed work. Enable when attached.
Cleanup code to destroy workqueue on exit.
mmason [Thu, 25 Oct 2007 23:25:45 +0000 (23:25 +0000)]
stat-common.c: Allow histogram bucket elision to be turned off
with -DHIST_ELISION=<negative #>. Also cleaned up looping code to
prevent unnecessary interation over non-existent buckets.
hiramatu [Fri, 19 Oct 2007 19:54:23 +0000 (19:54 +0000)]
2007-10-19 Masami Hiramatsu <mhiramat@redhat.com>
From Satoru Moriya <satoru.moriya.br@hitachi.com>:
* staplog.c :(create_output_dir): New function for creating output
directory.
(create_output_filename): New function for making output filename.
(print_rchan_info): New function for displaying relay channel status.
(open_output_file): New function for opening output file.
(output_cpu_logs): Cleanup code and fix bugs to retrieve buffer
data even when the last buffer is full and even if the systemtap
uses old(non-utt) format. Add a routine for '-a' option.
(cmd_staplog): Add '-a' option.
(help_staplog): Ditto.
Increase reliability under loads.
* systemtap.samples/pfaults.exp: Increase MAXACTION.
* systemtap.context/backtrace.tcl: Handle just
a single userspace address.
kenistoj [Tue, 16 Oct 2007 23:40:49 +0000 (23:40 +0000)]
* runtime/uprobes/uprobes.[ch], uprobes_i386.[ch],
uprobes_ppc64.h, uprobes_s390.h: Adjusted SLOT_IP and
arch_validate_probed_insn to accept task pointer (needed by
x86_64); added uprobe_probept_arch_info and uprobe_task_arch_info
(ditto).
* runtime/uprobes/uprobes_i386.c: Fixed a couple of glitches
discovered when porting to x86_64