| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
* main.cxx: Add "--compatible=VERSION" option.
* session.h (compatible): Store it.
* parse.cxx (eval_pp_conditional): Look at it as %( systemtap_v CMP VALUE ... %)
* stap.1.in: Document it.
* testsuite/parseko/preprocess17.stp, parseok/twenty.stp: Test it.
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we start seeing tapsets provided by third parties, any errors in
their files should not be fatal to us. Since we don't really know which
tapsets are our own, this leniency applies to all.
* main.cxx (main): Warn on tapset errors, but continue unless -W.
* testsuite/parseko/bad_tapset/foo.stp: New bogus tapset.
* testsuite/parseko/bad_tapset.stp: Check that "-W -I bad_tapset" fails.
* testsuite/parseok/bad_tapset.stp: Check that "-I bad_tapset" succeeds.
* testsuite/parseok/all_tapsets.stp: Check -W with the default tapsets.
|
|
|
|
|
| |
* parse.cxx (lexer::scan): Glue adjacent strings together.
* testsuite/parseko/twentyseven.stp, semok/thirtyfive.stp: New tests.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Our existing protection only made sure that the first token in a
substitution wasn't a nested substitution. That's not sufficient when
there could be multiple tokens involved. This patch makes sure that no
nested tokens are ever allowed to be argument substitutions.
This also adds a cursor_suspended_line/column and resets the main
cursor_line/column to the beginning of the substitution, so errors will
point a little closer to the right place.
|
|
|
|
|
|
|
|
|
| |
The test was correct, the given construct should fail. But it fails because
it is a parse error, not because it is a semantical error. So move into the
right pass1-4 sub-directory.
* testsuite/semko/conditional.stp: Moved to...
* testsuite/parseko/conditional.stp: ... here.
|
|
|
|
|
|
|
|
|
|
|
| |
* hash.cxx (find_script_hash): Removed unused merge option.
* main.cxx (checkOptions): Removed merge option checks.
(main): Removed merge option.
* session.h: Ditto.
* initscript/README.initscript: Removed reference to '-M' option.
* initscript/systemtap.in (stap_getopt): Ditto.
* testsuite/parseko/cmdline01.stp: Removed merge option test.
* testsuite/parseko/cmdline05.stp: Ditto.
|
|
|
|
|
|
|
|
|
|
| |
* parse.cxx (parser::scan_pp): Add || and &&.
* stap.1.in: Document || and && in PREPROCESSING.
* testsuite/parseok/twenty.stp: Test case.
* testsuite/parseko/preprocess14.stp: Ditto.
* testsuite/parseko/preprocess15.stp: Ditto.
Signed-off-by: Josh Stone <jistone@redhat.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* testsuite/parseko/cmdline17.stp:
command line check - bad combination with -D and -L
* testsuite/parseko/cmdline18.stp:
command line check - bad combination with -D and -d
* testsuite/parseko/cmdline19.stp:
command line check - bad combination with -D and -c
* testsuite/parseko/cmdline20.stp:
command line check - need output file with -D
* testsuite/parseko/cmdline21.stp:
command line check - need output file with -S
* testsuite/systemtap.base/flightrec3.exp:
New test case for file switching with bulk mode
* testsuite/systemtap.base/flightrec3.stp:
Test script for file switching per cpu
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2009-04-21 David Smith <dsmith@redhat.com>
* testsuite/semok/utrace01.stp: New test.
* testsuite/parseko/utrace01.stp: Updated test.
* testsuite/semko/utrace03.stp: Ditto.
* testsuite/semko/utrace04.stp: Ditto.
* testsuite/semko/utrace01.stp: Deleted unneeded test.
* testsuite/semko/utrace08.stp: Ditto.
* testsuite/semko/utrace09.stp: Ditto.
* testsuite/semko/utrace10.stp: Ditto.
* testsuite/semko/utrace11.stp: Ditto.
* testsuite/semko/utrace12.stp: Ditto.
* testsuite/semko/utrace13.stp: Ditto.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
2008-04-21 David Smith <dsmith@redhat.com>
* parseko/utrace01.stp: Renamed from semko/utrace02.stp (since it
received a parse error, not a semantic error).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 4935
* tapsets.cxx (dwarf_derived_probe::dwarf_derived_probe): Allow user
to access kernel variables in the condition of probe points.
* stapprobes.5.in : Document the conditional probe point.
* NEWS : Ditto.
* parseok/five.stp: Add an example of conditional probe point.
* parseko/probepoint04.stp: New test for conditional probe point.
* parseko/probepoint05.stp: Ditto.
* parseko/probepoint06.stp: Ditto.
* parseko/probepoint07.stp: Ditto.
* parseko/probepoint08.stp: Ditto.
* parseko/probepoint09.stp: Ditto.
* semok/twentynine.stp: Ditto.
* semko/thirtynine.stp: Ditto.
* systemtap.base/onoffprobe.*: Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
* parseko/cmdline15.stp: Added new test to make sure options '-c
cmd' and '-x pid' are mutually exclusive.
* parseko/cmdline16.stp: Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 4591
* parse.cxx (parser::parse_symbol): Tweak 'print' matching to allow
all the new variants with printd and println.
* staptree.h (struct print_format): Add fields for the new print
variants, and parse_print() to help matching.
* staptree.cxx (print_format::parse_print): New static method to
match the print variants and determine their properties.
(print_format::print): Handle the new print types.
(deep_copy_visitor::visit_print_format): Copy the new fields.
* translate.cxx (c_unparser::visit_print_format): Insert delims and
newlines where appropriate for new print functions.
* stap1.in: Document the new print functions.
testsuite/
* lib/stap_run.exp: Make sure to match the entire output, in case
there are multiple pass/fail messages.
* buildok/printf.stp: Add lines for new print variants.
* parseko/printd01.stp: Make sure that bad printd calls are handled.
* parseko/printd02.stp: Ditto.
* parseko/printd03.stp: Ditto.
* parseko/printd04.stp: Ditto.
* systemtap.base/print.stp: Try a bunch of different print calls.
* systemtap.base/print.exp: Driver for above.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Merge from setuid-branch.
* configure.ac: Version increase to 0.6.
* configure: Regenerated.
* parseko/cmdline09.stp: Added new test for staprun command line
options.
* parseko/cmdline10.stp: Ditto.
* parseko/cmdline11.stp: Ditto.
* parseko/cmdline12.stp: Ditto.
* parseko/cmdline13.stp: Ditto.
* parseko/cmdline14.stp: Ditto.
* systemtap.samples/args.exp: No longer necessary to use "sudo" to
run staprun.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 4846
* parse.cxx (input_put): New function, sort of like stdio ungetc.
(input_get): Skip cursor position changing for input_put strings.
(scan): Rework $.../@... substitution into character pasting.
* parse.h: Corresponding changes.
* util.h (lex_cast_qstring): Octal-quote unprintable characters.
* stap.1.in, NEWS: Document new behaviour.
2007-08-07 Frank Ch. Eigler <fche@redhat.com>
PR 4846
* parseko/preprocess13.stp, parseok/nineteen.stp,
semok/twentyfive.stp: New tests.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* parse.cxx, parse.h (lexer::scan): Add $# and @# identifiers.
(eval_pp_conditional, scan_pp): Allow the use of $x and @x identifiers.
Produce more accurate error messages.
* stap.1.in: Document $# and @# identifiers.
2007-04-04 Pierre Peiffer <pierre.peiffer@bull.net>
* parseok/fourteen.stp: Add test about $# and @# usage during
the preprocessing.
* parseko/preprocess10.stp: New test.
* parseko/preprocess11.stp: New test.
* parseko/preprocess12.stp: New test.
|
|
|
|
|
|
| |
PR 4281
* parseko/cmdline07.stp: New test.
* parseko/cmdline08.stp: New test.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 4171.
* Makefile.am (check, installcheck): Pass build-tree pointers
in environment variables.
* configure.ac: Run separate configury for testsuite/.
* configure, Makefile.in: Regenerated.
2007-03-14 Frank Ch. Eigler <fche@redhat.com>
PR 4171.
* configure.ac, configure, aclocal.m4: New files to permit
testsuite-only build tree.
* Makefile.am (RUNTEST): Arrange a crazy concoction of
environment/make variable for runtest.
* Makefile.in: Regenerated.
* */*.stp: Switch test cases from "./stap" to "stap" throughout.
* lib/systemtap.exp: Assume/trace environment variables.
(stap_run_batch): Add "#! stap"-handling hack.
|
|
|
|
|
|
|
| |
* config/unix.exp: New file as a master load_lib repository.
* */*.exp: Removed load_lib calls.
* parseko/cmdline01.stp: Swallow expected stap ERROR: message.
* systemtap.syscall/syscall.exp: Added installmode_p checks.
|
|
|
|
|
|
|
|
|
|
| |
* stap.1.in: Document how to specify the size of global arrays.
testsuite/
* buildok/array_size.stp, parseko/array01.stp, parseko/array02.stp,
parseko/array03.stp, parseko/array04.stp, transko/array01.stp,
systemtap.base/array_size.exp, systemtap.base/array_size.stp:
Tests for specifying the size of global arrays.
|
|
|
|
|
| |
* main.cxx (main): Signal parse error if a tapset script
is given as the user script.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* buildok/maxactive01.stp: Added test for "maxactive(N)"
return probe processing.
* parseko/maxactive01.stp: Ditto.
* parseko/maxactive02.stp: Ditto.
* parseko/maxactive03.stp: Ditto.
* parseko/maxactive04.stp: Ditto.
* semko/maxactive01.stp: Ditto.
* semko/maxactive02.stp: Ditto.
* semko/maxactive03.stp: Ditto.
* systemtap.base/maxactive.exp: Ditto.
|
|
|
|
|
|
|
|
|
| |
* parseko/foreachstmt06.stp: Added new test for foreach "limit"
keyword.
* parseko/foreachstmt07.stp: Ditto.
* parseok/foreachstmt01.stp: Ditto.
* semko/foreachstmt01.stp: Ditto.
* semko/foreachstmt02.stp: Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* main.cxx (usage): Added exitcode parameter.
(main): Improved a few error messages. Also, when an error is
given, stap now always exits with a status of 1.
* testsuite/buildok/cmdline01.stp: New test.
* testsuite/parseko/cmdline01.stp: Ditto.
* testsuite/parseko/cmdline02.stp: Ditto.
* testsuite/parseko/cmdline03.stp: Ditto.
* testsuite/parseko/cmdline04.stp: Ditto.
* testsuite/parseko/cmdline05.stp: Ditto.
* testsuite/parseko/cmdline06.stp: Ditto.
* testsuite/parseok/cmdline01.stp: Ditto.
* testsuite/parseok/cmdline02.stp: Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* elaborate.cxx (isglob): New function.
(match_key::globmatch): New function.
(match_node::find_and_build): Uses isglob() and
match_key::globmatch() to provide support for wildcards such as
"kernel.syscall.*read*" (Bugzilla #1928).
* elaborate.h (match_key::globmatch): Added function declaration.
* parse.cxx (parser::parse_probe_point): Collects one or more
tokens into a single probe-point functor string.
* testsuite/parseko/twentytwo.stp: New file.
* testsuite/parseok/sixteen.stp: New file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* testsuite/parseko/cmdlinearg01.stp: New file.
* testsuite/parseko/cmdlinearg02.stp: New file.
* testsuite/parseko/eighteen.stp: New file.
* testsuite/parseko/foreachstmt01.stp: New file.
* testsuite/parseko/foreachstmt02.stp: New file.
* testsuite/parseko/foreachstmt03.stp: New file.
* testsuite/parseko/foreachstmt04.stp: New file.
* testsuite/parseko/foreachstmt05.stp: New file.
* testsuite/parseko/forstmt01.stp: New file.
* testsuite/parseko/forstmt02.stp: New file.
* testsuite/parseko/forstmt03.stp: New file.
* testsuite/parseko/forstmt04.stp: New file.
* testsuite/parseko/functiondecl01.stp: New file.
* testsuite/parseko/functiondecl02.stp: New file.
* testsuite/parseko/functiondecl03.stp: New file.
* testsuite/parseko/functiondecl04.stp: New file.
* testsuite/parseko/functiondecl05.stp: New file.
* testsuite/parseko/functiondecl06.stp: New file.
* testsuite/parseko/functiondecl07.stp: New file.
* testsuite/parseko/ifstmt01.stp: New file.
* testsuite/parseko/ifstmt02.stp: New file.
* testsuite/parseko/nineteen.stp: New file.
* testsuite/parseko/preprocess01.stp: New file.
* testsuite/parseko/preprocess02.stp: New file.
* testsuite/parseko/preprocess03.stp: New file.
* testsuite/parseko/preprocess04.stp: New file.
* testsuite/parseko/preprocess05.stp: New file.
* testsuite/parseko/preprocess06.stp: New file.
* testsuite/parseko/preprocess07.stp: New file.
* testsuite/parseko/preprocess08.stp: New file.
* testsuite/parseko/preprocess09.stp: New file.
* testsuite/parseko/probepoint01.stp: New file.
* testsuite/parseko/probepoint02.stp: New file.
* testsuite/parseko/probepoint03.stp: New file.
* testsuite/parseko/seventeen.stp: New file.
* testsuite/parseko/ternarystmt01.stp: New file.
* testsuite/parseko/twenty.stp: New file.
* testsuite/parseko/twentyone.stp: New file.
* testsuite/parseko/whilestmt01.stp: New file.
* testsuite/parseko/whilestmt02.stp: New file.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1366.
* staptree.h (foreach_loop): Add sort_column, sort_direction fields.
* parse.cxx (parse_foreach_loop): Parse "+"/"-" suffix operators.
* stap.1.in, stapex.5.in: Document them.
* staptree.cxx (foreach_loop print, copy): Propagate them.
* translate.cxx (visit_foreach_loop): Support them.
* testsuite/parseok/fifteen.stp, parseko/thirteen.stp,
buildok/twentyone.stp: Test them.
2005-10-07 Frank Ch. Eigler <fche@elastic.org>
PR 1366.
* systemtap.samples/primes.*: Sort foreach gratuitiously.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR systemtap/1122 et alii
* parse.cxx (parse_literal): Parse and range-limit 64-bit numbers.
(parse_unary): Correct precedence glitch.
* staptree.h (literal_number): Store an int64_t.
* staptree.cxx: Corresponding changes.
* translate.cxx (check_dbz): Remove - insufficient.
(emit_function): Define CONTEXT macro sibling for THIS.
(c_typename): pe_long -> int64_t.
(visit_literal_number): Format literal rigorously and uglily.
(c_assignop, visit_binary_expression): Handle div/mod via new
helper functions in runtime.
* tapset/builtin_logging.stp: Add error, exit builtins.
* testsuite/buildok/ten,eleven.stp: New tests.
* testsuite/parse{ko,ok}/six.stp: Modify for larger numbers.
* testsuite/transok/one.stp: Add more ";"s, maybe unnecessarily.
2005-08-12 Frank Ch. Eigler <fche@elastic.org>
* arith.c: New file to contain arithmetic helper functions.
* builtin_functions.h: Remove, unused.
* runtime.h: Include it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
translator/1120
* main.cxx (main): Preset -R and -I options from environment
variables (if set). Pass guru mode flags to parser.
* parse.cxx (privileged): New parser operation flag. Update callers.
(parse_embeddedcode): Throw an error if !privileged.
(parse_functiondecl): Change signature. Prevent duplicates.
(parse_globals): Ditto.
* parse.h: Corresponding changes.
* tapset/*.stp: Beginnings of real tapset library, to replace
previous builtins.
* tapsets.cxx: Greatly reduce verbose mode output.
* Makefile.am: Install & dist it.
* runtest.sh: Refer to it.
* Makefile.in, aclocal.m4: Regenerated.
* testsuite/*/*.stp: Set guru mode via /bin/sh if needed.
* testusite/*/*ko.stp: Homogenize shell scripts.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Support %{ embedded-c %}
* staptree.h (embeddedcode): New statement subtype. Stub support in
visitors.
* staptree.cxx: Ditto.
* parse.cxx: Parse %{ / %}. Accept "_" as identifier leading char.
(parse_probe): Simplify calling convention.
* elaborate.h: Store embedded code.
* elaborate.cxx: Pass it.
* translate.cxx: Transcribe it. Return some dropped module init/exit
code.
* Makefile.am: Add buildok/buildko tests.
* Makefile.in: Regenerated.
* main.cxx: Return EXIT_SUCCESS/FAILURE even for weird rc.
* testsuite/parseok/nine.stp: Test _identifiers.
* testsuite/transko/*.stp: Tweak to force -p3 rather than -p2 errors.
* testsuite/semok/transko.stp: ... and keep it that way in the future.
* testsuite/parse*/*: Some new tests for %{ %}.
* testsuite/build*/*: New tests for -p4.
|
|
|
|
|
|
| |
* parse.cxx (scan): Support C and C++ comment styles.
* testsuite/parseok/four.stp: Test them some ...
* testsuite/parseko/nine.stp: ... and some more.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Parse foreach construct. Added fuller copyright notices throughout.
* staptree.h (foreach_loop): New tree node type.
* staptree.cxx: Print it, visit it, love it, leave it.
* parse.cxx: Parse it.
(parse_stmt_block): Don't require ";" separators between statements.
(parse_array_in): Use [] as index group operator instead of ().
* elaborate.cxx (visit_foreach_loop): New code.
* translate.cxx: Slightly tighten errorcount/actioncount handling.
* main.cxx: Accept "-" as script file name standing for stdin.
(visit_arrayindex): Switch to simpler set_arity call.
* configure.ac: Generate DATE macro.
* Makefile.in, configure, config.in: Regenerated.
* testsuite/*: New/updated tests for syntax changes, foreach ().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
More fully parse & elaborate "expr in array" construct.
* staptree.h (array_in): Make this unary. Update .cxx to match.
* parse.cxx (parse_array_in): Rewrite.
(parse_symbol_plain): Removed. Update .h to match.
* elaborate.cxx (typeresolution_info::visit_array_in): New function.
(find_array): Tentatively, accept arity=0.
* translate.cxx (c_unparser::c_assign): New functions to eliminate
much ugly duplication. Use throughout.
(visit_symbol): Correct function formal argument search.
(c_tmpcounter*::visit): Add missing recursion in several functions.
* testsuite/*: Add new tests for array-in construct. Add the
first "transok" test.
* Makefile.am: Add transok tests.
* Makefile.in: Regenerated.
|
|
|
|
|
|
|
|
|
|
|
|
| |
2005-05-20 Frank Ch. Eigler <fche@redhat.com>
Many changes throughout. Partial sketch of translation output.
* elaborate.*: Elaboration pass.
* translate.*: Translation pass.
* staptree.*: Simplified for visitor concept.
* main.cxx: Translator mainline.
* *test.cxx: Removed.
* testsuite/*: Some new tests, some changed for newer syntax.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* TODO: New file. Include some probe-point-provider syntax examples.
* parse.cxx (lexer::scan, parser::parse_literal): Support hex, octal
numbers via strtol.
(parse_probe, parse_probe_point): Modify for dotted syntax.
* staptree.cxx: Ditto.
* parsetest.cxx, semtest.cxx: Print parse/sem results even if
.stp files were given on command line.
* parse.h, staptree.h: Rename probe_point_spec -> probe_point.
* runtest.sh: New test-runner front-end script.
* Makefile.am: Use it for TESTS_ENVIRONMENT.
* testsuite/*: Update probe point syntax. Add a bunch of new tests.
|
|
|
|
|
|
|
|
|
|
|
| |
* parse.cxx (scan): Support '$' characters in identifiers.
(parse_symbol): Support thread-> / process-> shorthand.
* staptree.cxx (symresolution_info::find): Split up into
find_scalar, find_array, find_function.
(resolve_symbols): Call the above for symbol/arrayindex/functioncall.
(find_scalar): Add stub support for synthetic builtin variables.
* staptree.h: Corresponding changes.
* testsuite/*: Some new tests.
|
|
|
|
|
|
|
|
|
|
| |
* parse.cxx (parse_assignment): Assert lvalueness of left
operand.
* staptree.h (expression): Add is_lvalue member.
* staptree.cxx (functioncall::resolve_types): Don't crash on
formal-vs-actual argument count mismatch.
(*): Add some is_lvalue stub functions.
* testsuite/*: Some new tests.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2005-03-01 Frank Ch. Eigler <fche@redhat.com>
* parse.cxx: Implement left-associativity for several types of
operators. Add some more statement types. Parse functions.
Be able to print tokens. Simplify error generating functions.
Save tokens in all parse tree nodes.
* parse.h: Corresponding changes.
* staptree.cxx: Move tree-printing functions here. Add many
new functions for symbol and type resolution.
* staptree.h: Corresponding changes.
* semtest.cxx: New semantic analysis pass & test driver.
* testsuite/sem*/*: New tests.
* parsetest.cxx: Separated parse test driver.
* testsuite/parse*/*: Adapt tests to parsetest driver.
* Makefile.am: Build semtest. Run its tests.
* Makefile.in: Regenerated.
* parse.cxx, parse.h: New files: parser.
|
|
|