summaryrefslogtreecommitdiffstats
path: root/runtime/unwind
Commit message (Collapse)AuthorAgeFilesLines
* Be paranoid about table size resolving cie_for_fde and fde_pointer_type.Mark Wielaard2009-10-201-2/+4
| | | | | | * runtime/unwind.c (cie_for_fde): Take table and table_len into account. (fde_pointer_type): Likewise. * runtime/unwind/unwind.h: Adjust function prototypes.
* PR10458. User actual breakpoint address for [ku]probe[ret].Mark Wielaard2009-07-312-2/+2
| | | | | | | | | | | | | | | | | | | | Setup the pt_regs REG_IP to the actual breakpoint address before entering a probe handler for [ku]probe[ret] (and restore it after returning). This helps getting symbol resolution and backtraces more correct and makes it more conform with other probe handlers like the iutrace and profile timers that also provide pt_regs (which untill now exhibited off-by-one errors while unwinding). * tapsets.cxx (dwarf_derived_probe_group::emit_module_decls): Setup REG_IP correctly before calling enter_kprobe_probe and enter_kretprobe_probe, and restore afterwards. (uprobe_derived_probe_group::emit_module_decls): Likewise for enter_uprobe_probe and enter_uretprobe_probe. (kprobe_derived_probe_group::emit_module_decls): Likewise for enter_kprobe2_probe and enter_kretprobe2_probe. * runtime/unwind/i386.h (arch_unw_init_frame_info): Initialize info->call_frame to zero. * runtime/unwind/x86_64.h (arch_unw_init_frame_info): Likewise.
* Fetch and store both debug_frame and eh_frame tables.Mark Wielaard2009-05-201-2/+2
| | | | | | | | | | | | | * runtime/sym.h (_stp_module): Remove unwind_data, unwind_data_len and unwind_is_ehframe fields. Add debug_frame, eh_frame, debug_frame_len, eh_frame_len and eh_frame_addr fields. * runtime/unwind.c: Use debug_frame and debug_frame_len instead of unwind_data and unwind_data_len throughout. (cie_for_fde): Take unwind_data and is_ehframe as direct arguments. * runtime/unwind/unwind.h (cie_for_fde): New function declaration. * translate.cxx (get_unwind_data): Fetch and return both debug_frame and eh_frame tables. (dump_unwindsyms): Dump both debug_frame and eh_frame tables.
* Privatize MAX_STACK_DEPTHJosh Stone2009-04-161-2/+2
| | | | | | 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.
* PR6738: restore support for rhel4-era (2.6.9) kernelsFrank Ch. Eigler2008-07-123-0/+18
|
* Merge branch 'master' of monkey:/home/hunt/systemtapMartin Hunt2008-04-151-18/+0
|\
| * 2.6.25 fixes and stack level limits.Martin Hunt2008-04-151-18/+0
| |
* | PR6410: unwinder-less architecture toleranceFrank Ch. Eigler2008-04-151-0/+4
|/
* unwinder build fix for STACK_{TOP,BOTTOM} macro name collisionsFrank Ch. Eigler2008-04-151-4/+4
| | | | | | | | 2008-04-15 Frank Ch. Eigler <fche@elastic.org> * unwind/i386.h (STACK_BOTTOM, STACK_TOP): Comment out these unused definitions, for they collide with some kernels (2.6.25-0.121.rc5.git4 rawhide).
* Fixes for 2.6.25 pt_regs changes.Martin Hunt2008-04-092-4/+98
|
* Support for kernels built with CONFIG_FRAME_POINTERMartin Hunt2008-03-302-2/+5
|
* i386 fixes.Martin Hunt2008-03-262-16/+1
|
* Cleanup.Martin Hunt2008-03-252-0/+23
|
* add (back) runtime/unwind filesFrank Ch. Eigler2008-03-253-0/+340