| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
| |
* runtime/stack-i386.c (_stp_stack_print): Make call to uprobe_get_pc()
conditional on CONFIG_UTRACE.
* runtime/stack-x86_64.c: Ditto.
|
|
|
|
|
| |
* runtime/loc2c-runtime.h: Remove k_ vs u_[store_]deref; share instead.
* tapsets.cxx: Remove k_ vs u_ redirection for *deref().
|
| |
|
|
|
|
| |
* runtime/stack.c (_stp_stack_print): Comment out *retprobe logic if !CONFIG_UTRACE.
|
|
|
|
| |
* buildrun.cxx (compile_pass): Disable module signing goo.
|
|
|
|
| |
* dwflpp.cxx (resolve_prologue_endings): Skip entrypc=0.
|
|
|
|
| |
* runtime/uprobes/uprobes.c (uprobe_get_pc): new function
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* runtime/loc2c-runtime.h (fetch_register, store_register):
forked into k_ (kernel) and u_ (user) varieties. Implement
i386 and x86_64 in terms of regset.h; fall back to k_* for
other architectures.
* tapsets.cxx: (*::visit_target_symbol): Emit macros to map
loc2c's fetch/store_register to loc2c-runtime's k_ or u_ as
appopriate.
|
| |
|
|
|
|
|
| |
* tapsets.cxx (uprobe_derived_probe_group::emit_module_decls): Emit
sdt_sem_tid. Use it to recalculate sem address when task changes.
|
| |
|
|\ |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
The automatic documentation extraction doesn't allow blank lines between the
the comment and the actual code. Removed the problem blank line to allow
the information to be extracted for the SystemTap Tapset Reference Manual.
|
| |\ |
|
| | |\ |
|
| | |\ \ |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | |_|/
| |/| | |
|
| | |/
| |/| |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Turns out that it breaks on kernels that don't have utrace.
* runtime/runtime.h : Don't include uprobes.h
* runtime/stack.c: Include uprobes.h
* runtime/stack-i386.c: Check if uprobes is included at all.
* runtime/stack-x86_64.c: ditto
* tapsets.cxx (uprobe_derived_probe_group::emit_module_decls): put
uprobes.h include back in.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | | |
* translate.cxx (emit_function): Fixed MAXNESTING test to not allow too
deep recursion.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This only prints symbol+offset, or an address if the symbol isn't
known.
* runtime/runtime.h (SYM_VERBOSE_NO, SYM_VERBOSE_FULL,
SYM_VERBOSE_BRIEF): new constants
* runtime/stack.c (_stp_stack_print): support brief format
* runtime/sym.c (_stp_func_print): ditto
* tapset/ucontext-unwind.stp (print_ubacktrace_brief): new function
* testsuite/systemtap.context/fib.c: new test program
* testsuite/systemtap.context/fib.stp: new test
* testsuite/systemtap.context/fib.exp: new test
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Only works in uretprobes for the moment.
* runtime/stack-x86_64.c (__stp_stack_print): Rewrite trampoline PC
addresses if necessary.
* runtime/stack-i386.c (__stp_stack_print): ditto
* runtime/stack-arm.c (__stp_stack_print): Add extra argument
* runtime/stack-ppc.c (__stp_stack_print): ditto
* runtime/stack-s390.c (__stp_stack_print): ditto
* runtime/stack.c (_stap_stack_print): call __stp_stack_print with
uretprobe_instance.
* testsuite/systemtap.context/uprobe_backtrace.stp: new test
|
|/ /
| |
| |
| |
| |
| | |
return address
* runtime/uprobes2/uprobes.c (uprobe_get_pc): new function
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It's easily available in kretprobes and uretprobes and is consistent
with the rest of the program state.
* translate.cxx (emit_common_header) : add uretprobe_instance to context.
* tapsets.cxx (common_probe_entryfn_prologue): Initialize ri in
context to 0.
(dwarf_derived_probe_group::emit_module_decls): Change IP to return
address in kretprobes.
(uprobe_derived_probe_group::emit_module_decls): enter_uretprobe_probe:
set ri (uretprobe_instance) in context. Change IP to return
address in uretprobes. Don't emit uprobe include and #define
* runtime/runtime.h : Add includes and #define for uprobes.
* runtime/stack.c (_stp_stack_print, _stp_stack_snprint): Add extra
argument for uretprobe_instance.
* tapset/context-unwind.stp (print_backtrace, backtrace): Pass NULL
for uretprobe_instance to _stp_stack_print.
* tapset/ucontext-unwind.stp (print_ubacktrace, ubacktrace): pass
uretprobe_instance to _stp_stack_print
* testsuite/systemtap.context/uprobe_uaddr.exp : new test for uaddr in
function probes
* testsuite/systemtap.context/uprobe_uaddr.stp : new file
|
|/
|
|
|
| |
tapsets.cxx (sdt_query::handle_query_module): Improve trace handling.
(sdt_query::convert_location): Create new component instead of reusing old.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* runtime/alloc.c (_stp_kmalloc): Fixed compilation when DEBUG_MEM is
defined. Improved allocated memory tracking.
(_stp_kzalloc): Ditto.
(_stp_vmalloc): Ditto.
(_stp_alloc_percpu): Ditto.
(_stp_kmalloc_node): Ditto.
|
|\| |
|
| |
| |
| |
| |
| |
| |
| | |
This probably means that build-id will not be loaded at all and
happens for example with ARM kernel.
See also: http://sources.redhat.com/ml/systemtap/2009-q4/msg00574.html
|
| | |
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It does not exist in recent kernels.
Use regs->ARM_cpsr instead, this should work with all versions
of linux found in git repo (versions >=2.6.12-rc2). Difference
between condition_codes() and regs->ARM_cpsr should not matter
for systemtap.
|
| |
| |
| |
| |
| |
| |
| |
| | |
mysql.exp: Use env(SYSTEMTAP_TESTAPPS).
(mysqlrelease): Update and check for download failure.
postgres.exp: Use env(SYSTEMTAP_TESTAPPS).
stap-tcl.stp: Use .library("library").mark("mark").
tcl.exp: Likewise.
|
| |
| |
| |
| | |
* runtime/alloc.c (_stp_kmalloc): Move var decl back to top.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* grapher/StapParser.cxx (StapParser::disconnect): new function
* grapher/StapParser.hxx (StapProcess::StapProcess): initialize argv to 0
* grapher/grapher.cxx (StapLauncher::setArgs): Set argv to 0
(StapLauncher launch, launchUsingParser): Refactor launch(),
extracting function a that (re)launches a stap process using an
existing parser.
(StapLauncher::onChildDied): call disconnect() on dead parser.
(GrapherWindow::_graphicalLauncher, setGraphicalLauncher): delete
member, replacing with...
(graphicalLauncher): new variable
(ProcModelColumns): Store parser object in the list model instead of
just a StapProcess object.
(ProcWindow::onRestart): new function
(ProcWindow::refresh): Preserve the list selection when the process
list is refreshed.
(ProcWindow::onSelectionChanged): Manage the restart button's state.
|
| |
| |
| |
| |
| |
| |
| | |
DEBUG_MEM can & does evoke locking timeouts.
* runtime/alloc.c (*): Track __stp_allocated_memory regardless
of DEBUG_MEM.
|
| |
| |
| |
| |
| | |
* runtime/alloc.c: Define DEBUG_MEM.
* runtime/print.c (_stp_print_kernel_info): Reformat/rescale mem values.
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
* loc2c.c (stack_slot_type): New function.
(translate): Use it in place of STACK_TYPE and UTYPE macros.
(emit_loc_address, emit_loc_value, c_emit_location): Likewise.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In commit 98c783852039061db8c1611742660aaded0eab77 ("Use proper types
for do_div") I imprudently changed some variables to an unsigned type
while in some places the code actually relies on a sign.
So, let's be a bit smarter now and use temporary variables.
Reported-by: Wenji Huang <wenji.huang@oracle.com>
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* runtime/addr-map.c (add_bad_addr_entry): Uses systemtap memory
allocation/deallocation wrappers.
* runtime/itrace.c (create_itrace_info): Ditto.
(remove_usr_itrace_info): Ditto.
|