summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* PR10601: cleanup for i386, x86-64Frank Ch. Eigler2009-12-211-7/+16
| | | | | | * runtime/loc2c-runtime.h (usr_i386): Fix si/di ordering. Add ip. (usr_x86_64): Add rip. (u_*_register): Use kernel standard ARRAY_SIZE() instead of S().
* Merge remote branch 'origin/master'Tim Moore2009-12-2111-83/+269
|\
| * PR11015 Support shared library reloading (in different processes)Mark Wielaard2009-12-218-83/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * runtime/task_finder_vma.c (stap_remove_vma_map_info): Return negative status on failure. (stap_find_vma_map_info): Likewise. (stap_find_vma_map_info_user): New function. (stap_drop_vma_maps): New function. * runtime/sym.h (addr): Renamed to static_addr, to store addresses for sections which are always mapped at the same address. (_stp_module_relocate): Add extra struct task_struct *tsk argument. * runtime/sym.c (_stp_tf_exec_cb): New callback, calls stap_drop_vma_maps. (_stp_tf_mmap_cb): Don't store address in module.section, but call stap_add_vma_map_info() per tsk->group_leader for matched module. Don't register empty/null modules. (_stp_module_relocate): Take extra struct task_struct *tsk argument, cache last tsk used. Only use section->static_addr for none dynamic modules. Use stap_find_vma_map_info_user() to locate dynamic modules. (_stp_mod_sec_lookup): Add extra argument unsigned long *rel_addr to optionally store relative address when module/section found. (_stp_kallsyms_lookup): Use _stp_mod_sec_lookup to find relative address. (_stp_sym_init): Register _stp_tf_exec_cb in stap_task_finder_target. Add error check to see if task finder could be initialized. * dwflpp.cxx (emit_address): Pass NULL for kernel/modules and current for user tasks to _stp_module_relocate. * runtime/transport/symbols.c (_stp_do_relocation): Set new static_addr _stp_section field. * runtime/unwind.c (adjustStartLoc): Take new struct task_struct *tsk argument and pass to stap_find_vma_map_info_user and _stp_module_relocate to find adjusted addr. (_stp_search_unwind_hdr): Pass through struct task_struct *tsk. (unwind_frame): Likewise. * tapset/context-symbols.stp (probemod): Add NULL to _stp_mod_sec_lookup call to indicate we aren't interested in relative address. * tapsets.cxx (dwarf_derived_probe_group::emit_module_init): Pass NULL to _stp_module_relocate to indicate kernel/module address.
| * Tracepoint based tapset for memory subsystem.Rajasekhar Duddu2009-12-213-0/+62
| |
* | conditionalize pty_write count variable on kernel versionTim Moore2009-12-211-11/+12
| | | | | | | | | | * testsuite/systemtap.examples/general/grapher.stp: Conditionalize pty_write count variable on kernel version.
* | change namespace indentation to 0Tim Moore2009-12-2111-1364/+1364
|/ | | | | A silly change, but this works better with other tools, like git diff. I should have started the C++ files this way.
* brown paper bag typo fixyFrank Ch. Eigler2009-12-201-1/+1
|
* runtime: more build fix for non-utrace kernelsFrank Ch. Eigler2009-12-202-1/+3
| | | | | | * runtime/stack-i386.c (_stp_stack_print): Make call to uprobe_get_pc() conditional on CONFIG_UTRACE. * runtime/stack-x86_64.c: Ditto.
* PR10601: unfork deref()Frank Ch. Eigler2009-12-202-28/+16
| | | | | * runtime/loc2c-runtime.h: Remove k_ vs u_[store_]deref; share instead. * tapsets.cxx: Remove k_ vs u_ redirection for *deref().
* documentation: remove docs for nonexistentn perfctr probesFrank Ch. Eigler2009-12-201-31/+0
|
* 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.