summaryrefslogtreecommitdiffstats
path: root/tapsets.cxx
Commit message (Collapse)AuthorAgeFilesLines
* 2005-08-01 Frank Ch. Eigler <fche@elastic.org>fche2005-08-011-1/+1
| | | | | | | | | * elaborate.cxx (derive_probes, semantic_pass_symbols): Improve error message specificity. * translate.cxx (emit_module_init): Compact partial registration recovery code. (emit_module_exit): Invert deregistration sequence. * testsuite/buildok/four.stp: Some module() test case.
* 2005-08-01 Frank Ch. Eigler <fche@elastic.org>fche2005-08-011-5/+9
| | | | | | | | | | | * elaborate.cxx (derive_probes): Print error if results empty. * tapsets.cxx (dwflpp_assert): Handle positive RCs, which likely came from errno. (dwflpp::setup): Improve missing debug-info messages. * testsuite/semko/sixteen,seventeen.stp: New tests. * runtest.sh: Save stdout/stderr of FAIL/XPASS test cases. * Makefile.am (clean-local): Clean up testsuite/. * Makefile.in, aclocal.m4: Regenerated.
* 2005-07-29 Frank Ch. Eigler <fche@redhat.com>fche2005-07-291-6/+9
| | | | | From Graydon Hoare <graydon@redhat.com: * tapsets.cxx (var_expanding_copy_visitor): Correct lvalue cases.
* 2005-07-29 Frank Ch. Eigler <fche@redhat.com>fche2005-07-291-8/+1
| | | | | | * configure.ac: Fail configure stage if elfutils 0.111+ is not found. * Makefile.am, elaborate.cxx, tapsets.cxx: Unconditionalize. * configure, Makefile.in, config.in: Regenerated.
* 2005-07-29 Roland McGrath <roland@redhat.com>roland2005-07-291-157/+157
| | | | | * tapsets.cxx: <libdw.h> -> <elfutils/libdw.h> * loc2c.c, loc2c.h: Likewise.
* 2005-07-28 Graydon Hoare <graydon@redhat.com>graydon2005-07-291-57/+281
| | | | | | | | | | | | | | | | | | | | | | | * elaborate.cxx (derived_probe::derived_probe): Accept NULL probe. * staptree.cxx (provide, require): Move from here... * staptree.h: to here, and virtualize deep-copy methods. * translate.cxx (c_unparser::emit_common_header): Include loc2c-runtime.h * tapsets.cxx (dwflpp::iterate_over_modules): Use new, faster getmodules loop. (dwflpp::literal_stmt_for_local): New method, call loc2c. (var_expanding_copy_visitor): New struct which expands $-vars. (dwarf_derived_probe): Rebuild this->body using var expander. (query_function): Refactor logic a bit for speed. * loc2c.{c,h}: Copies (with minor changes) of Roland's work from elfutils CVS. * Makefile.am (AM_CFLAGS): Set to elfutils-style. (stap_SOURCES): Add loc2c.c. * Makefile.in: Regenerate. 2005-07-28 Graydon Hoare <graydon@redhat.com> * loc2c-runtime.h: New file from elfutils CVS.
* 2005-07-28 Frank Ch. Eigler <fche@redhat.com>fche2005-07-281-25/+24
| | | | | | | | | * translate.cxx: Add "pt_regs*" field to context. * tapsets.cxx (*): Correct kprobes API interface. * testsuite/buildok/three.stp: New test, copied from semok. * Makefile.am (install-data-local): Also install runtime/relayfs, so scripts can build against headers located thereunder. * Makefile.in: Regenerated.
* 2005-07-28 Frank Ch. Eigler <fche@redhat.com>fche2005-07-281-16/+16
| | | | | | | | | | | | | | | | | | | 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.
* 2005-07-28 Frank Ch. Eigler <fche@redhat.com>fche2005-07-281-8/+9
| | | | | | | | | | | | translator/1120 translator/1123 * elaborate.cxx (semantic_pass_symbols): Print a more helpful error message around exceptions. * elaborate.h (systemtap_session): Add guru_mode field. * main.cxx (main): Initialize it to false. Add version-sensitive script library searching. Add more failure messages. * tapsets.cxx (dwflpp_assert): Add a decorative text parameter. Update callers.
* 2005-07-26 Graydon Hoare <graydon@redhat.com>graydon2005-07-271-49/+0
| | | | | | * elaborate.cxx: Revert builtin-function code. * translate.cxx: Likewise. * tapsets.{h,cxx}: Likewise.
* 2005-07-20 Frank Ch. Eigler <fche@redhat.com>fche2005-07-201-20/+64
| | | | | | | * tapsets.cxx (*::emit_[de]registrations): Add logic for probe lifecycle control (session_state). * translate.cxx (emit_common_header,emit_module_{init,exit}): Ditto. (visit_*): Use per-context errorcount.
* 2005-07-12 Graydon Hoare <graydon@redhat.com>graydon2005-07-131-4/+53
| | | | | | | | | | | | | | | | | * elaborate.cxx (semantic_pass_symbols): Only enter body if non-null. (semantic_pass_types): Likewise. (semantic_pass): Pass session to register_standard_tapsets. * translate.cxx (builtin_collector): New struct. (hookup_builtins): New function. (translate_pass): Only translate functions with bodies. (c_unparser::emit_common_header): Likewise, and call hookup_builtins. * tapsets.hh (builtin_function): New class. (register_standard_tapsets): Change parameter to session. * tapsets.cc (bultin_function::*): Implement class. (register_standard_tapsets): Register printk, log, warn. * testsuite/transok/six.stp: New test.
* 2005-07-05 Graydon Hoare <graydon@redhat.com>graydon2005-07-061-36/+69
| | | | | | | | | * elaborate.{h,cxx}: Revert previous changes. * tapsets.{h,cxx}: Adapt to verbose as a member of session. * elaborate.cxx (alias_expansion_builder::build): Avoid copying locals between alias definition and use. * testsuite/semok/{twelve,thirteen,fourteen}.stp: New tests. * staptree.cxx (probe_alias::printsig): Print equals sign.
* 2005-07-05 Frank Ch. Eigler <fche@redhat.com>fche2005-07-051-4/+6
| | | | | | | | | | | | | | * elaborate.h (systemtap_session): Add more command-line arguments. * staptree.h (verbose): Bad global, no donut. * elaborate.cxx: Temporarily disable verbose variable access. * main.cxx: Support more arguments, build/run passes. Revamp temporary file generation and partial-pass output generation. * tapsets.cxx, translate.cxx: Emit just enough extra punctuation and fluff to make generated probe pass -Werror. * buildrun.cxx, buildrun.h: New files for passes 4/5. Partial support for build pass, nothing on probe execution yet. * testsuite/transok/*.stp: Force just -p3, now that -p4/5 exist. * Makefile.am, Makefile.in: Corresponding changes.
* 2005-06-27 Graydon Hoare <graydon@redhat.com>graydon2005-06-291-644/+259
| | | | | | | | | | | | | | | * staptree.{h,cxx} (probe_alias): New structure. * parse.{h,cxx} (parser::parse): Parse probes or probe aliases. (parser::parse_probe): Likewise. * tapsets.{h,cxx}: (derived_probe_builder): (match_key): (match_node): (alias_derived_probe): Move from here, * elaborate.{h,cxx}: to here. * elaborate.h (systemtap_session::pattern_root): New member. (register_library_aliases): New function. * tapsets.cxx: Build one dwarf_derived_probe per target address.
* 2005-06-23 Graydon Hoare <graydon@redhat.com>graydon2005-06-241-31/+323
| | | | | | | | | | | | | | | | | | | | | * tapsets.cxx (probe_type): New enum. (probe_spec): New struct. (dwarf_derived_probe): Reorganize a bit, interpret .return. (query_statement): Translate addresses back to module space. (probe_entry_function_name): (probe_entry_struct_kprobe_name): (foreach_dwarf_probe_entry): (declare_dwarf_kernel_entry): (deregister_dwarf_kernel_entry): (register_dwarf_kernel_entry): (register_dwarf_module): (declare_dwarf_module_entry): (deregister_dwarf_module_entry): (register_dwarf_module_entry): New functions. (dwarf_derived_probes::emit_probe_entries): (dwarf_derived_probes::emit_registrations): (dwarf_derived_probes::emit_deregistrations): Implement.
* 2005-06-21 Frank Ch. Eigler <fche@redhat.com>fche2005-06-211-2/+7
| | | | | * config.in, configure: Regenerated. * tapsets.cxx: Make dwarf code conditional on new elfutils header.
* 2005-06-20 Graydon Hoare <graydon@redhat.com>graydon2005-06-211-33/+878
| | | | | | | | | | | | * configure.ac: Scan for libdwfl. * staptree.h (verbose): New global. * main.cxx (usage, main): Implement -v option. * tapsets.cxx (dwflpp): New struct. (query_statement): New function. (query_function): New function. (query_cu): New function. (query_module): New function. (dwarf_derived_probe): Implement primary forms.
* 2005-06-14 Graydon Hoare <graydon@redhat.com>fche2005-06-161-24/+299
| | | | | | | | | | | * tapsets.h: New file. (derived_probe_builder): Callback for making derived probes. (match_key): Component of pattern-matching tree. (match_node): Other component of pattern-matching tree. * tapsets.cxx: Add pattern-matching system for probes. (alias_derived_probe): Skeleton for alias probes. (dwarf_derived_probe): Skeleton for dwarf probes. (register_standard_tapsets): Registry for standard tapsets.
* 2005-06-13 Frank Ch. Eigler <fche@redhat.com>fche2005-06-131-0/+117
Start separating out translator-side probe point recognition. * tapsets.cxx: New file. (be_derived_probe): Support for begin/end probes. (derive_probe): Ditto. Reject anything unrecognized. * translator.cxx: Move out old code. * Makefile.am: Add new source file. * testsuite/semok/*: Switch to begin/end probes only.