summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * Ensure tracepoints are synchronized after unregJosh Stone2009-03-061-0/+4
| | | | | | | | | | | | | | | | | | | | The tracepoint API provides tracepoint_synchronize_unregister() as a way to guarantee that all tracepoint handlers are inactive. This is necessary after unregistering to allow the module to safely unload. * tapsets.cxx (tracepoint_derived_probe_group::emit_module_init): Call synchronize after unregistering tracepoints. (tracepoint_derived_probe_group::emit_module_exit): Ditto.
| * Support older tracepoints using DEFINE_TRACEJosh Stone2009-03-061-0/+5
| | | | | | | | | | | | | | | | | | At one point, the tracepoints API didn't have DECLARE_TRACE, and the trace headers all used DEFINE_TRACE. This is what got pulled into RHEL, so we need to support this older usage. The rest of the API stays the same though. * buildrun.cxx (make_tracequery): Redefine DEFINE_TRACE as well.
| * Enable tracepoint target variablesJosh Stone2009-03-061-3/+338
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This uses a similar mechanism as marker probes for storing target variables in locals of the probe body. * tapsets.cxx (tracepoint_arg): Add fields to help $target access. (tracepoint_var_expanding_visitor): Expand code to access target variables - a $target for each tracepoint parameter, as well as the special $$name and $$vars. (tracepoint_derived_probe::tracepoint_derived_probe): Expand targets (resolve_tracepoint_arg_type): Determine if a parameter is a type that we can dereference, and store the underlying type. (tracepoint_derived_probe::build_args): Resolve the types. (tracepoint_derived_probe::emit_probe_context_vars): Emit $target placeholders into the locals of the probe body. (tracepoint_derived_probe_group::emit_module_decls): Initialize $targets from the entry point parameters.
| * Emit code to hook up tracepoint probesJosh Stone2009-03-061-4/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tapsets.cxx (tracepoint_arg): New (tracepoint_derived_probe): Add declaring header name and arg vector (dwarf_type_name): Build a type string for a given type DIE (tracepoint_derived_probe::build_args): Scan the function DIE for the name and type of formal parameters required by the tracepoint. (tracepoint_derived_probe::tracepoint_derived_probe): Call build_args and determine the relevant header to include. (tracepoint_derived_probe_group::emit_module_decls): For each tracepoint, include its header and declare a probe entry point with the right function signature. (tracepoint_derived_probe_group::emit_module_init): Call the registration for each tracepoint, and handle error unwinding. (tracepoint_derived_probe_group::emit_module_exit): Unregister each.
| * Build skeleton tracepoint probesJosh Stone2009-03-061-4/+79
| | | | | | | | | | | | * tapsets.cxx (tracepoint_derived_probe): Create a skeleton probe (tracepoint_derived_probe_group): Create a skeleton group (tracepoint_query::handle_query_func): build a probe
| * Scan tracequery.ko for tracepointsJosh Stone2009-03-061-1/+79
| | | | | | | | | | | | | | * tapsets.cxx (tracepoint_query): Iterate over the modules, CUs, and functions in tracequery.ko looking for our hijacked tracepoint declarations. (tracepoint_builder::build): Run a tracepoint_query
| * Build tracequery to scan for tracepointsJosh Stone2009-03-064-0/+155
| | | | | | | | | | | | | | | | | | | | * session.h (systemtap_session): add tracepoint_derived_probes * buildrun.cxx (make_tracequery): New - builds a kernel module that hijacks the tracepoint declarations, so we can query debuginfo. * buildrun.h: declare above * tapsets.cxx (tracepoint_builder): New builder for tracepoint probes. For now it just handles the initialization to build the tracequery kernel module.
| * Make iterate_over_functions work with base_querysJosh Stone2009-03-061-14/+17
| | | | | | | | | | | | | | | | | | | | * tapsets.cxx (dwflpp::iterate_over_functions): Change arg from void* to base_query*, and add explicit function-search parameters. (query_cu): update caller (query_dwarf_func): update callback signature (Note: instead of passing around callback functions, it might be nicer to use a virtual method in base_query...)
| * Make session.module_cache init more consistentlyJosh Stone2009-03-041-7/+3
| | | | | | | | | | | | | | | | | | We used to check & init module_cache in a few inconsistent places. Now it is always handled in dwflpp::setup_user/setup_kernel. * tapsets.cxx (dwflpp::setup_user): add module_cache check (dwarf_builder::build): remove module_cache check (dwarf_cast_expanding_visitor::visit_cast_op): ditto
* | Update AUTHORSJosh Stone2009-03-061-0/+2
| |
* | STAP_PROBE takes no extra arguments.Mark Wielaard2009-03-061-2/+2
| | | | | | | | * includes/sys/sdt.h (STAP_PROBE): Don't add __VA_ARGS__.
* | Create unique named labels.Stan Cox2009-03-061-65/+94
| | | | | | | | | | * includes/sys/sdt.h (STAP_PROBEN_): New macros that take advantage of __COUNTER__
* | PR9871: use @cast in tapsetWenji Huang2009-03-067-348/+269
| | | | | | | | | | | | | | | | Rewrite some functions using type casting to get rid of embedded C code in nfs, scsi, signal, socket, rpc, task and vfs tapset. Signed-off-by: Wenji Huang <wenji.huang@oracle.com>
* | added more content for tapset devddomingo2009-03-061-2/+86
| |
* | added markers, for publicanization purposesddomingo2009-03-051-4/+5
| |
* | new intro, tapset dev guideddomingo2009-03-052-0/+92
| |
* | removes marked range of strings (intro) and replaces with Intro and Tapset ↵ddomingo2009-03-051-4/+21
| | | | | | | | Dev Guide
* | added invisible marker for publicanddomingo2009-03-051-8/+10
|/
* change to fedora, add README for more infoddomingo2009-03-052-1/+36
|
* change to fedoraddomingo2009-03-051-4/+8
|
* add other required XMLsddomingo2009-03-054-0/+82
|
* add imagesddomingo2009-03-051-0/+3936
|
* add Makefileddomingo2009-03-051-0/+15
|
* function instead of (sfunction)ddomingo2009-03-051-1/+1
|
* added other required filesddomingo2009-03-051-0/+17
|
* Fix typo in kernel version check 2.6.21 -> 2.6.11 in inet_sock.Mark Wielaard2009-03-041-2/+2
| | | | | * tapset/inet_sock.stp (inet_get_local_port): Fix kernel version check. (inet_get_ip_source): Likewise.
* stap autoconf test for kernel stack trace supportTim Moore2009-03-045-6/+29
| | | | | | | | | | * buildrun.cxx (compile_pass): Add autoconf line for stack trace test, which defines STAPCONF_KERNEL_STACKTRACE. * runtime/autoconf-save-stack-trace.c: New file. * runtime/stack.c : Use STAPCONF_KERNEL_STACKTRACE instead of tests for kernel configuration and versions. * runtime/stack-i386.c : ditto * runtime/stack-x86_64.c : ditto
* PR9919: Set last_stmt for array (scalar or statistical) assignments.Mark Wielaard2009-03-043-2/+56
| | | | * translate.cxx (visit_arrayindex): Update last_stmt.
* change stap-report to a plain /bin/sh script; support dkpg in addition to rpmFrank Ch. Eigler2009-03-031-24/+19
|
* Search for a label instead of an address for .so static probes.Stan Cox2009-03-031-1/+4
| | | | * tapsets.cxx (dwflpp::build): Use .label for .so instead of .statement(N)
* This patch updates the itrace code to support the new utrace interface.Maynard Johnson2009-03-032-29/+118
| | | | | It also adds a private copy of access_process_vm to runtime/itrace.c since that function is not consistently exported by all distros.
* PR9875: Remove sduprobesWenji Huang2009-03-034-166/+31
| | | | | | | | | | | | Impact: cleanup Since sdt.h is in git tree, sduprobes is no longer needed. * Makefile.am: Remove sduprobes. * Makefile.in: Regenerated. * doc/Makefile.in: Ditto. * runtime/sduprobes.c: Removed. Signed-off-by: Wenji Huang <wenji.huang@oracle.com>
* Allow the same static user probe to be used multiple times per line.Stan Cox2009-03-022-15/+50
| | | | | * dtrace (provider): Add STAP_PROBE10. * includes/sys/sdt.h: Likewise. Convert labels to __label__
* added publicanizer for langrefddomingo2009-03-028-0/+4229
|
* minor revision, added tagddomingo2009-03-021-2/+2
|
* Merge branch 'master' of git+ssh://sources.redhat.com/git/systemtapEugeniy Meshcheryakov2009-02-285-46/+46
|\
| * Use @cast where possible for examining inet_sock.Mark Wielaard2009-02-271-25/+25
| | | | | | | | | | | | | | * tapset/inet_sock.stp: Remove includes. (inet_get_local_port): No embedded C, use @cast. (inet_get_ip_source): Likewise. (daddr_to_string): New function, still some embedded C used.
| * Remove unnecessary embedded C include.Mark Wielaard2009-02-271-4/+0
| | | | | | | | * tapset/networking.stp: Remove include.
| * Guard _struct_sigaction32_u with ifdef CONFIG_COMPAT.Mark Wielaard2009-02-251-0/+2
| | | | | | | | | | * tapset/aux_syscalls.stp (_struct_sigaction_u): Only needed and compiles when CONFIG_COMPAT defined.
| * PR9896: Fix SystemTap build on Ubuntu Intrepid.Ananth N Mavinakayanahalli2009-02-251-2/+2
| | | | | | | | The gcc on Ubuntu doesn't like fprintf() without format arguments
| * Skip generating empty struct globalWenji Huang2009-02-241-15/+17
| | | | | | | | | | | | | | | | Impact: trivial cleanup. Avoid emitting empty struct global code that is harmless. Signed-off-by: Wenji Huang <wenji.huang@oracle.com>
* | Merge branch 'master' of git+ssh://sources.redhat.com/git/systemtapEugeniy Meshcheryakov2009-02-2412-636/+1231
|\|
| * Adjust extra_offset address against module base.Mark Wielaard2009-02-241-0/+4
| | | | | | | | | | * translate.cxx (dump_unwindsyms): Adjust extra_offset always against module base as workaround for buggy elfutils < 0.138.
| * Fix the syscall tapset for architectures using SYSCALL_WRAPPERSAnanth N Mavinakayanahalli2009-02-242-564/+1095
| |
| * Merge branch 'gtod'Josh Stone2009-02-235-50/+104
| |\
| | * Add a testcase for gtod init/killJosh Stone2009-02-231-0/+29
| | | | | | | | | | | | | | | | | | This test simply checks that _gettimeofday_init and _gettimeofday_kill are pulled in when gettimeofday is used, and also that they are NOT pulled in when gettimeofday is not used.
| | * Add selective use of _stp_time_init/kill (PR9822)Josh Stone2009-02-234-50/+75
| | | | | | | | | | | | | | | | | | | | | | | | Our gettimeofday runtime has frequent wakeups to stay in sync with kernel time, but this is wasted effort if gettimeofday is not used in the script. This patch moves the calls to _stp_time_init and _stp_time_kill into begin and end/error probes, which only get pulled in if one of the gettimeofday variants is called.
| * | Improve static probe: c++ navigation, -l output.Stan Cox2009-02-232-16/+19
| |/ | | | | | | | | | | | | * tapsets.cxx (dwflpp::build): Improve c+ method navigation. Use .label for listing mode. * systemtap.base/static_uprobes.exp: Test multiple invocations of the same probe per block. (SW9770)
| * Check whether a die has any children before iterating over it.Mark Wielaard2009-02-231-1/+4
| | | | | | | | * tapsets.cxx (iterate_over_cu_labels): Check dwarf_child result.
| * Made probe_start()/probe_exit() function definitions match their declarations.David Smith2009-02-231-2/+2
| | | | | | | | | | | | | | 2009-02-23 David Smith <dsmith@redhat.com> * translate.cxx (translate_pass): Made probe_start()/probe_exit() function definitions match their declarations.