summaryrefslogtreecommitdiffstats
path: root/testsuite/semko
Commit message (Collapse)AuthorAgeFilesLines
* PR5930: Address-op for $target and @cast membersJosh Stone2009-07-153-0/+18
| | | | | | | | | | | | | | | | This allows the '&' operator to get the address of @cast and $target variable expressions. * staptree.h (target_symbol): add addressof field * staptree.cxx (target_symbol::print): print '&' for addressof (cast_op::print): ditto * parse.cxx (parser::parse_value): allow '&' prefix on $target/@cast * dwflpp.cxx (dwflpp::translate_final_fetch_or_store): allow taking the computed address without actually doing a final fetch. * tapset* (*::visit_target_symbol): throw errors for $vars w/o addresses * testsuite/systemtap.base/cast.stp: add &@cast test * testsuite/semok/target_addr.stp: test '&' on different member types * testsuite/semko/target_addr?.stp: test failure on bitfields/registers
* PR10007: Avoid probing syscall entry points in the testsuite.Ananth N Mavinakayanahalli2009-04-308-9/+9
| | | | While there, fix minor issues with the s390x syscall tapset.
* Updated utrace tests.David Smith2009-04-219-31/+3
| | | | | | | | | | | | | | | | 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.
* Adding test case for PR9719 fixRajan Arora2009-02-181-0/+8
|
* Added tests for utrace-syscall probe context variables.Masami Hiramatsu2008-09-098-0/+32
|
* PR 6445 (partial). Implemented system-wide utrace probes.David Smith2008-08-121-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | 2008-08-12 David Smith <dsmith@redhat.com> PR 6445 (partial) * tapsets.cxx (utrace_builder::build): Validates pid and allows probing of "*" to mean all threads. * stapprobes.5.in: Added note about a process path of "*" means to probe all threads. 2008-08-12 David Smith <dsmith@redhat.com> PR 6445 (partial) * task_finder.c (stap_register_task_finder_target): Handles probing all threads. (__stp_utrace_attach_match_filename): Ditto. (stap_start_task_finder): Ditto. 2008-08-12 David Smith <dsmith@redhat.com> PR 6445 (partial) * systemtap.base/utrace_p4.exp: Added test that probes all threads. * semko/utrace14.stp: New test.
* PR5049: fix overbroad effects of naive "*" prefixing; instead use optional ↵Frank Ch. Eigler2008-08-111-0/+5
| | | | "*/" only.
* Merge commit 'origin/dwarfless'Jim Keniston2008-05-129-0/+127
|\ | | | | | | PR 4311 - Function boundary tracing without debuginfo: Phases 1 and 2
| * * testsuite/{semok,semko}/nodwf*.stpJim Keniston2008-04-189-0/+127
| | | | | | | | Shows what we currently can and can't do.
* | PR6466: broad side-effect free statement elisionFrank Ch. Eigler2008-04-291-2/+2
| |
* | Renamed semko/utrace02.stp to parseko/utrace01.stp.David Smith2008-04-221-4/+0
| | | | | | | | | | | | | | 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).
* | Added new utrace tests.David Smith2008-04-1713-0/+52
|/ | | | | | | | | | | | | | | | | | | | | 2008-04-17 David Smith <dsmith@redhat.com> * buildok/utrace01.stp: New test. * buildok/utrace02.stp: Ditto. * buildok/utrace03.stp: Ditto. * semko/utrace01.stp: Ditto. * semko/utrace02.stp: Ditto. * semko/utrace03.stp: Ditto. * semko/utrace04.stp: Ditto. * semko/utrace05.stp: Ditto. * semko/utrace06.stp: Ditto. * semko/utrace07.stp: Ditto. * semko/utrace08.stp: Ditto. * semko/utrace09.stp: Ditto. * semko/utrace10.stp: Ditto. * semko/utrace11.stp: Ditto. * semko/utrace12.stp: Ditto. * semko/utrace13.stp: Ditto.
* 2008-03-20 Frank Ch. Eigler <fche@elastic.org>fche2008-03-201-0/+3
| | | | | | | | PR 5956. * null.stp: New file, defining global NULL=0. PR 5956. * semko/fortyfive.stp: New test.
* 2008-02-22 Frank Ch. Eigler <fche@elastic.org>fche2008-02-231-1/+1
| | | | | * semko/fortyfive.stp: Add ".call" to exclude false (?) positives from inlined instances defined in header files.
* PR5766: back to regexp-based blacklistingfche2008-02-191-0/+3
| | | | | | | | | | | | | | 2008-02-19 Frank Ch. Eigler <fche@elastic.org> PR 5766. * tapsets.cxx (build_blacklist): Switch (back) to regexp-based blacklist construction ... (blacklist_p): ... and querying. 2008-02-19 Frank Ch. Eigler <fche@elastic.org> PR5766. * semko/fortyfive.stp: New test.
* PR5771: adapt to earlier error checkingfche2008-02-191-0/+6
| | | | | * transko/one.stp: Remove, or rather, move to this ... * semko/zero.stp: new file.
* 2008-02-13 Dave Brolley <brolley@redhat.com>brolley2008-02-132-0/+9
| | | | | | | | | | | | | | | | | PR5609 * staptree.h (probe::collect_derivation_chain): Now takes vector<probe*>. (probe::get_alias): New virtual method. * elaborate.h (derived_probe::collect_derivation_chain): Now takes vector<probe*>. * staptree.cxx (probe::collect_derivation_chain): Now takes vector<probe*>. Don't cast 'this' to (derived_probe*). * elaborate.cxx (derived_probe::collect_derivation_chain): Now takes vector<probe*>. (alias_derived_probe::get_alias): New virtual method. (alias_derived_probe::alias): New member. (alias_expansion_builder::build): Call checkForRecursiveExpansion and emit a diagnostic if recursion is detected. Pass alias to constructor of alias_derived_probe. (alias_expansion_builder::checkForRecursiveExpansion): New method. * coveragedb.cxx: Pass vector<probe*> on all calls to collect_derivation_chain.
* perms2fche2008-01-282-0/+0
|
* PR5673: reduce total size of generated .ko's from wildly wildcarded scriptsfche2008-01-262-0/+10
| | | | | | | | | | | | | | | 2008-01-26 Frank Ch. Eigler <fche@elastic.org> PR 5673. * tapsets.cxx (dwarf_derived_probe_group): Split stap_dwarf_probes[] into bss-carried kprobes structs. Tune embedded strings for minimizing relocation-vs-fixed-buffer wastage. * tapsets.cxx (dwarf_derived_probe): Impose .maxactive() limits. 2008-01-26 Frank Ch. Eigler <fche@elastic.org> PR 5673. * testsuite/parseko/maxactive{04,05}.stp: New tests.
* PR 4936: probe pont conditions part 2; reorg in prep for full rewritingfche2008-01-183-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* 2008-01-17 David Smith <dsmith@redhat.com>dsmith2008-01-172-0/+8
| | | | | | * semko/procfs11.stp: Added test for invalid use of procfs probe '$value' target variable. * semko/procfs12.stp: Ditto.
* 2007-12-05 Masami Hiramatsu <mhiramat@redhat.com>hiramatu2007-12-051-0/+3
| | | | | | | | | | | | | | | | | | 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.
* 2007-09-17 David Smith <dsmith@redhat.com>dsmith2007-09-175-0/+25
| | | | | | | | * semko/procfs06.stp: New test case. * semko/procfs07.stp: Ditto. * semko/procfs08.stp: Ditto. * semko/procfs09.stp: Ditto. * semko/procfs10.stp: Ditto.
* 2007-09-14 David Smith <dsmith@redhat.com>dsmith2007-09-145-0/+22
| | | | | | | | | | PR 1154 * buildok/procfs01.stp: New test case. * semko/procfs01.stp: Ditto. * semko/procfs02.stp: Ditto. * semko/procfs03.stp: Ditto. * semko/procfs04.stp: Ditto. * semko/procfs05.stp: Ditto.
* 2007-08-24 Frank Ch. Eigler <fche@redhat.com>fche2007-08-241-5/+0
| | | | | | PR 4899 * semko/thirtynine.stp: Removed test, now that bug #1305 has become mooted/undone.
* 2007-05-06 Frank Ch. Eigler <fche@elastic.org>fche2007-05-063-2/+7
| | | | | | | | | | | | PR 1305. * tapsets.cxx (iterate_over_srcfile_lines): Exclude approximate file:lineno matches optimistically returned by dwarf_getsrc_file. (query_srcfile_line): Use Dwarf_Line line number for constructing derived_probe location string. 2007-05-06 Frank Ch. Eigler <fche@elastic.org> * semko/thirtynine.stp: New test.
* 2007-04-02 Frank Ch. Eigler <fche@elastic.org>fche2007-04-021-3/+3
| | | | | | | | | | | | * tapsets.cxx (query_dwarf_func): Skip non-inlined functions for .function().inline case. 2007-04-02 Frank Ch. Eigler <fche@elastic.org> * socket-trace.stp, small_demos/prof.stp, top.stp: Adapt to .inline -> .function change. * semko/twentyone.stp: Ditto.
* 2007-03-30 Frank Ch. Eigler <fche@redhat.com>fche2007-03-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | PR 1570 * NEWS: Document probe handler language change re. inline functions. * stapprobes.5.in: Likewise. * tapsets.cxx: Many changes to simplify caches and implement new handling of inline functions, removed of stubs for future probes. * elaborate.cxx (derived_probe printsig_nested): New function. * elaborate.h: Declare it. * main.cxx (usage): Clarify "-r" meaning. (main): Tweak related "-p 4" message. 2007-03-30 Frank Ch. Eigler <fche@elastic.org> PR 1570. * memory.stp, scheduler.stp, signal.stp, LKET/signal.stp: Adapt to .inline -> .function change. 2007-03-30 Frank Ch. Eigler <fche@elastic.org> PR 1570 * */*.stp: Adapt to .inline -> .function change. * lib/stap_run.exp, stap_run2.exp, stap_run_binary.exp: Shorten pass/fail dejagnu log lines. * systemtap.syscall/sys.stp, test.tcl: Make slightly more compatible and failure more verbose.
* 2007-03-22 Frank Ch. Eigler <fche@elastic.org>fche2007-03-222-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | PR 4224. * staptree.h (probe): Add privileged field. * elaborate.cxx, parse.cxx: Pass privileged flag to probes. * tapsets.cxx (dwarf_query): Add has_absolute field. (dwarf_derived_probe ctor): Tolerate it. (register_patterns): Expose it. (dwarf_builder::build): Implement it with no dwfl whatsoever. * NEWS: Document kernel.statement().absolute. * stapprobes.5.in: Ditto. 2007-03-22 Frank Ch. Eigler <fche@elastic.org> PR 4224. * systemtap.base/probefunc.exp: Use kernel.statement().absolute instead with grep-found schedule_tick address. * semko/thirtyseven.stp, thirtyeight.stp: New tests. * buildok/twentyeight.stp: New test. 2007-03-22 Frank Ch. Eigler <fche@elastic.org> * sym.c (_stp_module_relocate): Tolerate empty section string.
* 2007-03-13 Frank Ch. Eigler <fche@redhat.com>fche2007-03-143-3/+3
| | | | | | | | | | | | | | | | | | | | 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.
* 2006-11-28 David Smith <dsmith@redhat.com>dsmith2006-11-281-0/+7
| | | | | | | * semko/thirtyfour.stp: Checks for writing to target variable in .return probe. * semok/twentyfour.stp: Tests read access to target variable in .return probe.
* 2006-11-17 Frank Ch. Eigler <fche@redhat.com>fche2006-11-171-0/+7
| | | | | | | | | | | | | * tapsets.cxx (d_v_e_c_v::visit_target_symbol): Restore lost exception-saving functionality that improves error messages for incorrect $target expressions. (translate_components): Systematize error messages somewhat. * translate.cxx (emit_function, emit_probe): Clarify "array locals" error message. 2006-11-17 Frank Ch. Eigler <fche@redhat.com> * semko/thirtysix.stp, transko/three.stp: New tests.
* 2006-11-10 David Smith <dsmith@redhat.com>dsmith2006-11-101-1/+1
| | | | | | | | | | | * semko/maxactive03.stp: Stop on pass2 instead of on pass1. * lib/stap_run.exp: As a side-effect, stap_run() sets global 'probe_errors' and 'skipped_probes' to the number of probe errors and skipped probes seen while running the probe. * systemtap.base/maxactive.exp: Uses extended stap_run() to find number of skipped probes instead of using private stap_run() variant.
* 2006-11-09 David Smith <dsmith@redhat.com>dsmith2006-11-093-0/+21
| | | | | | | | | | | | | * 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.
* 2006-11-06 David Smith <dsmith@redhat.com>dsmith2006-11-062-0/+29
| | | | | | | | | * 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.
* 2006-06-05 David Smith <dsmith@redhat.com>dsmith2006-06-052-0/+14
| | | | | | | | | | | | | | | | | | | | | * tapsets.cxx (dwflpp::express_as_string): New function. Extracted from dwflpp::literal_stmt_for_local() so that dwflpp::literal_stmt_for_return() could also call it. (dwflpp::literal_stmt_for_local): Portion extracted to create dwflpp::express_as_string(). (dwflpp::literal_stmt_for_return): New function. Adds support for new symbolic access ("$return") to return value in .return probes. Fixes PR 1132. (target_variable_flavour_calculating_visitor::visit_target_symbol): Calls dwflpp::literal_stmt_for_return() when in a return probe and the variable name is "$return". (dwarf_var_expanding_copy_visitor::visit_target_symbol): Ditto. * stapfuncs.5.in: Noted that the retval() function is deprecated. * stapprobes.5.in: Corrected the name of the return value variable. * tapset/return.stp: Marked the retval() function as deprecated. * testsuite/semko/return01.stp: Added new test. * testsuite/semko/return02.stp: Ditto.
* 2006-06-02 Frank Ch. Eigler <fche@elastic.org>fche2006-06-021-0/+4
| | | | | | | | | | | PR 2645 cont'd. * elaborate.cxx (find_and_build): Support optional wildcards too. (derive_probes): Change last argument to indicate optionalness of parent probe point (alias reference). (alias_expansion_builder): Shrink epilogue-mode alias body copying. Pass along alias reference optionality. * elaborate.h: Corresponding changes. * testsuite/semko/thirtyfive.stp, semok/twentytwo.stp: New tests.
* 2006-05-16 David Smith <dsmith@redhat.com>dsmith2006-05-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * parse.cxx (parser::parser): Added initializer for 'context' member variable. (tt2str): Added support for new tok_keyword type. (operator <<): Ignores keyword content when outputting error message. (lexer::scan): Recognizes keywords, such as 'probe', 'global', 'function', etc. and classifies them as type 'tok_keyword'. This causes keywords to become reserved so they cannot be used for function names, variable names, etc. (parser::parse): Changed tok_identifier to tok_keyword when looking for "probe", "global", or "function". Also sets context member variable which remembers if we're in probe, global, function, or embedded context. (parser::parse_probe, parser::parse_statement) (parser::parse_global, parser::parse_functiondecl) (parser::parse_if_statement, parser::parse_delete_statement) (parser::parse_break_statement, parser::parse_continue_statement) (parser::parse_for_loop, parser::parse_while_loop) (parser::parse_foreach_loop, parser::parse_array_in): Looks for tok_keyword instead of tok_identifier. (parser::parse_probe_point): Allows keywords as part of a probe name, since "return" and "function" are keywords. (parser::parse_return_statement): Looks for tok_keyword instead of tok_identifier. Make sure we're in function context. (parser::parse_next_statement): Looks for tok_keyword instead of tok_identifier. Make sure we're in probe context. * parse.h: Added parse_context enum. Added 'tok_keyword' to token_type enum. Added parse_context 'context' member variable to parser class. * stap.1.in: Because the string() function has been removed, the 'string()' function reference has been changed to a 'sprint()' function reference. * stapex.5.in: Ditto. * stapfuncs.5.in: The description of the string() and hexstring() functions has been removed. * testsuite/buildok/context_test.stp: Calls to the string() function were converted to sprint() function calls. * testsuite/buildok/fifteen.stp: Ditto. * testsuite/buildok/nineteen.stp: Ditto. * testsuite/buildok/process_test.stp: Ditto. * testsuite/buildok/task_test.stp: Ditto. * testsuite/buildok/timestamp.stp: Ditto. * testsuite/buildok/twentyone.stp: Ditto. * testsuite/semok/args.stp: Ditto. * testsuite/semok/seven.stp: Ditto. * testsuite/buildok/fourteen.stp: Calls to log()/string() were converted to a call to printf(). * testsuite/buildok/sixteen.stp: Ditto. * testsuite/buildok/thirteen.stp: Ditto. * testsuite/buildok/twentythree.stp: Ditto. * testsuite/buildok/twentytwo.stp: Ditto. * testsuite/buildok/seven.stp: Calls to the string() function were converted to sprint() calls. Calls to the hexstring() function were converted to sprintf() calls. * testsuite/semok/eleven.stp: Ditto. * testsuite/buildok/seventeen.stp: Calls to log()/hexstring() were converted to a call to printf(). * testsuite/semko/nineteen.stp: Ditto. * testsuite/parseok/three.stp: Because keywords are reserved, a variable named 'string' was renamed to 'str'. * testsuite/parseok/two.stp: Because keywords are reserved, a variable named 'global' was renamed to 'gbl'. * testsuite/transko/two.stp: Because the parser now checks for 'next' and 'return' statement context, a 'next' statement was removed from a function and a 'return' statement was removed from a probe.
* 2006-02-01 Frank Ch. Eigler <fche@elastic.org>fche2006-02-011-2/+2
| | | | * testsuite/semko/one.stp: Make sure test case stays broken.
* 2006-01-24 Frank Ch. Eigler <fche@elastic.org>fche2006-01-249-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR 2060 etc. * tapsets.cxx (visit_target_symbol): Tolerate failed resolution by letting target_symbol instance pass through to optimizer and type checker. * elaborate.cxx (semantic_pass_optimize): New family of functions and associated visitor classes. (visit_for_loop): Tolerate absent init/incr clauses. (semantic_pass): Invoke unless unoptimized (-u) option given. * main.cxx, session.h: Add support for flag. * staptree.cxx (visit_for_loop): Tolerate absent init/incr clauses. (traversing_visitor::visit_arrayindex): Visit the index expressions. (functioncall_traversing_visitor): New class. (varuse_tracking_visitor): New class. * staptree.h: Corresponding changes. * parse.cxx (parse_for_loop): Represent absent init/incr expressions with null statement pointer instead of optimized-out dummy numbers. * stap.1.in: Document optimization. * testsuite/{semko,transko}/*.stp: Added "-u" or other code to many tests to check bad code without optimizer elision. * testsuite/semok/optimize.stp: New test. * elaborate.cxx (unresolved, invalid, mismatch): Standardize error message wording. * stapfuncs.5.in: Tweak print/printf docs. * tapset/logging.stp: Remove redundant "print" auxiliary function, since it's a translator built-in. * testsuite/transok/five.stp: Extend test. * translate.cxx (emit_symbol_data): Put symbol table into a separate temporary header file, to make "-p3" output easier on the eyes. * buildrun.cxx (compile_pass): Eliminate test-mode support throughout. * main.cxx, session.h, translate.cxx: Ditto. * main.cxx (main): For last-pass=2 runs, print post-optimization ASTs.
* 2006-01-10 Frank Ch. Eigler <fche@redhat.com>fche2006-01-101-0/+3
| | | | | | | PR 1972. * tapsets.cxx (var_expanding_copy_visitor::visit_target_symbol): Produce error message for $var access within .return probes. * testsuite/semko/thirtyfour.stp: New test.
* 2005-11-23 Graydon Hoare <graydon@redhat.com>graydon2005-11-248-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * elaborate.h (get_symbol_within_expression): Make visible. * elaborate.cxx (get_symbol_within_expression): Make non-static. (stat_decl_collector): New struct. (semantic_pass_stats): New semantic pass. (semantic_pass): Call it. (semantic_pass_symbols): Remove collection of statistic_decls from files. (visit_stat_op): Only fail if inferred type is not pe_long. * parse.cxx (parser::parse): Don't pass per-file statistic_decl into parse_global. (parser::parse_global): Don't parse global statistic_decls, they're obsolete. * parse.hh (parser::parse_global): Adjust signature to match. * session.h (statistic_decl::operator==): New method. * staptree.h (print_format::is_empty): New method. (stapfile::stat_decls): Remove field. * staptree.cxx (string_to_components): Fix bugs in format-string parser. * translate.cxx (var): Make private fields protected. (var::init): Support HIST_NONE stats. (aggvar): New struct. (mapvar::is_parallel): New method. (mapvar::call_prefix): Use it. (mapvar::calculate_aggregate): New method. (mapvar::fetch_existing_aggregate): New method. (mapvar::get): Support pe_stats. (mapvar::init): Use is_parallel(), and support HIST_NONE. (itervar::itervar): Only fault on pe_unknown. (itervar::start): Use mapvar::is_parallel and mapvar::fetch_existing_aggregate. (emit_map_type_instantiations): Include alloc.c before pmap-gen.c. Include pmap-gen.c for pe_stats maps. (c_unparser::gensym_aggregate): New method. (c_unparser::visit_foreach_loop): Handle mapvar::is_parallel case. (arrayindex_downcaster): New struct. (expression_is_arrayindex): New function. (c_tmpcounter::visit_stat_op): New method. (c_unparser::visit_stat_op): Implement. (c_unparser::visit_hist_op): Add commentary, still not implemented. * testsuite/buildok/stat_{insert,extract}.stp: New tests. * testsuite/semok/ten.stp: Correct for changes to global declarations. * testsuite/semko/*.stp: Likewise.
* 2005-11-18 Martin Hunt <hunt@redhat.com>hunt2005-11-183-3/+3
| | | | | | | | | | | | | | | | | | | | | | | PR 1837 * testsuite/buildko/one.stp: Replace printk. * testsuite/buildok/one.stp: Ditto. * testsuite/buildok/two.stp: Ditto. * testsuite/semko/fifteen.stp: Ditto. * testsuite/semko/fourteen.stp: Ditto. * testsuite/semko/thirteen.stp: Ditto. * testsuite/transok/eight.stp: Ditto. * testsuite/transok/seven.stp: Ditto. * testsuite/transok/six.stp: Ditto. * tapsets.cxx (*::emit_probe_entries): Replace printk() calls with _stp_warn(). * stap.1.in: Replace printk with printf in example. * stapfuncs.5.in: Remove docs for printk and add for print and printf. * tapset/logging.stp (printk): Deleted.
* 2005-11-07 Frank Ch. Eigler <fche@redhat.com>fche2005-11-071-0/+5
| | | | | | | PR 1828. * tapsets.cxx (blacklisted_p): New function. Add a few blacklist entries. * testsuite/semko/thirtythree.stp: New test.
* 2005-11-03 Frank Ch. Eigler <fche@elastic.org>fche2005-11-031-0/+4
| | | | | | | PR 1329. * tapsets.cxx (dwarf_query::add_probe_point): Look up section name containing given address. Skip request if it came from .init.*. * testsuite/semko/thirtytwo.stp: New test.
* 2005-10-20 Graydon Hoare <graydon@redhat.com>graydon2005-10-208-0/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR 917 (incomplete) * staptree.h (struct statistic_decl): New struct. (stapfile::stat_decls): New member. * parse.h, parse.cxx (parser::expect_known): Fix typo. (parser::expect_number): New method. (parser::parse_global): Parse global statistic_decls. * elaborate.h (systemtap_session::stat_decls): New member. * elaborate.cxx (semantic_pass_symbols): Copy per-file stat_decls to session-wide. (typeresolution_info::visit_assignment): Detect some semantic stats errors in type resolution pass. * translate.cxx (var::sd): New private member. (var::var): Initialize it. (var::sdecl): New accessor. (var::init): Handle stats values. (mapvar::mapvar): Pass through statistic_decl to var ctor. (mapvar::get): Test for long explicitly. (mapvar::set): Likewise. (mapvar::init): Handle stats values. (c_unparser::emit_common_header): Remove typedef of stats_t, include stat.c when necessary. (mapvar::key_typename): Typo. (c_unparser::emit_map_type_instantiations): Thinko: value_typename not key_typename. (c_unparser::c_typename): Implementation typename is "Stat", not "stats_t". (c_unparser::c_assign): Fix bad error message. (c_unparser_assignment::c_assignop): Handle operator <<<. (c_unparser::getvar): Feed session statistic_decl into var. (c_unparser::getmap): Likewise. (c_unparser::visit_assignment): Handle operator <<<. (c_tmpcounter_assignment::visit_symbol): Derive type from rvalue when present. (c_unparser_assignment::visit_symbol) (c_tmpcounter_assignment::visit_arrayindex) (c_unparser_assignment::load_map_indices): Likewise. (c_unparser::visit_arrayindex): Likewise, and Prohibit statistic rvalues. (c_unparser_assignment::visit_arrayindex): Handle operator <<<. * testsuite/semko/twentyfour.stp: * testsuite/semko/twentyfive.stp: * testsuite/semko/twentysix.stp: * testsuite/semko/twentyseven.stp: * testsuite/semko/twentyeight.stp: * testsuite/semko/twentynine.stp: * testsuite/semko/thirty.stp: * testsuite/semko/thirtyone.stp: New tests for prohibited statistic contexts. * testsuite/buildok/twentytwo.stp: New test for legal statistic contexts.
* 2005-10-17 Frank Ch. Eigler <fche@elastic.org>fche2005-10-183-2/+5
| | | | | | | | | | | | | | | | | | | | PR 1338. * parse.cx (parse_probe): Unconditionally visit parse_probe_point. (parse_probe_point): Accept "*" as component name. * stapprobes.5.in: Document this. * elaborate.cxx (derive_probes): Rewrite. Make top-level function. (match_node::find_and_build): New function to replace (find_builder): Removed. (match_key operator <): Correct one nasty typo. (match_node::bind): Refuse to bind "*" component names. (derived_probe_builder::build): Remove recursion output param. (alias_expandion_builder::build): Recurse to derive_probes instead. * elaborate.h: Corresponding changes. * tapsets.cxx: Ditto. (query_cu): Elide prologue finding for uninteresting CUs. * testsuite/semok/nineteen.stp: New test. * testsuite/semko/twentythree.stp: New test. * testsuite/semko/twentyone/two.stp: Fix -p2.
* 2005-10-17 Graydon Hoare <graydon@redhat.com>graydon2005-10-172-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | * testsuite/semko/twentyone.stp: Check function doesn't match inline. * testsuite/semko/twentytwo.stp: Check inline doesn't match function. * testsuite/buildok/six.stp: Change "function" to "inline". * stapprobes.5.in: Describe "inline" probes. * tapsets.cxx (TOK_INLINE): New token "inline". (dwarf_query::has_inline_str) (dwarf_query::has_inline_num) (dwarf_query::inline_str_val) (dwarf_query::inline_num_val): New members. (dwarf_query::dwarf_query): Load new members. (query_dwarf_inline_instance) (query_dwarf_func) (query_cu) (query_module) (dwarf_derived_probe::add_probe_point) (dwarf_builder::build): Use inline-related members where appropriate. (dwarf_derived_probe::register_inline_variants): New method. (dwarf_derived_probe::register_function_and_statement_variants): Call it.
* 2005-09-03 Frank Ch. Eigler <fche@elastic.org>fche2005-09-032-1/+8
| | | | | | | | | | PR 1292, by popular request. * parse.cxx (parse_functiondecl): Allow optional value/param type declarations. * stap.1.in: Document this. * tapset/*.stp: Convert most functions accordingly. * testsuite/parseok/twelve.stp, semok/seven.stp, semko/twenty.stp: Test this.
* 2005-08-30 Graydon Hoare <graydon@redhat.com>graydon2005-08-311-0/+8
| | | | | | | | | | | | | | * tapsets.cxx (dwflpp::literal_stmt_for_local): Handle dwarf pointer-to-1-byte-means-char case (found in PR 1187) * parse.cxx (parse_symbol): Eliminate use of "." from target symbol parser, conflicting with string concatenation operator. * staptree.h (target_symbol::component_type) Eliminate comp_struct_pointer_member, since . and -> are considered the same now. * staptree.cxx (target_symbol::print): Likewise. * testsuite/buildok/seventeen.stp: Test solution on PR 1191. * testsuite/buildok/six.stp: Test working portion of PR 1155. * testsuite/semko/nineteen.stp: Unresolved portion of PR 1155.