]> sourceware.org Git - systemtap.git/log
systemtap.git
11 years agofix regex_query class definition
Serguei Makarov [Mon, 28 Jan 2013 22:01:15 +0000 (17:01 -0500)]
fix regex_query class definition

11 years agotypofix parse_literal_string()
Serguei Makarov [Mon, 28 Jan 2013 21:18:13 +0000 (16:18 -0500)]
typofix parse_literal_string()

11 years agoPR11334: testsuite tweaks for merge
Serguei Makarov [Fri, 25 Jan 2013 19:18:06 +0000 (14:18 -0500)]
PR11334: testsuite tweaks for merge

Keeping the separate re2c-migrate testsuite at the moment.

(I tried putting together a systemtap script with the testsuite,
but it winds up being too unwieldy, and I couldn't figure out
a good way to be able to switch it to 'one Expect test per regex'
mode on demand. Will get rid of separate regcomp testsuite once
I figure it out.)

11 years agoPR11334: create separate parse_literal_string() to avoid typecasting.
Serguei Makarov [Fri, 25 Jan 2013 18:59:15 +0000 (13:59 -0500)]
PR11334: create separate parse_literal_string() to avoid typecasting.

11 years agoPR11334: add basic backslash escaping step to regex parser
Serguei Makarov [Fri, 25 Jan 2013 18:21:28 +0000 (13:21 -0500)]
PR11334: add basic backslash escaping step to regex parser

The SystemTap parser preserves string literal backslashes
to pass them on to the C parser, so stapregex needs to do
its own escaping.

11 years agoPR11334: fix character grouping before postfix ops
Serguei Makarov [Fri, 25 Jan 2013 15:21:05 +0000 (10:21 -0500)]
PR11334: fix character grouping before postfix ops

Previous version of regex parser incorrectly grouped e.g. ab+ as (ab)+.
This patch fixes that problem.

11 years agoadd appropriate copyblurbs to all re2c files
Serguei Makarov [Thu, 24 Jan 2013 16:05:44 +0000 (11:05 -0500)]
add appropriate copyblurbs to all re2c files

11 years agostapregexp code-gen: emit #undef YY* 's to undo generated #define YY*'s
Frank Ch. Eigler [Tue, 22 Jan 2013 20:21:20 +0000 (15:21 -0500)]
stapregexp code-gen: emit #undef YY* 's to undo generated #define YY*'s

11 years agore2c compilation warning->error fixes for f17 (gcc 4.7)
Frank Ch. Eigler [Tue, 22 Jan 2013 19:22:21 +0000 (14:22 -0500)]
re2c compilation warning->error fixes for f17 (gcc 4.7)

11 years agoPR11334: support for ^ and $ anchoring operators
Serguei Makarov [Mon, 21 Jan 2013 20:17:27 +0000 (15:17 -0500)]
PR11334: support for ^ and $ anchoring operators

11 years agoPR11334 partial support: ^ anchoring operator
Serguei Makarov [Mon, 21 Jan 2013 19:15:00 +0000 (14:15 -0500)]
PR11334 partial support: ^ anchoring operator

$ is not yet completely implemented

11 years agore2c cleanup: debug option for codeGen process
Serguei Makarov [Mon, 21 Jan 2013 16:09:48 +0000 (11:09 -0500)]
re2c cleanup: debug option for codeGen process

11 years agore2c-cleanup: some helpful comments in re2c-dfa
Serguei Makarov [Mon, 21 Jan 2013 16:03:43 +0000 (11:03 -0500)]
re2c-cleanup: some helpful comments in re2c-dfa

11 years agore2c cleanup: cleanup stapregex.h, add potential courtesyblurb
Serguei Makarov [Wed, 16 Jan 2013 16:46:42 +0000 (11:46 -0500)]
re2c cleanup: cleanup stapregex.h, add potential courtesyblurb

11 years agore2c cleanup: re2c-globals -- ditch the pile of type aliases
Serguei Makarov [Wed, 16 Jan 2013 16:27:58 +0000 (11:27 -0500)]
re2c cleanup: re2c-globals -- ditch the pile of type aliases

11 years agore2c cleanup: rename regcomp.cxx regcomp.h to stapregex.cxx stapregex.h
Serguei Makarov [Wed, 16 Jan 2013 15:39:55 +0000 (10:39 -0500)]
re2c cleanup: rename regcomp.cxx regcomp.h to stapregex.cxx stapregex.h

11 years agore2c cleanup: get rid of *_STANDALONE
Serguei Makarov [Tue, 15 Jan 2013 22:28:10 +0000 (17:28 -0500)]
re2c cleanup: get rid of *_STANDALONE

11 years agore2c cleanup: get rid of regtranslate.cc
Serguei Makarov [Tue, 15 Jan 2013 22:22:01 +0000 (17:22 -0500)]
re2c cleanup: get rid of regtranslate.cc

11 years agore2c cleanup: file layout -- create re2c-emit.cxx
Serguei Makarov [Tue, 15 Jan 2013 22:17:20 +0000 (17:17 -0500)]
re2c cleanup: file layout -- create re2c-emit.cxx

