| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
also changed.
lket_trace_extra() and lket_backtrace() are introduced for these two purpose.
I also modified lket.5.in for the backtrace changes
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* aux_syscalls.stp (_mountflags_str): Rewrite.
(_umountflags_str): New.
|
| |
|
|
|
|
|
|
| |
* syscalls2.stp (sys_write): Use text_strn().
* syscalls.stp (sys_lseek): Fix.
(sys_llseek): Fix.
|
|
|
|
|
| |
* string.stp (text_str): New.
(text_strn): New.
|
|
|
|
|
| |
* string.c (_stp_text_str): New function.
* string.h (_stp_text_str): Declare.
|
| |
|
|
|
|
|
|
| |
and gives a warning
deleted runtime/lket/b2a/Makefile since it should be generated by configure
|
|
|
|
|
|
|
|
| |
* tapsets.cxx (build_blacklist): build the sets of blacklisted
functions and function returns. Manually added many __kprobes
functions that should not be probed.
(dwarf_query::dwarf_query): Call build_blacklist.
(dwarf_query::blacklisted_p): Use blacklist sets.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* errno.stp: Add octal option for returnstr.
* [i686,x86_64]/syscalls.stp (umask): Print args and return
in octal.
(add_key): Comment out. This syscall is added by a xen patch
and may not be present.
(tux): Ditto.
* syscalls.stp (accept): Fix arg name.
|
|
|
|
|
|
|
| |
* syscalls.stp: Add sys_fcntl and sys_listen.
* syscalls2.stp: Commented out sys_socketcall because it only calls
other system calls which are already probed.
|
|
|
|
|
|
| |
* tapsets.cxx
(dwarf_var_expanding_copy_visitor::visit_target_symbol):
Free allocated memory when supressing target-variable errors
|
|
|
|
|
| |
* parse.cxx (parser::scan_pp): Free memory for tokens that are
thrown away in the preprocessing stage.
|
|
|
|
| |
* syscall*.stp: Change "0x%p" to "%p".
|
|
|
|
|
| |
* vsprintf.c (_stp_vsnprintf): Change %p to work like
libc and automatically insert "0x" before the pointer.
|
|
|
|
| |
* testsuite/semok/twentyone.stp: New file.
|
|
|
|
|
|
|
|
|
|
|
|
| |
explicitly add type qualifier for different arch
to make _stp_vsnprintf get the argument by va_arg correctly
src/tapset/scheduler.stp:
add prev_task and next_task variable
src/stapprobes.5.in:
add lket (5) in the "SEE ALSO"
|
|
|
|
|
|
|
|
|
| |
Pass 4 speedup.
* tapsets.cxx (derived_probe::emit_common_header): New
function, to emit code formerly inlined by
emit_probe_prologue/epilogue.
* translate.cxx (emit_common_header): Call it.
* elaborate.h: Corresponding changes.
|
|
|
|
|
|
|
| |
PR 2677
* sym.c (_stp_symbol_sprint_basic): New function that returns
just the symbol name, and doesn't bother with String.
* context.stp (probefunc): Use _stp_symbol_sprint_basic
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|
|
|
|
|
|
| |
add intro of lket-b2a in lket.5.in
Changes Makefile.am, configure.ac & regenerated aclocal.m4, Makefile.in, configure
|
|
|
|
| |
* parse.cxx (parse_for_loop): Corrected error message.
|
|
|
|
|
| |
* elaborate.cxx (find_and_build): Fixed issue #2643. Wildcard
code was being too optimistic.
|
| |
|
|
|
|
| |
to print the address in IA64
|
|
|
|
| |
tapset/ioscheduler.stp
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Organize "-t" output by script/parse level probes rather than
derived-probes.
* elaborate.cxx (derived_probe ctor): Remove name field setting.
(alias_derived_probe): New class.
(alias_expandion_builder::build): Create an instance of the above
instead of parse-tree-level plain probe.
* elaborate.h: Corresponding changes.
(derived_probe::basest): Define.
* staptree.cxx (probe ctor): Set new name field.
* staptree.h (probe): Corresponding changes.
(probe::basest): New field.
* tapsets.cxx (emit_probe_prologue, emit_probe_entries):
Switch to basest() probe name for Stat instance.
(dwarf_derived_probe ctor): Stash away base probe.
* translate.cxx (unparser::emit_probe): Remove index
operand, just use probe name to generate symbols.
(emit_module_init): Reorganize -t output in unregister functions.
(translate_pass): Remove unparser::current_probenum field and all
uses.
* translate.h: Corresponding changes.
|
|
|
|
|
| |
* librelay.c (stp_main_loop): Set output to always be line
buffered.
|
|
|
|
| |
And some minor changes to current tapsets
|
| |
|
|
|
|
|
|
| |
* testsuite/buildok/sched_test.stp: test scheduler tapset
* examples/small_demos/sched_snoop.stp: demo scheduler tapset
* tapset/scheduler.stp: New scheduler tapset
|
|
|
|
| |
scsi.stp, tskschedule.stp
|
|
|
|
|
|
|
| |
* process.stp: Rename signal.send to signal_send and process.complete
to process_complete, to allow process.* to work properly.
* process.stp (_IS_ERR): declare parameter type
* process.stp (process.create): correct new_pid assignment
|
|
|
|
|
|
| |
The second layer is tracing specific.
I checked into CVS those generic tapsets at the first step.
|
|
|
|
| |
i386)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* conversions.stp (hexstring, string): Removed functions. Because
of parser changes, "string" is now a reserved word and cannot be a
function name. Use 'sprintf("0x%x", num)' to replace hexstring()
and either 'sprint(num)' or 'sprintf("%d", num)' to replace
string().
* syscalls.stp (syscall.accept, syscall.alarm, syscall.close,
syscall.dup, syscall.epoll_create, syscall.exit, syscall.fchdir,
syscall.fdatasync, syscall.fsync, syscall.getsid) Changed
'string()' calls to 'sprint()' calls.
* syscalls2.stp (syscall.sched_get_priority_max,
syscall.sched_get_priority_min, syscall.sched_getscheduler,
syscall.setfsgid, syscall.setfsgid16, syscall.setfsuid,
syscall.setfsuid16, syscall.setgid, syscall.setgid16,
syscall.setuid, syscall.setuid16, syscall.ssetmask,
syscall.timer_delete, syscall.timer_getoverrun): Ditto.
* i686/syscalls.stp (syscall.iopl, syscall.rt_sigreturn,
syscall.sigreturn): Ditto.
* ppc64/syscalls.stp (syscall.ppc64_personality): Ditto.
* x86_64/syscalls.stp (kernel.syscall.iopl, kernel.syscall.umask):
Ditto.
* test/ctostp.sh: Uses 'sprint()' instead of 'string()' in
generated systemtap code.
|
|
|
|
|
|
|
|
|
| |
* tapsets.cxx, translator.cxx (*): Designate more emitted
functions as static.
* translator.cxx (visit_print_format): Correct regression
regression from two weeks ago.
* stapfuncs.5.in: Tweak wording. Deprecate returnval() in favour
of retval().
|
|
|
|
|
| |
* aux_syscalls.stp (_sys_open_flag_str): Rewrite in C so it
is complete and works on different archs.
|
|
|
|
| |
* testsuite/buildok/probefunc.stp: test probefunc()
|