summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* runtime: rhel4 build fix for uretprobe-wannabe stack tracebacksFrank Ch. Eigler2009-12-201-1/+3
| | | | * runtime/stack.c (_stp_stack_print): Comment out *retprobe logic if !CONFIG_UTRACE.
* RHBZ543529: Make implicit -BCONFIG_MODULE_SIG=nFrank Ch. Eigler2009-12-201-0/+3
| | | | * buildrun.cxx (compile_pass): Disable module signing goo.
* dwarf probes: skip inlined instances with null (buggy) entrypcFrank Ch. Eigler2009-12-201-0/+10
| | | | * dwflpp.cxx (resolve_prologue_endings): Skip entrypc=0.
* runtime backtracing: port commit #2e7f8442 to uprobes1Frank Ch. Eigler2009-12-203-2/+46
| | | | * runtime/uprobes/uprobes.c (uprobe_get_pc): new function
* PR10601 cont'd, RHEL5 backward compatibility with more runtime/autoconf*Frank Ch. Eigler2009-12-204-5/+37
|
* PR10601 part 1: i386 and x86-64 regset for dwarf fetch/store_register()sFrank Ch. Eigler2009-12-202-90/+338
| | | | | | | | | | * 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.
* PR10601: comment on loc2c's use of [u]intptr_t for temp valuesFrank Ch. Eigler2009-12-201-0/+7
|
* Recalculate sem address when tid changes.Stan Cox2009-12-191-1/+7
| | | | | * tapsets.cxx (uprobe_derived_probe_group::emit_module_decls): Emit sdt_sem_tid. Use it to recalculate sem address when task changes.
* Remove externalvar.exp .exe and .so after test done.Mark Wielaard2009-12-191-1/+1
|
* Merge commit 'origin/master'Tim Moore2009-12-1826-5302/+4674
|\
| * PR 10641: Do not allow -m when --unprivileged in the server.Dave Brolley2009-12-181-1/+5
| |
| * Fix typos in NEWSWenji Huang2009-12-181-6/+6
| |
| * Remove blank line in ucontext-unwind.stp for SystemTap Tapset Reference ManualWilliam Cohen2009-12-171-1/+0
| | | | | | | | | | | | 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.
| * Merge branch 'master' of ssh://sources.redhat.com/git/systemtapWilliam Cohen2009-12-1721-5294/+4634
| |\
| | * Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDave Brolley2009-12-171-0/+28
| | |\
| | * \ Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDave Brolley2009-12-1720-44/+384
| | |\ \
| | * | | Correct path to trusted signer's database.Dave Brolley2009-12-171-1/+1
| | | | |
| | * | | PR 10889: Reorganize client/server man pages. Document --unprivileged.Dave Brolley2009-12-1720-5290/+4634
| | | | |
| | * | | Remove unused variable.Dave Brolley2009-12-151-4/+0
| | | | |
| * | | | Add PROD2 to allow beginner's guide to be built again.William Cohen2009-12-171-0/+1
| | |_|/ | |/| |
| * | | Add function to generate saner html file names for langref.William Cohen2009-12-171-0/+28
| | |/ | |/|
* / | Remove uprobes.h declaration from runtime.hTim Moore2009-12-185-12/+26
|/ / | | | | | | | | | | | | | | | | | | | | 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.
* | Merge commit 'origin/master'Tim Moore2009-12-171-1/+1
|\ \
| * | PR 11097 fixed by correcting MAXNESTING test.David Smith2009-12-161-1/+1
| | | | | | | | | | | | | | | * translate.cxx (emit_function): Fixed MAXNESTING test to not allow too deep recursion.
* | | support for a brief backtrace formatTim Moore2009-12-179-14/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | backtrace through uprobes trampoline.Tim Moore2009-12-177-6/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | function to translate from the uretprobe trampoline back to the originalTim Moore2009-12-162-0/+46
|/ / | | | | | | | | | | return address * runtime/uprobes2/uprobes.c (uprobe_get_pc): new function
* | set the IP in return probes to the returned-to instructionTim Moore2009-12-168-19/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Fix handling of multiple sdt uprobes with the same name.Stan Cox2009-12-151-8/+18
|/ | | | | tapsets.cxx (sdt_query::handle_query_module): Improve trace handling. (sdt_query::convert_location): Create new component instead of reusing old.
* Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDave Brolley2009-12-151-18/+35
|\
| * Fixed DEBUG_MEM debug memory tracking.David Smith2009-12-151-18/+35
| | | | | | | | | | | | | | | | | | * 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.
* | Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDave Brolley2009-12-151-1/+8
|\|
| * Don't save build-id if it is located before _stextEugeniy Meshcheryakov2009-12-151-1/+8
| | | | | | | | | | | | | | 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
* | Don't automatically authorize new root certificates as trusted signers.Dave Brolley2009-12-151-9/+1
| |
* | Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDave Brolley2009-12-1441-713/+2025
|\|
| * Do not use condition_codes() on armEugeniy Meshcheryakov2009-12-131-1/+1
| | | | | | | | | | | | | | | | | | 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.
| * Use env(SYSTEMTAP_TESTAPPS) for all systemtap.appsStan Cox2009-12-114-8/+19
| | | | | | | | | | | | | | | | 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 build: fix alloc.c buildability on old gcc 3.4Frank Ch. Eigler2009-12-111-2/+2
| | | | | | | | * runtime/alloc.c (_stp_kmalloc): Move var decl back to top.
| * grapher: implement restarting a stap processTim Moore2009-12-113-48/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * runtime: undefine DEBUG_MEM, retain alloc countingFrank Ch. Eigler2009-12-101-9/+10
| | | | | | | | | | | | | | DEBUG_MEM can & does evoke locking timeouts. * runtime/alloc.c (*): Track __stp_allocated_memory regardless of DEBUG_MEM.
| * runtime: print stp_alloc statistics in startup printkFrank Ch. Eigler2009-12-102-20/+13
| | | | | | | | | | * runtime/alloc.c: Define DEBUG_MEM. * runtime/print.c (_stp_print_kernel_info): Reformat/rescale mem values.
| * Merge commit 'origin/master'Tim Moore2009-12-106-27/+58
| |\
| | * Begin to parameterize loc2c for proper DWARF target address size.Roland McGrath2009-12-091-4/+15
| | | | | | | | | | | | | | | | | | * 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.
| | * Fix regression in statistic operationsAnton Vorontsov2009-12-091-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * PR 10848 partial fix by using systemtap memory functions everywhere.David Smith2009-12-092-8/+12
| | | | | | | | | | | | | | | | | | | | | * 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.
| | * Handle .probes section big endian 32 bit case.Stan Cox2009-12-092-9/+19
| | | | | | | | | | | | | | | | | | sdt.h (STAP_PROBE_ADDR): Add 32 bit big endian case. (STAP_PROBE_DATA_): Use .balign tapsets.cxx (sdt_query::get_next_probe): Stop if there is no probe name.
| * | grapher: integrate graph events from stdin with the stap process framework.Tim Moore2009-12-103-21/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was the original way to do graphing and had bitrotted some. * grapher/StapParser.cxx (initIO): new catchHUP argument (ioCallback): Only disconnect signals, etc. on IN_HUP if catchHUP is true. (errIoCallback): Write error messages to stderr, not stdout. * grapher/grapher.cxx (StapLauncher::launch): Don't catchHUP on our stap process children. (ProcWindow::refresh): Display something reasonable for the stap "process" that is feeding stdin. (main): Use StapParser::initIO to initialize parser reading from stdin.
| * | grapher: more implementation stap process windowTim Moore2009-12-102-155/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The process arguments are displayed, and the "kill" button is insensitive when a process is dead or nothing is selected. * grapher/grapher.cxx (ProcWindow _killButton, _restartButton, _stapArgsLabel, _scriptArgsLabel): new members (ProcWindow::ProcWindow): hook 'em up (ProcWindow::onSelectionChanged): Enable / disable kill button and display process arguments. * grapher/processwindow.glade: Replace bizzare handle window with a horizontal pane. Tweak various widget sizes.
| * | grapher: change SIGCHLD handling and exit cleanupTim Moore2009-12-101-115/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The signal handler now calls waitpid() and writes the pid and status to its pipe. * grapher.cxx (ChildInfo): new class (handleChild): wait for zombies and write their status down the pipe. (ChildDeathReader::ioCallback): Read dead child's pid from signal handler pipe and emit signal. (ChildDeathReader::reap): delete (ChildDeathReader::Callback): delete (StapLauncher::StapLauncher): Connect to childDied signal. (StapLauncher setWinParams, reap, cleanUp): delete (onChildDied): new function that updates the parsers list when a child dies. (GrapherWindow): Remove ChildDeathReader::Callback base class (GrapherWindow::onParserListChanged): New function; exits if program is quitting and no parsers are left. (on_menu_file_quit): Kill all children; don't hide (and exit) unless there are no parsers. (main): Don't do any cleanup after Gtk loop exits.
| * | show the status of stap processes in the process windowTim Moore2009-12-094-227/+418
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, the "kill" button now works. * grapher/StapParser.hxx (_ioConnection, _errIoConnection): new members for sigc connections. (initIo): New function (parsers, parserListChangedSignal): new variables * grapher/StapParser.cxx (ioCallback): disconnect signals when child dies (initIo): new function * grapher/grapher.cxx (StapLauncher): eliminate death callback in favor of childDied signal. Use global parsers list (ProcWindow::_listSelection): new member (ProcWindow::show, hide, onParserListChanged, onSelectionChanged, onKill): new functions (ProcWindow::ProcWindow): Set up cell renderer for status icon * grapher/processwindow.glade: labels for display script and stap arguments