summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit 'origin/master' into pr7043David Smith2009-06-1641-576/+1051
|\ | | | | | | | | Conflicts: runtime/transport/transport.c
| * Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDavid Smith2009-06-162-13/+11
| |\
| | * Support -L for kprobe and utrace static user markers.Stan Cox2009-06-162-13/+11
| | | | | | | | | | | | tapsets.cxx (dwarf_builder::build): Special case listing mode for kprobe and utrace.
| * | Moved time.c inclusion from runtime/transport/transport.c to runtime/runtime.h.David Smith2009-06-162-1/+1
| |/ | | | | | | | | * runtime/runtime.h: Includes time.c. * runtime/transport/transport.c: Removed time.c inclusion.
| * Do not emit duplicate probes for kprobe/utrace cases.Stan Cox2009-06-161-0/+8
| | | | | | | | | | * tapsets.cxx (dwarf_builder) Add probes_handled. (dwarf_builder::build): Use probes_handled to not emit duplicates.
| * Strip out newlines in GCC version string.Mark Wielaard2009-06-161-0/+1
| | | | | | | | | | * testsuite/lib/systemtap.exp (get_system_info): Remove possible newlines from GCC_Version string.
| * Add GCC version to testsuite run output and systemtap.sum file.Mark Wielaard2009-06-162-2/+15
| | | | | | | | | | | | | | | | | | | | | | Prints the gcc being used and full version. Also adds short version number to systemtap.sum file (plus full version string). Will make comparing failures based on compiler version being used easier. * testsuite/lib/systemtap.exp (print_systemtap_version): Also print location and full version of gcc being used. (get_system_info): Get gcc version number and long version string. * testsuite/lib/stap_run.exp (print_system_info): Output GCC version.
| * Add pgrp() context tapset function. Describe sid().Przemyslaw Pawelczyk2009-06-153-0/+20
| | | | | | | | | | | | | | | | * tapset/context.stp: Add pgrp() function. * testsuite/buildok/context_test.stp: Add pgrp() call. * stapfuncs.3stap.in: Describe pgrp() and sid(). Signed-off-by: Josh Stone <jistone@redhat.com>
| * Add experimental utrace/kprobe sdt supportStan Cox2009-06-156-300/+557
| | | | | | | | | | | | | | | | | | | | | | | | * sdt.h (EXPERIMENTAL_UTRACE_SDT, EXPERIMENTAL_KPROBE_SDT): New probe point macros. * dtrace: Add support for creating type debug info, currently invoked with --types. * tapsets.cxx (probe_table::convert_probe): New. (probe_table::convert_location): New. (dwarf_builder::build): Use it to simplify probe point handling. * sdt.exp (pbtype_flags, pbtype_mssgs): New to also test kprobe and utrace. * static_uprobes.exp (pbtype_flags, pbtype_mssgs): New to also test kprobe and utrace.
| * PR10285. User space PROBE marks aren't found with separate debuginfo.Mark Wielaard2009-06-152-11/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | The original logic was a little confused. It could end up searching the separate debuginfo twice instead of falling back to the main elf file. Now we explicitly search the main elf file first (where the .probes section really should be) and only then fall back to the separate debuginfo file. * tapsets.cxx (dwarf_builder::probe_table::probe_table): Search main elf file first, then fall back on separate debuginfo file if necessary. * testsuite/systemtap.exelib/exelib.exp: Enable mark.tcl testcase. main elf file or the debuginfo file, but would interpret
| * Add (disabled) testcase for stap probe marks to exelib.Mark Wielaard2009-06-155-3/+30
| | | | | | | | | | | | | | | | * testsuite/systemtap.exelib/exelib.exp: Compile against sdt.h. * testsuite/systemtap.exelib/uprobes_exe.c: Add main_count probe mark. * testsuite/systemtap.exelib/uprobes_lib.c: Add func_count probe mark. * testsuite/systemtap.exelib/mark.tcl: New test. * testsuite/systemtap.exelib/mark.stp: New test tapset.
| * PR10274 Fix exelib -O3 testcase.Mark Wielaard2009-06-153-10/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The testcase now uses noinline, an empty asm statement and a volatile variable to prevent the function getting inlined, being totally unrolled or the recursive call being replaced with an inner-iteration. This does defeat part of the testcase though, which was testing unwinding through an optimized recursive function. But it seems the best we can do. * testsuite/systemtap.exelib/exelib.exp: Add -O3 to the mix. * testsuite/systemtap.exelib/uprobes_exe.c: Use volatile bar and mark main_func noinline. * testsuite/systemtap.exelib/uprobes_lib.c: Use volatile foo and mark lib_func noinline.
| * PR10279: add -DKRETACTIVE=nnnn parameterFrank Ch. Eigler2009-06-133-2/+25
| | | | | | | | | | | | | | * tapsets.cxx (dwarf/kprobe_derived_...::emit_decl/init): Define and use KRETPROBE instead of hard-coded max(...) values. Raise the default 50%. * testsuite/buildok/thirtytwo.stp: New test.
| * PR10277: fix \octal escaping of utf-8 characters in path names etc.Frank Ch. Eigler2009-06-131-1/+1
| | | | | | | | * util.h (lex_cast_qstring): Use unsigned rather than signed chars.
| * Add exelib uprobes test framework.Mark Wielaard2009-06-1215-213/+303
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tests uprobes placed in executables and shared libraries on different arches (32-on-64 currently disabled), gcc/g++, optimizations (currently disabled), prelinked libs (currently disabled), seperate libs/exe debuginfo and pie executables. * testsuite/systemtap.base/uprobes_exe.c: Moved to... * testsuite/systemtap.exelib/uprobes_exe.c: From systemtap.base. * testsuite/systemtap.base/uprobes_lib.c: Moved to... * testsuite/systemtap.exelib/uprobes_lib.c: From systemtap.base. * testsuite/systemtap.base/uprobes_lib.exp: Rewritten as... * testsuite/systemtap.exelib/lib.tcl: From uprobes_lib.exp. * testsuite/systemtap.base/uprobes_lib.stp: Rewritten as... * testsuite/systemtap.exelib/lib.stp: From uprobes_lib.stp. * testsuite/systemtap.base/uprobes_uname.exp: Rewritten as... * testsuite/systemtap.exelib/uname.tcl: From uprobes_uname.exp. * testsuite/systemtap.base/uprobes_uname.stp: Rewritten as... * testsuite/systemtap.exelib/uname.stp: From uprobes_uname.stp. * testsuite/systemtap.base/uprobes_ustack.exp: Rewritten as... * testsuite/systemtap.exelib/ustack.tcl: From uprobes_ustack.exp. * testsuite/systemtap.base/uprobes_ustack.stp: Rewritten as... * testsuite/systemtap.exelib/ustack.stp: From uprobes_ustack.stp. * testsuite/systemtap.exelib/exelib.exp: New exelib uprobes framework. * testsuite/systemtap.exelib/cleanup.tcl: New file.
| * Map przemoc's name to UTF-8 in .mailmap & AUTHORSJosh Stone2009-06-122-1/+2
| |
| * added quick note to README re latexmlDon Domingo2009-06-121-0/+12
| |
| * Version bumps for the 0.9.8 releaseJosh Stone2009-06-116-24/+27
| |
| * Pick up some NEWS items from the release notesJosh Stone2009-06-111-0/+7
| |
* | Fixed non-bulkmode output on smp systems using transport version 2.David Smith2009-06-121-0/+15
| | | | | | | | | | * runtime/transport/relay_v2.c (__stp_relay_create_buf_file_callback): Set the 'is_global' return parameter so that smp systems work correctly.
* | Merge commit 'origin/master' into pr7043David Smith2009-06-1183-8341/+18522
|\|
| * remove erroneous dependency (systemtap-sdt-devel -> systemtap)Frank Ch. Eigler2009-06-111-1/+0
| |
| * Add nd_syscalls NEWSJosh Stone2009-06-101-0/+6
| |
| * Reformat the module signing NEWSJosh Stone2009-06-101-7/+8
| |
| * Merge branch 'master' of ssh://sourceware.org/git/systemtapJosh Stone2009-06-101-4/+4
| |\
| | * gcc 3.4.6 compatibility: s/{true,false}/{1,0} in runtime/unwind.cFrank Ch. Eigler2009-06-101-4/+4
| | |
| * | PR10260: Clean up all resources after init errorsJosh Stone2009-06-101-0/+8
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | When anything in systemtap_module_init fails, and we return non-zero, then the module load is aborted. The normal module unload path (systemtap_module_exit) is not even attempted, so we need to make sure that all partially-allocated resources are returned. Our timer callbacks for the gettimeofday subsystem are a classic example of this error. If we don't unregister the timers before aborting init, they will later be called and cause a kernel fault. We also were neglecting to free the percpu context. A memory leak is less harmful, but that's fixed now too.
| * Fix condition propagation across aliasesJosh Stone2009-06-093-5/+40
| | | | | | | | | | | | | | | | | | | | When an instance of an alias has a condition, that condition gets propagated to each of the locations that the alias defines. However, the copy of the location list was not a deep copy, and so all other instances of the alias would also incorrectly receive the condition. This patch makes the location list copy a little deeper, and adds a test case which demonstrates the issue.
| * build compatibility fix for gcc 3.4Frank Ch. Eigler2009-06-091-1/+1
| | | | | | | | * translate.cxx (emit_symbol_data): Use ~0 instead of -1 for big unsigned constant
| * Add bounds-checking to sdt $argNJosh Stone2009-06-091-5/+9
| |
| * Remove probe_table's unused location memberJosh Stone2009-06-091-5/+4
| |
| * Remove sdt_var_expanding_visitor's now-unused dwJosh Stone2009-06-091-6/+5
| |
| * Remove the spurious sdt @cast expansionJosh Stone2009-06-091-3/+0
| | | | | | | | | | | | | | The result of sdt's private @cast expansion was not being used, and it's not really needed anyway. The global cast visitor is registered to run as a post-processing step on ALL functions and probes, and so it will pick up and expand sdt's casts too.
| * Simplify process.mark parameter parsingJosh Stone2009-06-091-8/+5
| | | | | | | | | | This just makes it so the parameters only need to be checked and pulled out once.
| * dummy empty changeFrank Ch. Eigler2009-06-090-0/+0
| |
| * * tapsets.cxx (sdt_var_expanding_visitor::process_name): New.Stan Cox2009-06-091-13/+12
| | | | | | | | | | | | (sdt_var_expanding_visitor::visit_target_symbol): Have @cast use types from a dtrace built object instead of a dtrace supplied header. (dwarf_builder::build): Use it.
| * Fix uninitialized shdr in probe_tableJosh Stone2009-06-091-1/+8
| | | | | | | | | | | | | | | | | | (redo commit 3d022fa9c6bdbca383dfc639d08d65287c708f56) * tapsets.cxx (dwarf_builder::probe_table::probe_table): gcc 4.4 complains that shdr may be used uninitialized. I added returns to ensure that it's ok, but gcc still complains. Set the thing to NULL as well to silence the beast.
| * * tapsets.cxx (probe_table): Make mark_name and sess refs.Stan Cox2009-06-081-115/+115
| | | | | | | | | | | | | | (probe_table::get_next_probe): Dissect using struct probe_table. (sdt_var_expanding_visitor): Use lex_cast. (dwarf_builder::build): Copy probe and location for TOK_MARK cases. Call derive_probes for kprobe and utrace cases.
| * Remove dwflpp::default_nameJosh Stone2009-06-082-17/+4
| | | | | | | | | | | | It was just a basic NULL check, but creating its string temporaries was causing a fair slowdown. Removing this function and adjusting the callers shaves ~5% off the syscall.* elaboration time.
| * Let query_module abort early for simple matchesJosh Stone2009-06-082-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | query_module was already returning DW_CB_ABORT when a simple match was found, but dwflpp::iterate_over_modules was ignoring that and instead forcing the module loop to restart. The only way out of the loop was with the pending_interrupts flag, which is only for signalled interrupts. Now iterate_over_modules will only attempt the dwfl_getmodules loop once, since that loop will only abort if the CB returns DW_CB_ABORT. Then query_module is also modified to return ABORT if pending_interrupts is flagged. My trusty test, stap -l syscall.*, is nearly 2x faster with this change. Empirically, I found that the kernel object is always the first "module" returned, so the syscall probepoints always gets to short-circuit the loop right away.
| * ttyspy: struct pid->number[0]->nr arrived with 2.6.24 not laterFrank Ch. Eigler2009-06-061-1/+1
| |
| * ttyspy.stp: new sample scriptFrank Ch. Eigler2009-06-066-1/+118
| |
| * PR10209: extend configury for --disable-translatorElliott Baron2009-06-059-163/+258
| | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Added --disable-translator feature, creates AM_CONDITIONAL BUILD_TRANSLATOR. * Makefile.am: Only build runtime components (staprun, stapio) if BUILD_TRANSLATOR == FALSE. * configure: Regenerated. * Makefile.in: Likewise. * aclocal.m4: Likewise. * config.in: Likewise. * doc/Makefile.in: Likewise. * doc/SystemTap_Tapset_Reference/Makefile.in: Likewise. * grapher/Makefile.in: Likewise.
| * Fix uninitialized shdr in probe_tableJosh Stone2009-06-031-15/+22
| | | | | | | | | | | | | | * tapsets.cxx (dwarf_builder::probe_table::probe_table): gcc 4.4 complains that shdr may be used uninitialized. I added returns to ensure that it's ok, but gcc still complains. Set the thing to NULL as well to silence the beast.
| * * tapsets.cxx (dwarf_builder::probe_table): New. Derived fromStan Cox2009-06-031-145/+411
| | | | | | | | | | | | dwarf_builder::build to handle the .probes section (sdt_var_expanding_visitor): New. Expand static probe $argN. (dwarf_builder::build): Use probe_table. Add kprobe and utrace probe types.
| * Detect kretprobe trampoline and use fallback unwinder.Mark Wielaard2009-06-035-11/+34
| | | | | | | | | | | | | | | | | | | | | | | | * runtime/sym.h (_stp_kretprobe_trampoline): Document. * translate.cxx (unwindsym_dump_context): Add stp_kretprobe_trampoline_addr. (dump_unwindsyms): Detect kretprobe_trampoline_holder symbol address. (emit_symbol_data): Initialize and emit _stp_kretprobe_trampoline. * runtime/transport/symbols.c (_stp_do_relocation): Detect kernel load address and adjust _stp_kretprobe_trampoline. * runtime/stack-i386.c (__stp_stack_print): Always use fallback unwinder when hitting kretprobe_trampoline_holder. * runtime/stack-x86_64.c (__stp_stack_print): Likewise.
| * Add $arch/nd_syscalls.stpJosh Stone2009-06-025-0/+1419
| | | | | | | | | | These are all the dwarfless analogs to $arch/syscalls.stp. (Only i686 and x86_64 have been tested...)
| * Clean up the formatting of $arch/syscalls.stpJosh Stone2009-06-025-149/+224
| |
| * Complete a few TODO probe points in nd_syscalls2Josh Stone2009-06-021-39/+96
| | | | | | | | This adds renameat, unlinkat, unshare, and compat_sys_semctl.
| * Fixed cut-and-paste error.David Smith2009-06-021-1/+1
| | | | | | | | | | * runtime/task_finder.c (__stp_call_mmap_callbacks_for_task): Fixed cut-and-paste error.