| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| | |
PR 4311 - Function boundary tracing without debuginfo: Phases 1 and 2
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* tapsets.cxx: Major rework of dwflpp, dwarf_query, and related
code to make do with elf info if dwarf info is absent, or
(in the case of vmlinux) make do with a System.map-style
symbol table if even the elf file is absent.
* main.cxx: Use getopt_long instead of getopt. Added --kelf,
--kmap, --ignore-vmlinux, and --ignore-dwarf.
* hash.cxx, session.h, stap.1.in: Added --kelf, --kmap,
--ignore-vmlinux, and --ignore-dwarf.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-04-10 Frank Ch. Eigler <fche@elastic.org>
PR 2949.
* session.h (listing_mode): New field.
* main.cxx (main): Test it. Enjoy it.
(usage): Document it.
* stap.1.in, stapex.5.in: Ditto.
* elaborate.cxx (print_error): Disable error messages in listing mode.
2008-04-10 Frank Ch. Eigler <fche@elastic.org>
PR 2949
* systemtap.base/cmd_parse.exp: Add "-l" listing test.
|
|
|
|
|
|
|
|
| |
2008-03-25 Frank Ch. Eigler <fche@elastic.org>
* stap.1.in: Clarify utility of epilogue type probe aliases.
* langref.tex: Clarify utility of epilogue-type probe aliases.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-02-25 Frank Ch. Eigler <fche@elastic.org>
PR5792.
* parse.cxx (eval_pp_conditional): Support wildcards in
%( kernel_v/kernel_vr/arch ==/!= "*foo?" %) operands.
* NEWS, stap.1.in: Document this.
2008-02-25 Frank Ch. Eigler <fche@elastic.org>
PR5792.
* systemtap.base/preprocessor.exp: New test.
|
|
|
|
|
|
|
|
|
|
|
| |
2008-01-23 Frank Ch. Eigler <fche@elastic.org>
PR 2151
* tapsets.cxx (dwflpp::setup): Parametrize debuginfo_path.
* stap.1.in: Document this.
PR 2521.
* systemtap.base/debugpath.exp: New test.
|
|
|
|
|
| |
* stap.1.in: Document about relay buffer sharing.
* NEWS: Document about relay buffer sharing and staplog crash extension.
|
|
|
|
|
|
|
| |
* stap.1.in: Replaced references to the log() function.
* stapex.5.in: Ditto.
* stapfuncs.5.in: Ditto. ALso remove print and printf. They are
documented in stap.1.in.
|
|
|
|
|
|
| |
PR 5219
* stap.1.in: Add a note about string literal limitations in printf
and printd.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-10-05 Frank Ch. Eigler <fche@elastic.org>
PR 1119
* elaborate.cxx (semantic_pass_opt[12]): Warn on elided
variables/functions in user script.
* session.h (suppress_warnings): New field. Change
"timing" to plain old bool.
* main.cxx (main): Configure warnings on by default.
* stap.1.in: Document this.
PR 1119.
* systemtap.base/warnings.*: New test.
* futexes.stp, sig_by_proc.stp, small_demos/rwtiming.stp: Fix elision
warnings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 5019
* elaborate.cxx (visit_hist_op): Remove log histogram param.
* translate.cxx (assert_hist_compatible): Ditto.
* staptree.cxx (hist_op::print): Ditto.
* session.h (statistic_decl): Ditto.
* parse.cxx (expect_number): Allow negative numbers.
Also validate that input is really numeric. This is used
by histograms to get the parameters.
(parse_hist_op_or_bare_name): Remove code to get parameter
for log histograms.
|
|
|
|
| |
systemtap (PR 4817)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
* systemtap.spec.in: Updated %pre to latest Fedora group creation
guidelines.
* stap.1.in: Changed '/usr' to '@prefix@' so the values will be
updated correctly.
* stapfunc.5.in: Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Merge from setuid-branch. Changes also by Martin Hunt
<hunt@redhat.com>.
* Makefile.am: Added staprun_funcs.c and cap.c to
staprun_SOURCES. Added -lcap to staprun_LDADD. Removed
stp_check reference. Added stapio program. Staprun is now
setuid.
* Makefile.in: Rebuilt.
* configure.ac: Version increase to 0.6 and checks for libcap
availability. Removed stp_check reference.
* configure: Regenerated.
* stp_check.in: Removed.
* systemtap.spec.in: Version increase to 0.6-1 and added
BuildReq for libcap-devl (and removed sudo requirement).
Added %pre script to create new groups. Staprun is now
setuid.
* NEWS: Added info on new security model.
* INTERNALS: Removed sudo reference.
* README.security: New file.
* main.cxx (main): Make sure module name isn't too long.
* hash.cxx: Moved MODULE_NAME_LEN define to hash.h.
* hash.h: Moved MODULE_NAME_LEN define here from hash.cxx.
* buildrun.cxx (run_pass): No longer runs staprun with "sudo".
* stap.1.in: Removed sudo references and added information about
the stapdev/stapusr groups.
* staprun.8.in: Added information about module detaching and
attaching. Removed sudo references and added information
about the stapdev/stapusr groups. Removed reference to
staprun needing to be run as root. Removed reference to
removed '-u USERNAME' option.
* .cvsignore: Removed stp_check and added stapio and stap_merge.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
PR 4295
* main.cxx (main): If '-m MODNAME' is used, the generated module
is saved in the current directory.
* stap.1.in: Updated '-m' description.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
* stap.1.in: Corrected probe overload processing text.
|
|
|
|
|
| |
PR 3545
* stap.1.in: Documented probe overload processing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 4146
* tapsets.cxx (common_probe_entryfn_prologue): Added
'interruptible' parameter. If a probe is interruptible,
interrupts are not disabled while the probe executes. Preemption
is disabled however. Interruptible parameter defaults to false.
(common_probe_entryfn_epilogue): Ditto.
(be_derived_probe_group::emit_module_decl): Uses new
'interruptible' parameter to mark begin/end probes as
interruptible.
(probe_derived_probe_group::emit_module): Initialize
'actionremaining' with MAXACTION instead of initializing
'actioncount' with 0.
* translate.cxx (emit_common_header): Renamed 'actioncount' to
'actionremaining'. Turned logic around to initialize
actionremaining to MAXACTION or MAXACTION_INTERRUPTIBLE then
decrement it as actions occur.
(translate_pass): Added MAXACTION_INTERRUPTIBLE initialization.
* translate.h: Removed outdated comment portion.
* stap.1.in: Documented MAXACTION_INTERRUPTIBLE.
* NEWS: Added note about begin/end probes being run with
interrupts enabled.
|
|
|
|
|
|
|
| |
* main.cxx (usage): Remove "-M" and edit description
of "-b".
* stap.1.in: Remove "-M" option and edit description of "-b".
Edit description of "-o".
|
|
|
|
| |
* stap.1.in: Remove "-M" option and edit description of "-b".
|
|
|
|
|
| |
* stap.1.in, stapex.5.in, staprun.8.in: Tweak text to remove
authors credits, update examples and pointers.
|
|
|
|
| |
* added atomic issues to %{ %} docs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 3965
* configure.ac: Add --enable-prologue option.
* configure, config.in: Regenerated.
* session.h (prologue_searching): New field.
* main.cxx (main): Parse new "-P" option. Initialize based on
autoconf flag.
* stap.1.in, NEWS: Document it.
* hash.cxx (find_hash): Include it in computation.
* tapsets.cxx (query_func_info, query_cu): Respect it.
2007-02-09 Frank Ch. Eigler <fche@elastic.org>
* systemtap.base/prologue.*: New test case.
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
PRs 2685, 3596, toward 2725.
* tapsets.cxx (common_probe_entryfn_prologue): Skip probe on
insufficient stack.
(build_blacklist): Add a slew of lock-related calls.
(query_module): Check for debuginfo architecture match.
* translate.cxx (translate_pass): Add default MINSTACKSPACE.
* configure.ac: Link stap with -lebl too.
* configure: Regenerated.
* stap.1.in: Document MINSTACKSPACE parameter.
|
| |
|
|
|
|
|
| |
* stap.1.in: On urging of Adam Jackson, add blurbs on array syntax
and default limits.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added "limit EXP" support to foreach statements.
* translate.cxx (c_tmpcounter::visit_foreach_loop): Handles
"limit" member variable.
(c_unparser::visit_foreach_loop): Ditto.
* staptree.cxx (foreach_loop::print): Prints "limit EXP"
addition.
(traversing_visitor::visit_foreach_loop): Handles "limit" member
variable.
(deep_copy_visitor::visit_foreach_loop): Ditto.
* staptree.h (struct foreach_loop): Added "limit" member
variable.
* stap.1.in: Added documentation for the "limit EXP" addition to
foreach statement.
* parse.cxx (lexer::scan): Added "limit" keyword for foreach
statements.
(parser::parse_foreach_loop): Parses "limit" keyword for foreach
statements.
* elaborate.cxx (symresolution_info::visit_foreach_loop): Handles
"limit" member variable.
(typeresolution_info::visit_foreach_loop): Ditto.
|
|
|
|
| |
"inspiration."
|
|
|
|
| |
* stap.1.in: Added notes about new caching feature.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* .cvsignore: Changed 'stpd' reference to 'staprun'.
* INTERNALS: Ditto.
* buildrun.cxx (run_pass): Ditto.
* lket.5.in: Ditto.
* stap.1.in: Ditto.
* stapruncs.5.in: Ditto.
* examples/small_demos/demo_script.txt: Ditto.
* examples/small_demos/sys.stp: Ditto.
* systemtap.spec.in: Created a new subpackage,
"systemtap-runtime", that contains staprun.
* Makefile.am: Renamed 'stpd' to 'staprun' and moved it to
$(bindir).
* Makefile.in: Regenerated from Makefile.am.
* configure.ac: Incremented version number.
* configure: Regenerated from configure.ac.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add basic support for initialized globals.
* parse.cxx (parse_global): Parse initialization clause, implement
by rewriting to "probe begin { var = value }".
* parse.h: Corresponding changes.
* stap.1.in: Document optional initialization.
2006-09-06 Frank Ch. Eigler <fche@elastic.org>
* parseok/eighteen.stp, semok/twentythree.stp: New files for
testing initialized globals.
|
|
|
|
|
|
|
|
| |
PR 3094
From Eugeniy Meshcheryakov <eugen@debian.org>:
* stap.1.in: In groff, '-' produces a Unicode hyphen. Use '\-'
where a plain-old minus sign is desired, e.g., code examples.
* lket.5.in, stapex.5.in, stapfuncs.5.in, stapprobes.5.in: ditto
|
|
|
|
|
|
|
|
| |
PR 2645 cont'd.
* elaborate.cxx (derive_probes): Pass down optional flag
from alias reference to expansion.
* testsuite/semok/twentytwo.stp: Test passing-down.
* stapprobes.5.in: Specify passing-down property of optional flag.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|