summaryrefslogtreecommitdiffstats
path: root/runtime
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' of git://sources.redhat.com/git/systemtapDave Brolley2009-04-215-33/+152
|\
| * PR10078: uretprobes on functions returning structs/unionsJim Keniston2009-04-203-3/+36
| | | | | | | | | | arch_predict_sp_at_ret() for x86_32 now accommodates ret $4. Added bz10078 regression test.
| * Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDavid Smith2009-04-202-33/+350
| |\
| * | Uses upstream ia64 syscall functions.David Smith2009-04-202-30/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-04-20 David Smith <dsmith@redhat.com> * runtime/syscall.h (syscall_get_nr): Uses upstream version of syscall_get_nr() for ia64. (syscall_get_arguments): Ditto. (in_syscall): New ia64-only function from upstream. (syscall_get_set_args_cb): Ditto. (ia64_syscall_get_set_arguments): Ditto. * runtime/task_finder.c (stap_register_task_finder_target): Removed ia64 register cache.
* | | Merge branch 'master' of git://sources.redhat.com/git/systemtapDave Brolley2009-04-215-43/+371
|\ \ \ | | |/ | |/| | | | | | | | | | | | | Conflicts: aclocal.m4 configure
| * | PR7072: use _stp_reserve_bytes for printf bufferKent Sebastian2009-04-172-33/+350
| |/
| * Privatize MAX_STACK_DEPTHJosh Stone2009-04-162-3/+3
| | | | | | | | | | | | The kernel-tip tree also has a MAX_STACK_DEPTH defined in perf_counter.h, so we need to separate our definition. I've changed the definition in our unwinder to STP_MAX_STACK_DEPTH.
| * Improved ppc and ia64 runtime/syscall.h.David Smith2009-04-161-7/+18
| | | | | | | | | | | | | | | | | | 2009-04-16 David Smith <dsmith@redhat.com> * syscall.h (syscall_get_arguments): Fixed sign extension for 32-bit processes on ppc64. (__ia64_syscall_get_arguments): Calls ia64_fetch_register() to handle NULL values. Corrected register numbers.
* | Merge branch 'master' of git://sources.redhat.com/git/systemtapDave Brolley2009-04-1612-53/+108
|\|
| * PR9940: add/use unmap_u[ret]probeJim Keniston2009-04-154-14/+75
| | | | | | | | | | For uprobes 1 and 2, add unmap_u[ret]probe() and define UPROBES_API_VERSION=2. Adapt tapsets.cxx accordingly.
| * Merge branch 'master' of ssh://kenistoj@sources.redhat.com/git/systemtapJim Keniston2009-04-1517-520/+1291
| |\
| | * Merge branch 'dwarf_unwinder'Mark Wielaard2009-04-152-8/+8
| | |\
| | | * Don't redefine STP_USE_DWARF_UNWINDER.Mark Wielaard2009-04-121-0/+2
| | | | | | | | | | | | | | | | * runtime/runtime.h: STP_USE_DWARF_UNWINDER don't redefine.
| | | * Prefer dwarf unwinder on i386 and x86_64.Mark Wielaard2009-04-111-7/+5
| | | | | | | | | | | | | | | | * runtime/runtime.h: Move up and enable check for STP_USE_DWARF_UNWINDER.
| | | * Fix unwind _stp_mod_sec_lookup.Mark Wielaard2009-04-101-1/+1
| | | | | | | | | | | | | | | | * runtime/unwind.c (unwind): Pass current to _stp_mod_sec_lookup().
| | * | Merge branch 'sections'Mark Wielaard2009-04-152-15/+13
| | |\ \
| | | * | Make sure addr falls inside section in _stp_mod_sec_lookup.Mark Wielaard2009-04-141-14/+10
| | | | | | | | | | | | | | | | | | | | | | | | | * runtime/sym.c (_stp_mod_sec_lookup): Use section size to match addr. Only return exact matches, not just closes offset.
| | | * | Only set sec in _stp_mod_sec_lookup when not NULL.Mark Wielaard2009-04-141-1/+2
| | | | | | | | | | | | | | | | | | | | * runtime/sym.c (_stp_mod_sec_lookup): Only set sec when not NULL.
| | | * | Keep track of relocation section sizes.Mark Wielaard2009-04-141-0/+1
| | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * runtime/sym.h (_stp_section): Add size field. * translate.cxx (dump_unwindsyms): Get start of module address space, turn seclist into vector of secname, size pairs, track relocation section size, or add module address range if no sections, output size in _stp_section list.
| * | | Merge branch 'master' of ssh://kenistoj@sources.redhat.com/git/systemtapJim Keniston2009-03-315-34/+49
| |\ \ \
| * \ \ \ Merge branch 'master' of ssh://kenistoj@sources.redhat.com/git/systemtapJim Keniston2009-03-2317-77/+701
| |\ \ \ \
| * | | | | Don't reject opcode 0x9b -- fwait, which is also the first byte ofJim Keniston2009-03-114-16/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pseudo-instructions like fclex, finit, fstsw, and fstcw. Do reject opcode 0x82 in 64-bit mode.
* | | | | | Merge branch 'master' of git://sources.redhat.com/git/systemtapDave Brolley2009-04-146-160/+227
|\ \ \ \ \ \ | | |_|_|/ / | |/| | | |
| * | | | | PR10067: fix bitfield accessJosh Stone2009-04-131-5/+6
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tapsets.cxx (dwflpp::translate_components): Eliminate the extra die-dereference at the end of the loop (a regression from @casts). * runtime/loc2c-runtime.h (store_bitfield): Use the target as the representative type, since the base is always int64_t. Also be a bit more aggressive with masking and parentheses. * testsuite/systemtap.base/bitfield.*: New test for R/W bitfields.
| * | | | Uses <asm/syscall.h> when available.David Smith2009-04-093-149/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-04-09 David Smith <dsmith@redhat.com> * buildrun.cxx (compile_pass): Compile autoconf test for <asm/syscall.h>. * runtime/autoconf-asm-syscall.c: New "autoconf" test the presence of <asm/syscall.h>. * runtime/syscall.h: If <asm/syscall.h> exists, use it. Otherwise, use our private copy of the functions for each architecture. (syscall_get_nr): Renamed from __stp_user_syscall_nr(). (syscall_get_return_value): Renamed from __stp_user_syscall_return_value(). (syscall_get_arguments): Renamed from __stp_user_syscall_arg(). * runtime/task_finder.c (__stp_utrace_task_finder_target_syscall_exit): Uses new syscall.h functions. * tapset/utrace.stp: Ditto.
| * | | | Make simple probes work even without KPROBES in the kernel.Mark Wielaard2009-04-091-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without KPROBES very little works atm. But stack.c file is unconditionally imported, while these two functions are only used through context-unwind.stp. This at least lets us do simple sanity checks on "plain" kernels. * runtime/stack.c (_stp_stack_print, _stp_stack_snprint): Wrap in #if defined (CONFIG_KPROBES).
| * | | | Make new stap_task_finder_targets chain on correct list.Mark Wielaard2009-04-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | * runtime/task_finder.c (stap_register_task_finder_target): Also check both pathlen are zero.
| * | | | Make sure code using the vma tracker compiles again.Mark Wielaard2009-04-083-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * runtime/runtime.h: Include task_finder.c. * runtime/sym.c: Always define task_finder callbacks for usage in tapsets. * runtime/task_finder.c: Define dummy stap_task_finder_target when ! defined(CONFIG_UTRACE). * tapsets.cxx: Never include task_finder.c directly.
| * | | | Fix DEBUG_TASK_FINDER_VMA compilation.Mark Wielaard2009-04-081-1/+1
| | | | | | | | | | | | | | | | | | | | * runtime/sym.c (_stp_tf_mmap_cb): We get passed vm_flags, not flags.
| * | | | Added '#ifdef STP_NEED_VMA_TRACKER' around code that needs it.David Smith2009-04-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-04-08 David Smith <dsmith@redhat.com> * runtime/sym.c: Added '#ifdef STP_NEED_VMA_TRACKER' around code that needs it.
| * | | | Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDavid Smith2009-04-081-2/+2
| |\ \ \ \
| * | | | | Only includes task_finder.c when needed.David Smith2009-04-081-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-04-08 David Smith <dsmith@redhat.com> * tapsets.cxx (itrace_derived_probe_group::emit_module_decls): Added inclusion of task_finder.c back. Unconditionally including it when not needed causes all systemtap scripts to fail on kernels with no utrace support. (utrace_derived_probe_group::emit_module_decls): Ditto. (uprobe_derived_probe_group::emit_module_decls): Ditto. * runtime/runtime.h: Removed unconditional inclusion of task_finder.c.
* | | | | | 2009-04-14 Dave Brolley <brolley@redhat.com>Dave Brolley2009-04-147-32/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * translate.cxx (c_unparser::emit_unprivileged_user_check): Generate code to check _stp_unprivileged_user. * testsuite/lib/systemtap.exp (setup_server): Copy stap-env to $net_path. * runtime/transport/transport.c: Set up _stp_unprivileged_user. * runtime/staprun/staprun_funcs.c (check_signature): Distiguish among verification failure due to errors, tampering, untrusted signer. (check_permissions): Likewise. (check_groups): Set unprivileged_user. * runtime/staprun/staprun.c (insert_stap_module): Set _stp_unprivileged_user. * runtime/staprun/modverify.h (MODULE_OK): #define it. (MODULE_UNTRUSTED,MODULE_CHECK_ERROR,MODULE_ALTERED): Likewise. * runtime/staprun/modverify.c (modverify.h): #include it. (verify_it): Distiguish among verification failure due to errors, tampering, untrusted signer. (verify_module): Likewise. * runtime/staprun/common.c (unprivileged_user): Define it. * runtime/staprun/staprun.h (unprivileged_user): Declare it. * cache.cxx (get_from_cache): Get the module signature file. * stap-authorize-server-cert: Source `dirname $0`/stap-env. * stap-authorize-signing-cert: Likewise. * stap-client: Likewise. * stap-find-or-start-server: Likewise. * stap-find-servers: Likewise. * stap-gen-cert: Likewise. * stap-server: Likewise. * stap-serverd: Likewise. * stap-start-server: Likewise.
* | | | | | Merge branch 'master' of git://sources.redhat.com/git/systemtapDave Brolley2009-04-082-301/+265
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | Use _stp_snprintf in _stp_symbol_snprint.Mark Wielaard2009-04-081-2/+2
| |/ / / / | | | | | | | | | | | | | | | * runtime/sym.c (_stp_symbol_snprint): Use _stp_snprintf, no _stp_printf.
| * | | | Track VMA per pid (group_leader/tgid).Mark Wielaard2009-04-071-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | * runtime/sym.c (_stp_tf_vm_cb): Add and remove tsk->group_leader. (_stp_mod_sec_lookup): find vma for task->group_leader.
| * | | | PR 9940. Rearchitected task_finder.c a bit.David Smith2009-04-072-298/+261
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-04-07 David Smith <dsmith@redhat.com> PR 9940. * tapsets.cxx (emit_vma_callback_probe_decl): Initialized new callbacks. (utrace_derived_probe_group::emit_probe_decl): Ditto. (uprobe_derived_probe_group::emit_module_decls): Uses new callback. Makes sure mapping is executable before trying to set a probe in it. (itrace_derived_probe_group::emit_module_init): Calls _stp_sym_init(). (utrace_derived_probe_group::emit_module_init): Ditto. (uprobe_derived_probe_group::emit_module_init): Ditto. * runtime/sym.c: Moved task_finder_vma.c inclusion here from task_finder.c. (_stp_sym_init): New function. (_stp_tf_mmap_cb): New function that replaces _stp_tf_vm_cb. (_stp_tf_munmap_cb): Ditto. * runtime/task_finder.c: Removed task_finder_vma.c inclusion. Split vm_callback into 3 callbacks: mmap_callback, munmap_callback, and mprotect_callback. (stap_register_task_finder_target): Initializes new events variables for the new callbacks. (__STP_TASK_VM_BASE_EVENTS): No longer specifies syscall entry events. (__stp_call_mmap_callbacks): New function. (__stp_call_mmap_callbacks_with_vma): Ditto. (__stp_call_munmap_callbacks): Ditto. (__stp_call_mprotect_callbacks): Ditto. (__stp_call_vm_callbacks): Removed. (__stp_utrace_task_finder_target_quiesce): Calls __stp_call_mmap_callbacks() instead of __stp_call_vm_callbacks(). (__stp_utrace_task_finder_target_syscall_entry): Removed function. (__stp_utrace_task_finder_target_syscall_exit): Reports raw mmap()/mprotect()/munmap() events.
* | | | | Merge branch 'master' of git://sources.redhat.com/git/systemtapDave Brolley2009-04-062-10/+25
|\| | | |
| * | | | PR10032: Trigger cleanup after relay thread errorsJosh Stone2009-04-032-10/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the relay threads encounter an error, they now send SIGTERM to the rest of the process before the thread exit, so we get a clean shutdown. For EPIPE in particular, error messages are also suppressed.
* | | | | Merge branch 'master' of git://sources.redhat.com/git/systemtapDave Brolley2009-04-036-13/+37
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure runtime/staprun/staprun_funcs.c
| * | | | Add a .gitignore for uprobesJosh Stone2009-04-021-0/+7
| | | | |
| * | | | Really fix run-stap this time, I promise!Josh Stone2009-04-021-1/+14
| | | | |
| * | | | Fix strftime format bugMasami Hiramatsu2009-04-021-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | This fixes bugs in strftime-subset function. This modifies %C, %l and %j to fit the output of date command.
| * | | | Fix a bug in file size limitation code.Masami Hiramatsu2009-04-022-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a bug in stapio, which checks written data size and switches new file when it exceeds a limit. The problem is that written-data-size counter ignores the first written-data size when switching files. So, actual file size always exceeds the limit. This changes stapio to initialize written-data-size counter with the size of the data which will be written in new file.
| * | | | Reorder includes so regs.c and regs-ia64.c included before task_finder.c.William Cohen2009-04-021-0/+2
| | | | |
| * | | | Revert "runtime/syscall.h: Forward declare __ia64_fetch_register."William Cohen2009-04-021-3/+0
| | | | | | | | | | | | | | | | | | | | This reverts commit 49be62cc7130e60947bbae90b6bf177e173c8b29.
| * | | | runtime/syscall.h: Forward declare __ia64_fetch_register.Mark Wielaard2009-04-021-0/+3
| | | | |
| * | | | PR6580: Implement symname, symdata and modname context functions.Mark Wielaard2009-04-021-7/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a couple of the suggested context/stack revamp functions from PR6580. In particular it replaces the symbolname() function that sneaked in with the pr6866 branch merge with the suggested symname(). * runtime/sym.c (_stp_mod_sec_lookup): Make section optional. (_stp_symbol_snprint): Provide a way to get optional module info. * tapset/context-symbols.stp: Replace symbolname() with symname(), add modname() and symdata(). (probemod): Implement pc based fallback. * tapset/context-unwind.stp (caller): Adjust for _stp_symbol_snprint change. * testsuite/systemtap.context/usymbols.exp: Use new symname. * testsuite/buildok/modname.stp: New test. * testsuite/buildok/symdata.stp: Likewise. * testsuite/buildok/symname.stp: Likewise.
* | | | | Merge branch 'master' of git://sources.redhat.com/git/systemtapDave Brolley2009-04-025-99/+155
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure
| * | | | Make task_finder.c compiler if ! defined (CONFIG_UTRACE).Mark Wielaard2009-04-021-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * runtime/task-finder.c: If ! defined (CONFIG_UTRACE) define dummy noop API for sym.c consisting of struct stap_task_finder_target, stap_add_vma_map_info, stap_remove_vma_map_info and stap_find_vma_map_info.