11 years agore2c cleanup: file layout -- create re2c-regex.cxx re2c-regex.h
Serguei Makarov [Tue, 15 Jan 2013 22:02:21 +0000 (17:02 -0500)]
re2c cleanup: file layout -- create re2c-regex.cxx re2c-regex.h

11 years agore2c cleanup: file layout -- create re2c-dfa.cxx re2c-dfa.h
Serguei Makarov [Tue, 15 Jan 2013 21:43:24 +0000 (16:43 -0500)]
re2c cleanup: file layout -- create re2c-dfa.cxx re2c-dfa.h

11 years agore2c cleanup: file layout -- create re2c-globals.h re2c-globals.cxx
Serguei Makarov [Tue, 15 Jan 2013 20:06:57 +0000 (15:06 -0500)]
re2c cleanup: file layout -- create re2c-globals.h re2c-globals.cxx

11 years agoPR11334: declutter re2c -- get rid of stream_lc.h
Serguei Makarov [Thu, 10 Jan 2013 22:55:53 +0000 (17:55 -0500)]
PR11334: declutter re2c -- get rid of stream_lc.h

Note that the deletion of file_info is no big loss -- it was just
used to print a bunch of #line directives which have no relevance
to the output of a SystemTap script (and in fact would make pass-4
errors much more confusing by throwing off the line count!).

in directory re2c-migrate:

* stream_lc.h: delete file.
* token.h: delete stream_lc.h include.
(Token::Token): delete constructors that use file_info as an input.
* globals.cc, globals.h: delete stream_lc.h include and file_info stuff.
* code.cc: add missing includes.
(Rule::emit): do not print file_info stuff.
(basic_null_streambuf, basic_null_stream, null_streambuf, null_stream): moved from stream_lc.h.
(DFA::emit): do not print file_info stuff.
(<<): delete overloading for file_info.
* re.h (RuleLine): delete class.
* scanner.h (Scanner): no longer inherit from line_number.

11 years agoPR11334: fix regtest.cxx re: emit_matchop renaming.
Serguei Makarov [Thu, 10 Jan 2013 22:48:18 +0000 (17:48 -0500)]
PR11334: fix regtest.cxx re: emit_matchop renaming.

* regtest.cxx (main): use emit_matchop_start and emit_matchop_end.

11 years agoPR11334: minimal testcase for basic regex match operator
Serguei Makarov [Fri, 4 Jan 2013 20:02:49 +0000 (15:02 -0500)]
PR11334: minimal testcase for basic regex match operator

* testsuite/systemtap.base/regex.stp: new file.
* testsuite/systemtap.base/regex.exp: new file.

11 years agoPR11334: support for very-basic regex match operator in script
Serguei Makarov [Fri, 4 Jan 2013 16:32:18 +0000 (11:32 -0500)]
PR11334: support for very-basic regex match operator in script

* session.h (systemtap_session::dfas, systemtap_session::dfa_counter): new fields.
* session.cxx (systemtap_session::systemtap_session): correctly initialize dfa_counter in constructors.
* re2c-migrate/regcomp.h (class stapdfa): remove dummy stapdfa() constructor.
(emit_matchop): remove function.
(emit_matchop_start, emit_matchop_end): new function.
(regex_to_stapdfa): mistake fixes.
* re2c-migrate/regcomp.cxx (class stapdfa): ditto.
(emit_matchop): remove function.
(emit_matchop_start, emit_matchop_end): new function.
(regex_to_stapdfa): mistake fixes.
* re2c-migrate/actions.cc (Scanner::getRange): get rid of warnings.
* elaborate.cxx (class regex_collecting_visitor): new visitor to populate dfas.
(gen_dfa_table): new function.
(semantic_pass): add call to gen_dfa_table().
* translate.cxx (c_unparser::visit_regex_query): add actual match invocation.
(translate_pass): generate regex matching functions.
* Makefile.am, Makefile.in: add regcomp stuff to main stap compilation.
* re2c-migrate/translate.cc moved to re2c-migrate/regtranslate.cc
  (to avoid Makefile naming conflict).
* re2c-migrate/Makefile.am, re2c-migrate/Makefile.in: update for regtranslate renaming.

11 years agoPR11334: improved prepending of .*
Serguei Makarov [Wed, 12 Dec 2012 17:27:20 +0000 (12:27 -0500)]
PR11334: improved prepending of .*

