| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* tapset/networking.stp: Made 'netdev.change_rx_flag' and
'netdev.get_stats' optional, since those functions don't exist on
RHEL5.
* testsuite/buildok/netdev.stp: Ditto.
|
| | |
| | |
| | |
| | |
| | |
| | | |
* testsuite/systemtap.pass1-4/buildok.exp: On rhel5 and rawhide, the
buildok/sched_test.stp and buildok/process_test.stp tests pass
sucessfully, so there is no reason to kfail them.
|
| |/
| |
| |
| |
| |
| |
| | |
* tapset/nfs_proc.stp: Made 'nfs.proc.read', 'nfs.proc.write', and
'nfs.proc.commit' optional for newer kernels without those functions.
* testsuite/systemtap.pass1-4/buildok.exp: Expect nfs-all-probes.stp to
pass.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Check that we can dereference a type declaration that is
defined in a separate CU from the function.
|
| | |
|
| |
| |
| |
| |
| | |
* configure.ac (PROCFLAGS): Don't define it.
* Makefile.am: Don't use it.
|
| | |
|
| |
| |
| |
| |
| | |
* testsuite/systemtap.pass1-4/buildok.exp: Test twentyseven.stp should
pass now.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* dwflpp.h (declaration_resolve_other_cus): New method.
(iterate_over_globals): Mark as static and takes a CU to iterate over.
(global_alias_caching_callback_cus): New method.
* dwflpp.cxx (global_alias_caching_callback_cus): New method.
(declaration_resolve_other_cus): New method.
(declaration_resolve): Call iterate_over_globals() with current cu.
Call declaration_resolve_other_cus() when name not found.
(iterate_over_globals): Takes cu_die to iterate over as argument.
|
| |
| |
| |
| |
| | |
* tapset/aux_syscalls.stp: Only define entries for IRQF_* flags if they
exist.
|
| |
| |
| |
| |
| | |
* tapset/aux_syscalls.stp: Only define entries for
IRQF_NOBALANCING/IRQF_IRQPOLL if they exist.
|
| |
| |
| |
| |
| |
| |
| |
| | |
If there is a DW_AT_MIPS_linkage_name it encodes the actual name of
the variable as used in the symbol table.
* dwflpp.cpp (vardie_from_symtable): Check whether there is a
DW_AT_MIPS_linkage_name attribute and use its value if so.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Caching of the address is only safe for kernel addresses that can never
change. For kernel module or dynamic shared library addresses it isn't
safe to cache the address since they can be unloaded, reloaded or mapped
differently in separate executables.
* dwflpp.cxx (emit_address): Remove static from addr definition for
kernel and dynamic modules.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We are abusing the "first" section address here to indicate where the
module (actually first segment) is loaded (which is why we are ignoring
the offset). It would be good to redesign the stp_module/stp_section
data structures to better align with the actual memory mappings we are
interested in (especially the "section" naming is slightly confusing
since what we really seem to mean are elf segments (which can contain
multiple elf sections).
* runtime/sym.c (_stp_tf_mmap_cb): Add cheat comment.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* tapset/nfs.stp(nfs.fop.fsync): Added support for nfs_file_fsync.
(nfs.fop.fsync.return): Ditto.
(nfs.aop.readpages.return): Fixed 'size' bug.
(nfs.aop.write_begin): Renamed to make 'nfs.*.*' probes work correctly.
(nfs.aop.write_end): Ditto.
(__nfs.aop.write_begin): Ditto.
(__nfs.aop.write_end): Ditto.
(__nfs.aop.prepare_write): Ditto.
(__nfs.aop.commit_write): Ditto.
(nfs.fop.aio_read.return): Always sets 'units'.
(nfs.fop.aio_write.return): Ditto.
(nfs.fop.sendfile.return): Ditto.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Explicit testcase for PR10010 and PR10622.
* testsuite/systemtap.base/externalvar.c: New file.
* testsuite/systemtap.base/externalvar.exp: New file.
* testsuite/systemtap.base/externalvar.stp: New file.
* testsuite/systemtap.base/externalvar_lib.c: New file.
|
| |
| |
| |
| |
| |
| |
| |
| | |
* dwflpp.cxx (dwflpp::emit_address): Enable task finder and emit a
_stp_module_relocate for the ".dynamic" section when seeing a
user-space dso address.
* runtime/sym.c (_stp_mod_sec_lookup): Remove .dynamic section addr cheat.
(_stp_tf_mmap_cb): Add cheat here.
|
| |
| |
| |
| |
| |
| |
| | |
* runtime/sym.h: Define _stp_need_vma_tracker.
* translate.cxx (emit_symbol_data_done): Output _stp_need_vma_tracker value.
(c_unparser::emit_module_init): If STP_NEED_VMA_TRACKER isn't defined
check _stp_need_vma_tracker to call _stp_sym_init().
|
| |
| |
| |
| |
| | |
* tapset/nfs.stp: Added support for nfs_write_begin()/nfs_write_end(),
which replaced nfs_prepare_write()/nfs_commit_write().
|
| |
| |
| |
| |
| | |
* tapset/ansi.stp: Add documentation for every function.
* doc/SystemTap_Tapset_Reference/tapsets.tmpl: Add chapter on ansi.
|
| |
| |
| |
| |
| |
| |
| |
| | |
* dwflpp.h (vardie_from_symtable): New method.
* dwflpp.cxx (vardie_from_symtable): New method.
(literal_stmt_for_local): Use vardie_from_symtable when no location
attribute and DW_AT_external.
* testsuite/buildok/xtime.stp: New testcase from PR10622.
|
| |
| |
| |
| |
| |
| |
| | |
IRQF_ONESHOT was only introduced in 2.6.32. It doesn't hurt defining it
if it isn't already there. It will just never show up on older kernels.
* tapset/aux_syscalls.stp: Define IRQF_ONESHOT if not already defined.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
* doc/SystemTap_Tapset_Reference/tapsets.tmpl: Add chapter on ctime.stp.
* tapset/ctime.stp: Turn documentation into proper reference markup.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When using relative (non-canonical) paths for user modules one would get
a confusing WARNING: missing unwind/symbol data for module 'bin/test'.
Also unless the path started with '/' the task_finder wouldn't start.
By checking that the given file can be made absolute (canonicalized)
both issues are resolved and the user module will be correctly identified
at both translation and runtime.
* main.cxx (main): case 'd' try canonicalize_file_name() the argument
first to identify user modules.
|
| | |
|
| |
| |
| |
| |
| | |
Ensure uprobes install directory has group 'stap-server'.
Rename igid_in to in_group.
|
| | |
|
| |
| |
| |
| | |
individually.
|
| | |
|
| | |
|
| |
| |
| |
| | |
stap-start-server.
|
| | |
|
| | |
|
|/
|
|
| |
stap-server group.
|
|\ |
|
| |
| |
| |
| |
| | |
* doc/SystemTap_Tapset_Reference/tapsets.tmpl: Add conversions.stp chapter.
* tapset/conversions.stp: Add documentation for all functions.
|
| |
| |
| |
| |
| | |
* tapset/ucontext-symbols.stp (usymname): Add assert_is_myproc() and mark
as unprivileged, just like usymdata().
|
|/
|
|
| |
Delete ownership & permissions tests from modsign.cxx and stap-serverd.
|
|
|
|
| |
database.
|
|
|
|
| |
* loc2c.c (translate): Reset stack state tracking after finishing each piece.
|
|
|
|
|
| |
* configure.ac (xmlto --stringparam check): Add >&/dev/null.
* doc/*/Makefile.am (xmlto runs): Ditto.
|
|
|
|
|
| |
It references the file include/linux/if_ether.h as the one that contains
the protocol numbers and types.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since 2.6.25, kretprobes can carry a data packet to be filled in an
entry_handler. This patch lets us store our implicitly-saved $target
variables in .return probes in that data area.
* tapset/kretprobe.stp: New get/set functions for kretprobe data.
* translate.cxx (c_unparser::emit_common_header): Add context->pi_longs.
* tapsets.cxx
(dwarf_var_expanding_visitor::visit_target_symbol_saved_return): Switch
between the old and new methods of saving $vars in .return probes.
(dwarf_var_expanding_visitor::gen_mapped_saved_return): The old way.
(dwarf_var_expanding_visitor::gen_kretprobe_saved_return): The new way.
(dwarf_derived_probe::join_group): Don't register paired entry-handlers.
(dwarf_derived_probe::dwarf_derived_probe): Remember saved-var details.
(dwarf_derived_probe_group::emit_module_decls): Output saved-var details.
Also split the kretprobe handler whether we're on entry or return.
(dwarf_derived_probe_group::emit_module_init): Prepare the entry handler.
* testsuite/systemtap.base/kretprobe-vars.stp: Test implicit $var saving.
|
|\ |
|
| | |
|