| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
The gcc on Ubuntu doesn't like fprintf() without format arguments
|
|
|
|
|
|
|
|
| |
Impact: trivial cleanup.
Avoid emitting empty struct global code that is harmless.
Signed-off-by: Wenji Huang <wenji.huang@oracle.com>
|
|
|
|
|
| |
* translate.cxx (dump_unwindsyms): Adjust extra_offset always
against module base as workaround for buggy elfutils < 0.138.
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
|
|
| |
* 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)
|
|
|
|
| |
* tapsets.cxx (iterate_over_cu_labels): Check dwarf_child result.
|
|
|
|
|
|
|
| |
2009-02-23 David Smith <dsmith@redhat.com>
* translate.cxx (translate_pass): Made probe_start()/probe_exit()
function definitions match their declarations.
|
| |
|
| |
|
|
|
|
|
| |
This was leftover from my initial draft of autoconf caching.
It's not used at all anymore...
|
|
|
|
|
| |
* translate.cxx (dump_unwindsyms): Adjust sym_addr for ET_DYN always
against module base as workaround for buggy elfutils < 0.138.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
2009-02-20 David Smith <dsmith@redhat.com>
* debugfs.c: Added inclusion of linux/debugfs.h.
* relayfs.h: Removed inclusion of linux/debugfs.h.
|
|/
|
|
|
|
| |
client/server.
Ensure that tests run with/without the server have unique names.
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
ChangeLog
testsuite/ChangeLog
|
| |
| |
| |
| |
| |
| |
| | |
2009-02-20 David Smith <dsmith@redhat.com>
* systemtap.base/cache.exp (stap_compile): Better cleanup.
* static_uprobes.exp: Ditto.
|
| |
| |
| |
| |
| |
| |
| | |
translate.cxx (dump_unwindsyms): Augment the test for creating the
stap-symbols to be STT_FUNC && !(SHN_UNDEF || SHN_ABS). The combination
STT_FUNC && SHN_ABS only seems to occur on older i386 kernels and covers
the vDSO "functions" we were seeing.
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Getting rid of ChangeLogs doesn't mean that we get a free ticket -- we
now need to be more diligent about providing meaningful commit messages.
I've updated the HACKING file with a first draft of new guidelines, but
we may still revise what we feel is appropriate detail in the logs.
I removed the ChangeLog section from the tapset/DEVGIDE entirely, and
also fixed the path where examples are stored.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Mark Wielaard, a dear friend of the departed, will be performing a song
and dance at the funeral services to commemorate the joyous times that
they had together.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The testsuite Makefile doesn't have any useful targets except check and
installcheck, and those two are invoked directly by the top-level
Makefile. So, I'm removing testsuite from automake's SUBDIRS, but
keeping it in DIST_SUBDIRS for cleanup.
I also renamed our top-level check target to check-local, so it
cooperates with automake's check instead of overriding it.
|
| | | |
|
| |/ |
|
| | |
|
|/ |
|
| |
|
| |
|
|\ |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
| |
Let git-shortlog do the hard work for us, with the user
mappings now listed in ".mailmap".
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
2009-02-18 David Smith <dsmith@redhat.com>
* systemtap.base/static_uprobes.exp: Handles errors from running
'dtrace' python script better.
|
| |
| |
| |
| |
| |
| | |
2009-02-18 David Smith <dsmith@redhat.com>
* systemtap.base/labels.exp: Better cleanup.
|
|\ \
| |/
|/|
| |
| |
| |
| | |
println(@cast(myptr, "task_struct")->pid)
println(@cast(myptr, "task_struct", "kernel")->pid)
Merge branch 'typecast', bump ChangeLog entries to push date
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This will iterate over the module and its CUs looking for the type
definition, and then work with loc2c to dereference the pointer.
* loc2c.c (c_translate_argument): Create a dummy location to start
the address computation from a function parameter.
* translate.cxx (base_query, dwarf_query): Move some members from
base_query to dwarf_query, so the former can be more generic. Also
add a constructor using a module string instead of probe parameters.
(dwflpp::query_modules, dwflpp::iterate_over_modules): Use a generic
base_query instead of a dwarf_query.
(dwarf_cast_query): New query to scan the modules and CUs for a
matching type definition, and then produce a code fragment to deref
each component.
(dwarf_cast_expanding_visitor): Tries to replace @casts with a function
call to the result of a dwarf_cast_query.
(dwflpp::declaration_resolve): Search by name instead of by die.
(dwflpp::translate_components): Use the incoming vardie as the first
type die, so we don't assume that attr_mem has a DW_AT_type already.
(dwflpp::literal_stmt_for_pointer): Construct a C fragment that starts
with a pointer argument (THIS->pointer) and dereferences each member
component from there.
(*_derived_probe::register_patterns): Take a session parameter instead
of a match_node, so we can manipulate session-wide data.
(dwarf_derived_probe::register_patterns): Add a session code filter to
expand @casts with a dwarf_cast_expanding_visitor.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This will be used to hook to dwarf_builder to all functions and probes
so it can attempt @cast expansion.
* session.h (systemtap_session): Add a vector of update_visitors
that will act as filters for all probes and functions.
* elaborate.cxx (semantic_pass_symbols): Run probes and functions
through each registered code filter.
|
| |
| |
| |
| |
| |
| | |
* tapsets.cxx (dwarf_var_expanding_visitor::visit_cast_op): While
expanding dwarf probes, provide the current module as a default to
@casts without a module name.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This handles all of the parsing, traversal, and optimization. It
doesn't actually resolve the cast yet though.
* staptree.h (struct cast_op, visitor::visit_cast_op): New.
* staptree.cxx (cast_op::print/visit, various visitor::visit_cast_op's):
Incorporate cast_op into the basic tree operations.
* parse.cxx (parser::parse_symbol): Parse @cast operator with an
expression operand, type string, and optional module string.
* translate.cxx (c_unparser::visit_cast_op): Error out if a @cast
survives to translation.
* elaborate.cxx (typeresolution_info::visit_cast_op): Error out if a
@cast survives to type resolution.
(symbol_fetcher::visit_cast_op): treat @casts as a symbol target
(void_statement_reducer::visit_cast_op): unused @casts can be discarded,
but the operand should still be evaluated.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
2009-02-18 David Smith <dsmith@redhat.com>
* io.c (_stp_log): Removed unused function.
* map.c (_stp_cmp): Replace _stp_log() with dbug().
* mempool.c (_stp_mempool_resize): Removed unused function.
* print.c (next_fmt): Removed unused function.
* procfs.c: Removed unused variable '_stp_num_procfs_files'.
* regs.c (_stp_ret_addr): Removed unused function.
* string.c (_stp_text_str): Removed unused variable 'len'.
* string.h: Removed unused variable '_stdout_' and function
declaration for deleted function '_stp_vsprintf'.
* sym.c: Removed unused variables.
* unwind.c (_stp_create_unwind_hdr): Removed unused function.
2009-02-18 David Smith <dsmith@redhat.com>
* control.c: Removed unused variable '_stp_current_buffers'.
* procfs.c (_stp_set_buffers): Removed unused function.
(_stp_register_ctl_channel_fs): Removed unused variables and
label.
* symbols.c (u32_swap): Removed unused function.
(generic_swap): Ditto.
(_stp_sort): Ditto.
(_stp_section_is_interesting): Ditto.
* transport.c (_stp_transport_init): Removed unused variable
'ret'.
|
| |
| |
| |
| | |
debuginfo-install for kernel info pkgs
|