| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Add '-D'(daemon mode) option to staprun/stapio for daemon mode.
In this mode, stapio shows just its pid and detachs from console.
Since it has no stdio, this mode requires -o option. stapio will
exit when it receives SIGTERM or detects some error.
|
|
|
|
|
| |
Add an interface (eprintf) to output error messages to syslogd,
because staprun has no stderr after detaching from console.
|
| |
|
|
|
|
|
|
|
| |
Add map_p argument to __stp_call_vm_callbacks_with_vma to well
tune the vma callback.
Signed-off-by: Wenji Huang <wenji.huang@oracle.com>
|
|
|
|
|
|
| |
If a tracepoint arg is a structure or union that is passed by value,
then this takes the address of the parameter so it can be used like a
pointer in the rest of our code.
|
|
|
|
|
| |
* parse.cxx (parser::parse_symbol): Strip off "struct " or "union "
from cop->type.
|
|
|
|
|
| |
* tapsets.cxx (dwarf_cast_expanding_visitor::visit_cast_op):
Add type to msg added to semantic_error when thrown.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
We always have to know the type name of tracepoint arguments, so we can
declare the right function callback, but we can suppress access to those
types which we don't (yet) know how to read.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
dwarf_type_name now works with more argument types. There were
three cases that I needed to improve:
- For "const struct foo*", the debuginfo has a const-DIE named "foo"
chained to a struct-DIE named "foo", so we can't assume that seeing a
name means we're down to the base type. The recursion now decends
until it explicitly sees a base_type, typedef, struct, or union.
- For "void*", the debuginfo has a pointer-DIE without any DW_AT_type
after. Now I'm just catching that failed lookup and writing in
"void".
- For "va_list", the debuginfo actually resolves to an internal type
"struct __va_list_tag*", but that struct has no declaration at the
source level. I'm just hacking that exact case to say "va_list"
instead, but it would be nice to find something cleaner...
We'll probably still have problems if any tracepoint uses a function-
pointer argument, but so far I've only seen that as a "void*", which we
now handle ok.
|
| |
| |
| |
| |
| |
| | |
LTTng has a few tracepoints without any arguments, which caused our
compile to fail, claiming that our entry function was not a declaration.
This just adds an explicit (void) argument list for that case.
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
All callers of __stp_tf_get_vma_map_entry_internal lock and unlock
the mutex correctly themselves in all cases. This unlock would trigger
a double unlock.
* runtime/task_finder_vma.c (__stp_tf_get_vma_map_entry_internal):
Don't mutex_unlock(&__stp_tf_vma_mutex).
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
* systemtap.base/static_uprobes.exp: Compile with -x c++. Test .probes absence.
|
|
|
|
|
|
|
|
|
| |
When given directly by the user through -d or in case of the kernel
name and path might differ. path should be used for matching.
* runtime/sym.h (_stp_module): Add path field.
* runtime/task_finder.c (__stp_tf_vm_cb): Use module path to compare vm_path.
* translate.cxx (dump_unwindsyms): Output canonical path.
|
|
|
|
| |
* tapset/scsi.stp: Remove 'g' at end of file.
|
|\ |
|
| |
| |
| |
| | |
Two functions pid2task and pid2execname.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In some configurations, GCC was warning about a possible use of _v in
the deref macros. I could not reproduce the error, but the only case
where _v is not written is if lookup_bad_addr rejects the address, in
which case we will hit DEREF_FAULT and _v won't be used.
Now we're priming _v=0 anyway, so GCC has no right to complain...
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit 96b030fe reorganized the tracepoint registration calls by
creating generic wrappers that return int. However, the older
tracepoint implementation (as found in RHEL5.3) returned void for unreg,
so this was failing pass-4.
Since we can't handle unregistration failures anyway, this change just
makes the generic unregister function return void instead. As noted in
the newly-added comment, it should be safe for us to ignore unreg
failures.
|
| | |
|
| |
| |
| |
| | |
it tom
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
| |
|
|
|
|
|
| |
* translate.cxx (dump_unwindsyms): Check elfutils version and whether
build_id_vaddr < base, and if so add main_bias to address.
|
|
|
|
| |
to Tapset_Reference_Guide
|
| |
|
| |
|
| |
|
|
|
|
| |
tapsetdescription for man page generator (in development)
|