Compile .* and store it as a regex, instead of prepending to the regex string.
(The previous commit's method can cause oddball test failures.)

* re2c-migrate/regcomp.h (class stapdfa): declare padRE to hold AST for ".*".
* re2c-migrate/regcomp.cxx (stapdfa::padRE): new static variable.
(stapdfa::stapdfa): prepend padRE (".*") unless the RegExp obviously begins with ^.
* re2c-migrate/re.h (class RegExp): add 'anchored' field.
(class AltOp, CatOp, CloseOp): set 'anchored' field correctly.
* re2c-migrate/actions.cc (RuleOp::RuleOp): set 'anchored' field correctly.
(mkAlt): set 'anchored' field correctly for returned expression.

11 years agoPR11334: A couple of tests for ^ and $ it wouldn't do to forget.
Serguei Makarov [Wed, 12 Dec 2012 17:21:13 +0000 (12:21 -0500)]
PR11334: A couple of tests for ^ and $ it wouldn't do to forget.

11 years agoPR11334: basic fix for left-anchored matches
Serguei Makarov [Tue, 11 Dec 2012 16:12:17 +0000 (11:12 -0500)]
PR11334: basic fix for left-anchored matches

Prepend .* by default so the regex match can start at any point in the string.

* re2c-migrate/regcomp.cxx (stapdfa::stapdfa): prepend ".*" to re.

11 years agoPR11334: fix read-past-the-end error for .* and similar
Serguei Makarov [Tue, 4 Dec 2012 16:55:02 +0000 (11:55 -0500)]
PR11334: fix read-past-the-end error for .* and similar

Solved by the simple expedient of fixing the off-by-one error that caused
YYFILL to abort the match before the terminating '\0' could be returned,
and changing mkDot() (responsible for creating '.' regex) to forbid '\0'.

NOTE: This will have to be revisited due to reliance on explicit '\0'
matching. Namely, a tricky regex *might* try to break things by trying
to match '[s\0]*' or such. This will not read forbidden memory (YYFILL
is too airtight for that), but the match outcome will not be what one
would expect. So we should keep in mind that the regex syntax should
not allow '\0' as a regex match character.

* re2c-migrate/actions.cc (mkDot); detect '\0' instead of '\n' as string end.
* re2c-migrate/regcomp.cxx (emit_declaration): tweak YYFILL to include '\0'.
* re2c-migrate/regcomp.base/regtest.in.0: additional test case.

11 years agoPR11334: Forgot regtest.in.1 in previous commit due to overly-broad .gitignore :(
Serguei Makarov [Mon, 3 Dec 2012 21:27:56 +0000 (16:27 -0500)]
PR11334: Forgot regtest.in.1 in previous commit due to overly-broad .gitignore :(

11 years agoPR11334: regex test script & initial data
Serguei Makarov [Mon, 3 Dec 2012 21:21:16 +0000 (16:21 -0500)]
PR11334: regex test script & initial data

Run the testsuite using 'make check' in <build>/re2c-migrate.
Then watch the astounding 71 passes to 102 failures rate! :-P

Subsequently, of course, this stuff will be merged into the main testsuite.

* re2c-migrate/Makefile.am: rudimentary dejagnu testsuite in regcomp.base/.
* re2c-migrate/Makefile.in: regenerated from Makefile.am.
* re2c-migrate/regcomp.base/regtest.exp: new file.
* re2c-migrate/regcomp.base/regtest.in.0: new file (basic tests).
* re2c-migrate/regcomp.base/regtest.in.1: new file (glibc tests).
* re2c-migrate/config/unix.exp: new file (temporary shim to stop
dejagnu complaining).
* re2c-migrate/regtest.cxx (main): emit required answer codes according
to glibc tests.

11 years agoPR11334: custom regex parser & generation wrapper
Serguei Makarov [Tue, 27 Nov 2012 18:59:02 +0000 (13:59 -0500)]
PR11334: custom regex parser & generation wrapper

Further progress -- this one emits code that correctly returns 1 or 0
depending on whether the regex correctly matched or not.

TODO -- re2c seems to anchor the regex on the left of the string, so
to allow a match throughout the string we need to put .* (or similar)
on the front of the regex.

TODO -- .* and similar fail to match due to expecting '\n' to terminate
the string. This is an assumption of re2c which can be fixed.

11 years agoPR 11334: ugly hacky regcomp.cxx progress
Serguei Makarov [Thu, 15 Nov 2012 19:24:28 +0000 (14:24 -0500)]
PR 11334: ugly hacky regcomp.cxx progress

Added a RuleOp to trigger { return 1; } on match success.
Added very early outline of regtest.cxx which emits a simple test program.

Next steps:
- polish up regtest.cxx and add a driver.
- trigger { return 0; } on match failure.
- currently, the matching seems to be anchored at the beginning of the string.
  re2c can do unanchored matching, however, so I need to enable that.

11 years agoPR11334: partial progress to wrapping re2c in regcomp.cxx.
Serguei Makarov [Wed, 7 Nov 2012 18:47:49 +0000 (13:47 -0500)]
PR11334: partial progress to wrapping re2c in regcomp.cxx.

To test out, cd build/re2c-migrate/, run make, and use ./regtest.
Lots of ommissions currently, and a known bug where re2c eats the first
character of the regexp at some point between the AST and the code output,
so this commit is definitely useful only as a status update...

11 years agoPR11334: initial commit of code from re2c
Serguei Makarov [Tue, 6 Nov 2012 19:37:23 +0000 (14:37 -0500)]
PR11334: initial commit of code from re2c

11 years agoPR11334 fix testcase -p#s
Serguei Makarov [Fri, 19 Oct 2012 20:59:25 +0000 (16:59 -0400)]
PR11334 fix testcase -p#s

11 years agoPR11334 testsuite: change pass when =~ (non-literal expr) must be rejected
Serguei Makarov [Fri, 19 Oct 2012 20:45:57 +0000 (16:45 -0400)]
PR11334 testsuite: change pass when =~ (non-literal expr) must be rejected

11 years agoPR11334: stub out space for implementation of =~ operator.
Serguei Makarov [Fri, 19 Oct 2012 19:49:43 +0000 (15:49 -0400)]
PR11334: stub out space for implementation of =~ operator.

* staptree.h: define regex_query AST node and visitor behaviour.
* staptree.cxx: ditto.
* parse.cxx: parse nonassociative =~ at same precedence as comparison
             -- see parse_comparison_or_regex_query().
* elaborate.cxx: semantic check / tentatively dead code eliminate uses of =~.
* elaborate.h: ditto.
* translate.cxx: generate pointless stub code for =~.

* tapset/string.stp: stubs listing matched() functions et al for subgroup feature.

EMBARRASSINGLY OBVIOUS TODO: parse.cxx allows parsing !~, but doesn't
distinguish it from =~ in any fashion at the moment. Doesn't matter
since neither actually invokes a dfa in this commit!

NEXT STEP: gather the regexes we use in a global regcomp table.

11 years agoPR11334 new branch: commit preliminary testsuite for =~ stub functionality.
Serguei Makarov [Fri, 19 Oct 2012 17:52:00 +0000 (13:52 -0400)]
PR11334 new branch: commit preliminary testsuite for =~ stub functionality.

11 years agoadd selinux info to testsuite & stap-report output
Frank Ch. Eigler [Tue, 29 Jan 2013 14:47:29 +0000 (09:47 -0500)]
add selinux info to testsuite & stap-report output

11 years agodocs: note another pass5 error
Frank Ch. Eigler [Tue, 29 Jan 2013 14:36:25 +0000 (09:36 -0500)]
docs: note another pass5 error

11 years agoPR14929: add a basic error:: man page for each pass
Frank Ch. Eigler [Mon, 28 Jan 2013 22:21:10 +0000 (17:21 -0500)]
PR14929: add a basic error:: man page for each pass

11 years agoPR15074 fixed by making pthread_stacks.exp more robust.
David Smith [Mon, 28 Jan 2013 19:59:07 +0000 (13:59 -0600)]
PR15074 fixed by making pthread_stacks.exp more robust.

* testsuite/systemtap.base/pthread_stacks.exp: Add a test to see if
  glibc's debuginfo is installed.
* testsuite/systemtap.base/pthread_stacks.c (main): If pthread_create()
  fails (which it can on low-memory systems), don't error if we've already
  created at least 100 threads.

11 years agoMerge branch 'master' of ssh://sourceware.org/git/systemtap
Stan Cox [Fri, 25 Jan 2013 22:03:56 +0000 (17:03 -0500)]
Merge branch 'master' of ssh://sourceware.org/git/systemtap

11 years agoMerge branch 'scox/perf': perf.counter support.
Stan Cox [Fri, 25 Jan 2013 21:54:11 +0000 (16:54 -0500)]
Merge branch 'scox/perf': perf.counter support.

11 years agoTwo testsuite fixes.
David Smith [Fri, 25 Jan 2013 19:26:31 +0000 (13:26 -0600)]
Two testsuite fixes.

* testsuite/lib/stap_run.exp: Append runtime name to the test name (if
  present).
* testsuite/systemtap.base/optim_arridx.exp (optim_arridx_run): Instead of
  having its own test function, just call stap_run_exact instead.

11 years agoPR14574 partial fix: Add dyninst testcase support.
David Smith [Fri, 25 Jan 2013 18:44:23 +0000 (12:44 -0600)]
PR14574 partial fix: Add dyninst testcase support.

* testsuite/systemtap.base/limits.exp: Add dyninst support.
* testsuite/systemtap.base/logical_and.exp: Ditto.
* testsuite/systemtap.base/not.exp: Ditto.
* testsuite/systemtap.base/optim.exp: Ditto.
* testsuite/systemtap.base/optim_voidstmt.exp: Ditto.
* testsuite/systemtap.base/overcatcher.exp: Ditto.
* testsuite/systemtap.base/overflow_error.exp: Ditto.
* testsuite/systemtap.base/prepost_optim.exp: Ditto.
* testsuite/systemtap.base/print.exp: Ditto.
* testsuite/systemtap.base/process_by_cmd.exp: Add dyninst support and
  make test less depending on probe output order.
* testsuite/systemtap.base/process_by_cmd.stp: Move some probe tests to
  process_by_cmd2.stp.
* testsuite/systemtap.base/process_by_cmd2.stp: New file.

11 years agoAdd perf parseko tests.
Stan Cox [Thu, 24 Jan 2013 22:58:49 +0000 (17:58 -0500)]
Add perf parseko tests.

* parse.cxx (parse_perf_op): Add compatibility check.
* perf.exp:  Move parse tests to parseko.

11 years agoconfigury: test "xmlto pdf" with-fop if latter is already known to work
Frank Ch. Eigler [Thu, 24 Jan 2013 18:15:29 +0000 (13:15 -0500)]
configury: test "xmlto pdf" with-fop if latter is already known to work

This should result in some generated pdf docs for tapsets.

11 years agosystemtap.spec: merge/tweak systemd conditionals from fedora git
Frank Ch. Eigler [Thu, 24 Jan 2013 17:47:05 +0000 (12:47 -0500)]
systemtap.spec: merge/tweak systemd conditionals from fedora git

11 years agoPR14574 partial fix: Add/improve dyninst testcase support.
David Smith [Thu, 24 Jan 2013 15:48:03 +0000 (09:48 -0600)]
PR14574 partial fix: Add/improve dyninst testcase support.

* testsuite/systemtap.base/if.exp: Add dyninst support.
* testsuite/systemtap.base/inc.exp: Ditto.
* testsuite/systemtap.base/inherit.exp: Ditto.
* testsuite/systemtap.base/inlinedvars.exp: Ditto.
* testsuite/systemtap.base/labels.exp: Ditto.
* testsuite/systemtap.base/library.exp: Ditto.
* testsuite/systemtap.base/cast-scope.exp: Only call the runtime's
  function to setup kfails if it exists.
* testsuite/systemtap.base/cxxclass.exp: Ditto.
* testsuite/systemtap.base/externalvar.exp: Ditto.
* testsuite/systemtap.base/global_var.exp: Ditto.

11 years agoCleanup after compiling test programs in testsuite/lib/systemtap.exp.
David Smith [Thu, 24 Jan 2013 15:27:18 +0000 (09:27 -0600)]
Cleanup after compiling test programs in testsuite/lib/systemtap.exp.

11 years agoImprove library.exp error handling and readability.
David Smith [Wed, 23 Jan 2013 22:21:44 +0000 (16:21 -0600)]
Improve library.exp error handling and readability.

* testsuite/systemtap.base/library.exp: Indented for better readability.
  When an error occurs, don't cleanup the test executables, since that
  causes all the remaining tests to fail. Instead, just cleanup at the
  end.

11 years agoMerge branch 'scox/perf' of ssh://sourceware.org/git/systemtap into scox/perf
Stan Cox [Wed, 23 Jan 2013 21:27:44 +0000 (16:27 -0500)]
Merge branch 'scox/perf' of ssh://sourceware.org/git/systemtap into scox/perf

11 years agoDo not use unnamed structs.
Stan Cox [Wed, 23 Jan 2013 21:23:56 +0000 (16:23 -0500)]
Do not use unnamed structs.

* perf.h (stap_perf_probe): Do not use unnamed structs.
* perf.c (_stp_perf_init): Likewise.
* tapset-perfmon.cxx (emit_module_decls): Likewise.
* uprobes-common.c (stap_uprobe_change_plus): Call _stp_perf_read_init.

11 years agoPR15059: suppress visible session::print_error if in listing mode
Frank Ch. Eigler [Wed, 23 Jan 2013 18:38:13 +0000 (13:38 -0500)]
PR15059: suppress visible session::print_error if in listing mode

11 years agoFix library.exp so it will pass on systems with uretprobes.
David Smith [Wed, 23 Jan 2013 17:59:07 +0000 (11:59 -0600)]
Fix library.exp so it will pass on systems with uretprobes.

* testsuite/systemtap.base/library.exp: Fix a couple of issues. Fix
  a regular expression to match the new warning string for no
  debuginfo. Don't depend on glibc debuginfo being installed in the
  '.exported' test.

11 years agoREADME: note some build/smoke-test blurbage for dyninst
Frank Ch. Eigler [Wed, 23 Jan 2013 17:48:12 +0000 (12:48 -0500)]
README: note some build/smoke-test blurbage for dyninst

11 years agodyninst: disable --runtime=dyninst option if !HAVE_DYNINST
Frank Ch. Eigler [Wed, 23 Jan 2013 17:47:52 +0000 (12:47 -0500)]
dyninst: disable --runtime=dyninst option if !HAVE_DYNINST

11 years agoPR14574 partial fix: Add/improve dyninst testcase support.
David Smith [Tue, 22 Jan 2013 22:51:21 +0000 (16:51 -0600)]
PR14574 partial fix: Add/improve dyninst testcase support.

* testsuite/systemtap.base/global_stat.exp: Added dyninst support.
* testsuite/systemtap.base/global_var.exp: Ditto.
* testsuite/systemtap.base/global_vars.exp: Ditto.
* testsuite/systemtap.base/cast-scope.exp: Move dyninst kfail setup to its
  own function.
* testsuite/systemtap.base/cxxclass.exp: Ditto.
* testsuite/systemtap.base/externalvar.exp: Ditto.

11 years agoBZ902739: make dtrace emit slightly cleaner C code
Frank Ch. Eigler [Tue, 22 Jan 2013 21:03:45 +0000 (16:03 -0500)]
BZ902739: make dtrace emit slightly cleaner C code

When generating stub .c files, make sure that the dummy __dtrace() function is
fully "-Wall -Wextra -pedantic" - clean by adding some decorations.

11 years agoPR14574 partial fix: Add dyninst support to more tests.
David Smith [Tue, 22 Jan 2013 20:49:12 +0000 (14:49 -0600)]
PR14574 partial fix: Add dyninst support to more tests.

* testsuite/systemtap.base/foreach_aggrsort.exp: Added dyninst support.
* testsuite/systemtap.base/foreach_value.exp: Ditto.
* testsuite/systemtap.base/global_end.exp: Ditto.
* testsuite/systemtap.base/global_init.exp: Ditto.
* testsuite/systemtap.base/global_opt.exp: Ditto.

11 years agoPR14574 partial fix: Add dyninst support to 2 more tests.
David Smith [Tue, 22 Jan 2013 19:37:27 +0000 (13:37 -0600)]
PR14574 partial fix: Add dyninst support to 2 more tests.

* testsuite/systemtap.base/error_fn.exp: Add dyninst support.
* testsuite/systemtap.base/externalvar.exp: Ditto.

11 years agoFix merge error in commit 03399f7.
David Smith [Tue, 22 Jan 2013 18:01:26 +0000 (12:01 -0600)]
Fix merge error in commit 03399f7.

11 years agoMake sure that some need tex requires are installed for documentation builds
William Cohen [Tue, 22 Jan 2013 16:07:04 +0000 (11:07 -0500)]
Make sure that some need tex requires are installed for documentation builds

On F18 tex splits the tex packages a bit differently.  Need to
additional requires to make sure that the documentation can be build
on F18.

11 years agoPR14708 partial fix: Get 'process.end' probes (sort of) working.
David Smith [Tue, 22 Jan 2013 16:26:18 +0000 (10:26 -0600)]
PR14708 partial fix: Get 'process.end' probes (sort of) working.

* stapdyn/mutator.cxx (mutator::exit_callback): Instead of calling letting
  the mutatee handle the exit callback, handle it in the mutator. This
  means the probe's context is wrong, but it does get called.
* stapdyn/mutator.h: Add 'utrace_enter_fn' variable.
* stapdyn/mutatee.cxx (mutatee::find_attached_probes): New function.
* stapdyn/mutatee.h: Add mutatee::find_attached_probes() function
  declaration.
* testsuite/systemtap.base/utrace_p5.exp: Add more tests.

11 years agoAUTHORS bump
Frank Ch. Eigler [Tue, 22 Jan 2013 14:41:02 +0000 (09:41 -0500)]
AUTHORS bump

11 years agomutex-contention sample: add meta file, regenerate indexes
Frank Ch. Eigler [Mon, 21 Jan 2013 20:37:51 +0000 (15:37 -0500)]
mutex-contention sample: add meta file, regenerate indexes

11 years agomutex-contention sample: tweak shlib process wildcards
Frank Ch. Eigler [Tue, 22 Jan 2013 02:54:30 +0000 (21:54 -0500)]
mutex-contention sample: tweak shlib process wildcards

... to avoid catching ditties like /lib/libcups.so* by accident

11 years ago@perf("op") typechecking: clarify incoming 't' value and recursion
Frank Ch. Eigler [Mon, 21 Jan 2013 23:47:14 +0000 (18:47 -0500)]
@perf("op") typechecking: clarify incoming 't' value and recursion

11 years agonew sample script: process/mutex-contention.stp
Rich Megginson [Thu, 17 Jan 2013 16:26:30 +0000 (11:26 -0500)]
new sample script: process/mutex-contention.stp

Based upon <http://port389.org/wiki/Using_SystemTap>.

11 years agostap-report: add more information
Frank Ch. Eigler [Fri, 18 Jan 2013 02:16:34 +0000 (21:16 -0500)]
stap-report: add more information

11 years agostap-report: defeat stap caches for reporting purposes
Frank Ch. Eigler [Thu, 17 Jan 2013 21:40:24 +0000 (16:40 -0500)]
stap-report: defeat stap caches for reporting purposes

11 years agoUpdate systemtap.apps testsuite.
Stan Cox [Sun, 20 Jan 2013 15:37:18 +0000 (10:37 -0500)]
Update systemtap.apps testsuite.

* tapsets.cxx (sdt_uprobe_var_expanding_visitor): Add bpl and spl registers.
* mysql.exp (stap-mysql.sh): Adjust known comparison values.
* python.exp (stap-python.sh):  Put srcdir in canonical form.
* stap-tcl.sh: Rename tcl tar source file.
* xulrunner.exp (stap-xul.sh):  Add package dependency checking.

11 years agoPR14706: Always register the stapdyn fork callback
Josh Stone [Sat, 19 Jan 2013 00:04:10 +0000 (16:04 -0800)]
PR14706: Always register the stapdyn fork callback

We need to watch forks regardless of whether we have process.being
probes, because there may still be other types of probes that should be
triggered in child processes.

11 years agoPR14706: Follow forks in stapdyn and enable process.begin
Josh Stone [Fri, 18 Jan 2013 23:23:12 +0000 (15:23 -0800)]
PR14706: Follow forks in stapdyn and enable process.begin

* stapdyn/mutatee.cxx (mutatee::call_utrace_dynprobe): Newly abstracted
  function to call utrace handlers from various contexts.
  (mutatee::begin_callback): New, runs process.begin callbacks.
  (mutatee::exit_callback): Use call_utrace_dynprobe.
  (mutatee::thread_callback): Use call_utrace_dynprobe.
  (mutatee::copy_forked_instrumentation): New, set all the member
  variables for a newly-forked process.
* stapdyn/mutator.cxx (mutator::run): Trigger process.begin in target.
  (mutator::post_fork_callback): Create an attached mutatee for the
  fork, copy the instrumentation status, and trigger process.begin.

11 years agostapdyn: Unify the mutator search for mutatees
Josh Stone [Fri, 18 Jan 2013 21:39:58 +0000 (13:39 -0800)]
stapdyn: Unify the mutator search for mutatees

11 years agoPR14574 partial fix: Add dyninst support to several tests.
David Smith [Fri, 18 Jan 2013 22:12:37 +0000 (16:12 -0600)]
PR14574 partial fix: Add dyninst support to several tests.

* testsuite/lib/stap_run.exp (stap_run): Only append the arguments to the
  test name if there are arguments.
* testsuite/systemtap.base/be_order.exp: Add dyninst support.
* testsuite/systemtap.base/const_value.exp: Ditto.
* testsuite/systemtap.base/control_limits.exp: Ditto.
* testsuite/systemtap.base/cu-decl.exp: Ditto.
* testsuite/systemtap.base/cxxclass.exp: Ditto.
* testsuite/systemtap.base/div0.exp: Ditto.

11 years agoPR14574 (partial): Improve dyninst ctime.stp tapset and test it.
David Smith [Fri, 18 Jan 2013 21:38:16 +0000 (15:38 -0600)]
PR14574 (partial): Improve dyninst ctime.stp tapset and test it.

* testsuite/systemtap.base/ctime.exp: Add dyninst support.
* tapset/dyninst/ctime.stp: When an error occurs, return "<invalid time>"
  instead of the empty string.

11 years agoPR15031 fix: Add _stp_print_binary() function to dyninst runtime.
David Smith [Fri, 18 Jan 2013 17:57:48 +0000 (11:57 -0600)]
PR15031 fix: Add _stp_print_binary() function to dyninst runtime.

* runtime/dyninst/print.c (_stp_print_binary): Copied over from
  runtime/linux/print.c.

11 years agomore NEWS typofix
Serguei Makarov [Fri, 18 Jan 2013 16:40:38 +0000 (11:40 -0500)]
more NEWS typofix

11 years agoPR14574 partial fix: Add dyninst support to cast-scope.exp.
David Smith [Fri, 18 Jan 2013 16:39:10 +0000 (10:39 -0600)]
PR14574 partial fix: Add dyninst support to cast-scope.exp.

* testsuite/systemtap.base/cast-scope.exp: Add dyninst support.
* testsuite/lib/compile_flags.exp (all_compile_flag_native_p): New function.

11 years agoNEWS typofix
Serguei Makarov [Fri, 18 Jan 2013 15:34:36 +0000 (10:34 -0500)]
NEWS typofix

11 years agoPR14706: Use shared memory between stapdyn and the target
Josh Stone [Fri, 18 Jan 2013 02:04:59 +0000 (18:04 -0800)]
PR14706: Use shared memory between stapdyn and the target

Probes that are not process-specific (begin/end/timers) are now always
handled within stapdyn itself, while the rest (uprobes/utrace) continue
to run in the target process.  The shared memory for globals and such is
allocated and initialized in stapdyn, then just mapped by the target.

This paves the way for allowing multiple target process, especially
following fork/exec, as we're no longer tied to a single address space.

* stapdyn/mutator.cxx (mutator::run_module_init): Manually initialize
  shm and save the generated name.  Run the session init locally, and
  then map the shm in the target process too.  For compat modules that
  don't have shm functions, keep running session init in the target.
  (mutator::run_module_exit): Always run the session exit directly for
  shm-enabled modules, but still run it in-target for compat modules.
* stapdyn/mutatee.cxx (mutatee::call_function): Add a variant of this
  function that takes an argument list.
* runtime/dyninst/runtime.h (stp_dyninst_ctor): Initialize the runtime
  contexts and print system here so it happens for all processes, rather
  than only once globally in session init.  Also save the rc here to be
  reported properly by the init call.
* runtime/dyninst/print.c: Add defensive checks for initialization.
* runtime/dyninst/shm.c (_stp_shm_connect): Fix the debug message.
* runtime/common_probe_context.h: Add a probe_index to the context
  structure, because we can't directly access e.g. probe_point pointers
  that other processes have set.  With an index, we can get the same
  info from stap_probes[].
* tapsets.cxx (common_probe_entryfn_prologue): Set probe_index.
* translate.cxx (translate_pass): Provide a simple access function for
  the probe_point to ease include order, so places that need it don't
  have to come after stap_probe is declared. (Even its type is dynamic.)
* runtime/dyninst/runtime_context.h (_stp_runtime_context_wait): Use the
  index to indirectly get the stuck probe point, since c->probe_point is
  not necessarily in our address space.

11 years agoDocument perf.counter probes.
Stan Cox [Thu, 17 Jan 2013 22:49:29 +0000 (17:49 -0500)]
Document perf.counter probes.

* stapprobes.3stap:  Document counter probes.

11 years agoAdd example for perf.counter.
Stan Cox [Thu, 17 Jan 2013 21:31:11 +0000 (16:31 -0500)]
Add example for perf.counter.

* perf.meta, perf.stp: New

11 years agoAdd dyninst support to more testcases.
David Smith [Thu, 17 Jan 2013 20:07:45 +0000 (14:07 -0600)]
Add dyninst support to more testcases.

* testsuite/lib/stap_run.exp: Append extra arguments to the test name (so
  we can tell the difference between tests with different runtimes.
* testsuite/systemtap.base/add.exp: Add dyninst support.
* testsuite/systemtap.base/alias-condition.exp: Ditto.
* testsuite/systemtap.base/alias_suffixes.exp: Ditto.
* testsuite/systemtap.base/arith.exp: Ditto.
* testsuite/systemtap.base/arith.stp: Ditto.
* testsuite/systemtap.base/arith_limits.exp: Ditto.
* testsuite/systemtap.base/array_size.exp: Ditto.
* testsuite/systemtap.base/array_string.exp: Ditto.
* testsuite/systemtap.base/at_var_mark.exp: Ditto.
* testsuite/systemtap.base/beginenderror.exp: Ditto.
* testsuite/systemtap.base/bench.exp: Ditto.

11 years agoImprove testsuite by providing a global 5 second wait function.
David Smith [Thu, 17 Jan 2013 17:34:37 +0000 (11:34 -0600)]
Improve testsuite by providing a global 5 second wait function.

* testsuite/systemtap.clone/main_quiesce.exp (wait_5_secs): Move function
  to stap_run.exp so other tests can use it.
* testsuite/lib/stap_run.exp: Moved 'wait_5_secs' function here.
* testsuite/systemtap.base/utrace_p5.exp: Remove 'wait_5_sec' function and
  use global 'wait_5_secs' instead.
* testsuite/systemtap.base/at_var_mark.exp: Use 'wait_5_secs' function to
  give test program a chance to run a bit.
* testsuite/systemtap.clone/probe_by_pid.exp (sleep_5_secs): Removed
  unused function.

11 years agoMake pthreadprobes.exp more flexible to cut down on spurious failures.
David Smith [Thu, 17 Jan 2013 15:10:33 +0000 (09:10 -0600)]
Make pthreadprobes.exp more flexible to cut down on spurious failures.

* testsuite/systemtap.exelib/pthreadprobes.exp: Be much more flexible in
  what is valid output.

11 years agoexamples: regenerate indexes; fix keywords in stapgames meta files
Frank Ch. Eigler [Thu, 17 Jan 2013 04:21:44 +0000 (23:21 -0500)]
examples: regenerate indexes; fix keywords in stapgames meta files

11 years agoruntime: use stp_module ->path instead of abbreviated ->name in messages
Frank Ch. Eigler [Thu, 17 Jan 2013 04:10:20 +0000 (23:10 -0500)]
runtime: use stp_module ->path instead of abbreviated ->name in messages

One problem is that ->name is ambiguous, e.g. if probe wildcards
expand to different path files, but with the same basename.  That
makes e.g. relocation or unwind dbug/diagnostic messages unclear.
So we switch over to using m->path as much as possible.

11 years agothreadstack test case: clean up .x file after test
Frank Ch. Eigler [Thu, 17 Jan 2013 04:09:31 +0000 (23:09 -0500)]
threadstack test case: clean up .x file after test

11 years agothreadstacks sample: ignore incoming $attr param for allocate_stack()
Frank Ch. Eigler [Thu, 17 Jan 2013 04:08:00 +0000 (23:08 -0500)]
threadstacks sample: ignore incoming $attr param for allocate_stack()

... which is sometimes unavailable at run time, and irrelevant anyway

11 years agoInsure predefined .counter variable uniqueness.
Stan Cox [Thu, 17 Jan 2013 03:34:44 +0000 (22:34 -0500)]
Insure predefined .counter variable uniqueness.

* elaborate.h (perf_counter_refs): Make it a set.
* tapsets.cxx (dwarf_var_expanding_visitor): Likewise.

11 years agonew sample: pthread default-stack-size override
Frank Ch. Eigler [Thu, 17 Jan 2013 03:09:48 +0000 (22:09 -0500)]
new sample: pthread default-stack-size override

Plus a test case to drive it for a little spin.

11 years agoMake "with_systemd" macro conditional based on fedora version
Lukas Berk [Wed, 16 Jan 2013 20:15:09 +0000 (15:15 -0500)]
Make "with_systemd" macro conditional based on fedora version

*systemtap.spec - "with_systemd" is based on fedora version

11 years agoadd an autoload to systemtap-mode.el
Tom Tromey [Wed, 16 Jan 2013 18:08:34 +0000 (11:08 -0700)]
add an autoload to systemtap-mode.el

This adds another autoload to systemtap-mode.el, to bring it roughly
(the regexps differ unimportantly) into sync with systemtap-init.el.

Note that if you are a package.el user, you can install
systemtap-mode.el directly and you don't need systemtap-init.el at all.

Tom

11 years agoAUTHORS bump
Frank Ch. Eigler [Wed, 16 Jan 2013 16:30:41 +0000 (11:30 -0500)]
AUTHORS bump

11 years agoPR1887: NEWS brag
Frank Ch. Eigler [Wed, 16 Jan 2013 16:25:28 +0000 (11:25 -0500)]
PR1887: NEWS brag

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