summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove documentation weirdness FIXME in tapset print_stack().Mark Wielaard2009-04-211-2/+2
| | | | | | Weirdness was fixed in commit d4db5608. * tapset/context-symbols.stp (print_stack): Remove FIXME.
* Don't use stack fallback for user space unwinding when using dwarf unwinder.Mark Wielaard2009-04-212-8/+16
| | | | | | | | It never seems to be anywhere near correct. * runtime/stack-i386.c (__stp_stack_print): Stop unwinding when dwarf unwinder fails and we are unwinding user space task. * runtime/stack-x86_64.c (__stp_stack_print): Likewise.
* Remove old _stp_ustack bits.Mark Wielaard2009-04-211-17/+0
| | | | | | This code was never used, nor did it actually work. * runtime/stack.c (_stp_ustack_print): Removed.
* Pass task from tapset, through stack and unwind functions for lookup.Mark Wielaard2009-04-209-21/+27
| | | | | | | | | | | | | | | | | * runtime/stack-arm.c (__stp_stack_print): Take struct task_struct *. * runtime/stack-ia64.c (__stp_stack_print): Likewise. * runtime/stack-ppc64.c (__stp_stack_print): Likewise. * runtime/stack-s390.c (__stp_stack_print): Likewise. * runtime/stack-i386.c (__stp_stack_print): Likewise. And add check and pass to unwind() and _stp_func_print(). * runtime/stack-x86_64.c: Likewise. * runtime/stack.c *_stp_stack_print): Take and pass on task_struct. (_stp_stack_snprint): Likewise. * runtime/unwind.c (unwind): Take and use task_struct for _stp_mod_sec_lookup(). * tapset/context-unwind.stp (print_backtrace): Pass NULL to _stp_stack_print(). (backtrace): Pass NULL to _stp_stack_snprint().
* Add comment to try -d kernel -d systemtap_test_module1 on backtrace.tcl test.Mark Wielaard2009-04-201-0/+1
|
* Pass task to _stp_func_print and _stp_kallsyms_lookup.Mark Wielaard2009-04-194-8/+9
| | | | | | | | | * runtime/sym.c (_stp_func_print): Take task, pass to _stp_kallsyms_lookup. * runtime/stack.c (print_stack_address): Pass NULL. * runtime/stack-i386.c (_stp_stack_print_fallback): Pass NULL. (__stp_stack_print): Pass NULL or current. * runtime/stack-x86_64.c (_stp_stack_print_fallback): Pass NULL. (__stp_stack_print): Pass current.
* Handle .absolute and .dynamic (user space) addresses in adjustStartLoc.Mark Wielaard2009-04-191-6/+12
| | | | | * runtime/unwind.c (adjustStartLoc): .absolute sections don't need adjustment, .dynamic sections need the section addr to be added.
* Micro-optimization: no-modules translate pass 3 case.Mark Wielaard2009-04-191-8/+22
| | | | | | | | Saves 250ms in the unlikely case there are no modules needed. * translate.cxx (emit_symbol_data_done): New function. (emit_symbol_data): Call emit_symbol_data_done immediately when no module data is needed.
* Remove module boilerplate from tracequeryJosh Stone2009-04-171-5/+0
| | | | | | | Kernel modules will actually build just fine with none of the module boilerplate code. We don't care about ever actually loading the tracequery module that we make, so don't bother emitting code we don't need.
* Merge branch 'master' of git+ssh://sources.redhat.com/git/systemtapKent Sebastian2009-04-176-1/+109
|\
| * Make dropwatch.stp executable and have correct interpreter.William Cohen2009-04-171-1/+1
| |
| * Add dropwatch.stp example.William Cohen2009-04-176-1/+109
| |
* | PR10082: add environment variable to pass -r RELEASE/PATH optionKent Sebastian2009-04-173-2/+41
|/
* PR7072: use _stp_reserve_bytes for printf bufferKent Sebastian2009-04-172-33/+350
|
* Added new utrace syscall argument test.David Smith2009-04-173-0/+515
| | | | | | | | 2009-04-17 David Smith <dsmith@redhat.com> * systemtap.base/utrace_syscall_args.c: New test file. * systemtap.base/utrace_syscall_args.exp: New test file. * systemtap.base/utrace_syscall_args.stp: New test file.
* Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDavid Smith2009-04-175-45/+44
|\
| * Output probe calling sequence commentStan Cox2009-04-172-14/+3
| | | | | | | | * dtrace: Output probe calling sequence comment
| * Keep up with tracepoint changes in kernel-tipJosh Stone2009-04-161-5/+19
| | | | | | | | | | | | | | | | - Define TRACE_HEADER_MULTI_READ to allow re-pulling headers that were already included indirectly elsewhere. - Some tracepoint headers were moved down to include/trace/events/, so add that to our glob paths. - Add ftrace.h as a header that we should never include.
| * 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.
| * Handle dtrace no argument macro case specially.Stan Cox2009-04-161-5/+10
| | | | | | | | * dtrace: No argument case is DTRACE_PROBE/STAP_PROBE.
| * Simplify dtrace.Stan Cox2009-04-161-25/+16
| | | | | | | | * dtrace: Simplify the macro generator.
* | Avoid sign extension in syscall return values.David Smith2009-04-171-9/+15
|/ | | | | | | | 2009-04-17 David Smith <dsmith@redhat.com> * tapset/utrace.stp: Cast the return value of syscall_get_return_value() to an unsigned long to avoid sign extension.
* 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.
* Indentation repair.Stan Cox2009-04-161-89/+88
| | | | * tapsets.cxx (dwflpp::iterate_over_labels): Fix indentation.
* Use iterate_over_srcfile_lines for function("func@file:N").labelStan Cox2009-04-162-103/+158
| | | | | | | | * tapsets.cxx (dwflpp::iterate_over_labels): Renamed from iterate_over_cu_labels, method signature simplified. (query_srcfile_label): New. (query_cu): Use above. * labels.exp: New tests for above.
* PR9940: add/use unmap_u[ret]probeJim Keniston2009-04-155-23/+107
| | | | | 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-15125-1248/+3234
|\
| * 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-153-30/+56
| |\ \
| | * | 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-142-15/+44
| | |/ | | | | | | | | | | | | | | | | | | | | | * 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.
| * | Minor formatting to avoid line wrap, added tcpdumplike.meta file,William Cohen2009-04-146-5/+50
| | | | | | | | | | | | and regenerated index files.
| * | PR9953: split up the two process.* tapsetsJosh Stone2009-04-1415-61/+67
| | | | | | | | | | | | | | | | | | | | | The overlapping process.* tapsets are now separated. Those probe points documented in stapprobes(3stap) remain the same. Those that were formerly in stapprobes.process(3stap) have been renamed to kprocess, to reflect their kernel perspective on processes.
| * | Adjust NEWS indentationJosh Stone2009-04-141-14/+14
| | |
| * | Make tcpdumplike.stp executableJosh Stone2009-04-141-0/+2
| | |
| * | Add Andre Detsch to AUTHORSJosh Stone2009-04-141-0/+1
| | |
| * | Add new TCP and IP functionsAndre Detsch2009-04-143-0/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds some basic functions to the IP and TCP tapsets. Mainly, it's possible to get the iphdr and tcphdr from a sk_buff structure. As a consequence, a TCP probe called tcp.receive() was created and is probed every time a TCP packet is received, and a lot of useful fields is available, as the TCP flags. Also a small example that works like tcpdump for received TCP packets was created. This patch was tested on x86 and ppc machines, on 2.6.18 kernel and also on mainline one. Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com> Signed-off-by: Andre Detsch <adetsch@br.ibm.com> Signed-off-by: Josh Stone <jistone@redhat.com>
| * | PR10070: don't warn about side-effect-free probes in -t (timing) modeFrank Ch. Eigler2009-04-141-1/+2
| | | | | | | | | | | | * elaborate.cxx (semantic_pass_opt4): Filter warning on s.timing.
| * | PR10067: fix bitfield accessJosh Stone2009-04-134-7/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * | PR10049: Restore better errors for $returnJosh Stone2009-04-131-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit c4ce66a1 I shifted some of the variable accesses around, and that caused the error messages for $return variables to lose context. The root problem in this case was that dwarf_attr didn't find the type attribute, and that failure wasn't immediately caught. Now that result is checked so we can provide a proper error message. While I'm at it, changing that lookup to dwarf_attr_integrate is enough to make the $return value usable again, at least for the reported test case.
| * | Improve -l output for .labelStan Cox2009-04-132-6/+30
| | | | | | | | | | | | | | | | | | * tapsets.cxx (iterate_over_cu_labels): Treat -l specially so the output of a .label can be improved. * labels.stp: Test -l
| * | add a spaceEugeniy Meshcheryakov2009-04-131-1/+1
| |/
| * Make stmt_rel.exp have good compatibilityWenji Huang2009-04-091-1/+3
| |
| * Cleanup symbol table sanity checking.Mark Wielaard2009-04-091-16/+29
| | | | | | | | | | | | * translate.cxx (dump_unwindsyms): Get and check against module end, only check STT_FUNC && SHN_ABS for kernel, check shndxp for non-allocated section.
| * Uses <asm/syscall.h> when available.David Smith2009-04-095-152/+214
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).