summaryrefslogtreecommitdiffstats
path: root/tapsets.cxx
Commit message (Collapse)AuthorAgeFilesLines
...
| | * Enable dwarf expansion of @castsJosh Stone2009-02-181-35/+329
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * Provide dwarf module names as defaults in @cast()sJosh Stone2009-02-181-0/+12
| | | | | | | | | | | | | | | | | | * 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.
| * | Handle c++ static user probes via .probe, c via .label.Stan Cox2009-02-151-92/+57
| | |
| * | Moved inclusion of runtime/procfs.c to a better place.David Smith2009-02-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-02-12 David Smith <dsmith@redhat.com> * tapsets.cxx (procfs_derived_probe_group::emit_module_decls): Moved inclusion of procfs.c here from runtime/transport.c 2009-02-12 David Smith <dsmith@redhat.com> * transport.c: Moved inclusion of procfs.c to procfs_derived_probe_group::emit_module_decls() in tapsets.cxx.
| * | Extend blacklist to cover bitops.h. While there, fixup paths for existing ↵Ananth N Mavinakayanahalli2009-02-121-0/+5
| |/ | | | | | | blacklisted files
| * Merge branch 'update_visitor'Josh Stone2009-02-101-70/+68
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This brings a new update_visitor that makes it easier to traverse the parse tree and modify parts of it as necessary. I wrote this as part of my in-progress work to allow @cast() expansion, but I was able to apply it to the dwarf/etc. target variable expanders and to the optimization stages. I think the resulting code is more predictable and easier to follow... Conflicts: ChangeLog (bumped my commit dates to push dates...)
| | * Expand probe variables without a deep copyJosh Stone2009-02-101-50/+46
| | | | | | | | | | | | | | | | | | | | | * tapsets.cxx (var_expanding_copy_visitor): This struct becomes var_expanding_visitor and inherits from update_visitor instead of deep_copy_visitor. Each of the probe-type variants of this are also no longer copiers.
| | * Simplify require() and provide()Josh Stone2009-02-101-25/+27
| | | | | | | | | | | | | | | | | | | | | * staptree.h (require, provide): Simplify stack operations with less pointer magic, and move to be deep_copy_visitor members. * staptree.h (deep_copy_visitor::deep_copy): Templatize * staptree.cxx, tapsets.cxx: Refactor require/provide callers
| * | fix segv that sometimes occurs on buildok/nfs-all-probes.stp on 2.6.29ish ↵Frank Ch. Eigler2009-02-101-1/+1
| |/ | | | | | | kernels
| * PR9810: Mostly revert "PR6961: initial sketch: set up dummy pt_regs for ↵Frank Ch. Eigler2009-02-031-26/+11
| | | | | | | | non-trap based probes"
| * Add .label("label")Stan Cox2009-02-011-0/+67
| |
| * Add Vim modelines for GNU style in stapJosh Stone2009-01-281-0/+2
| |
| * Use 'static' as much as possibleJosh Stone2009-01-281-17/+17
| | | | | | | | | | | | | | | | | | | | This change just inserts 'static' on runtime, tapset, and generated C functions and globals, so the compiler can do a better job of optimizing. My tests with small scripts show ~10% reduction in compile time and ~20% reduction in module size. Larger scripts may show less benefit, but I expect purely positive results.
| * Fix syscall.exp.Stan Cox2009-01-261-5/+8
| |
| * PR9768 fixFrank Ch. Eigler2009-01-231-11/+17
| |
* | Merge branch 'master' into pr6866.Mark Wielaard2009-01-231-37/+48
|\|
| * Add dtrace -h supportStan Cox2009-01-221-6/+17
| |
| * improve var=? explanation debugging via -vvvFrank Ch. Eigler2009-01-201-3/+12
| |
| * Fix compilation warning of too large number on 32-bits machines.Wenji Huang2009-01-111-2/+2
| |
| * Put a block around the probe point.Stan Cox2008-12-211-5/+4
| |
| * Convert .mark to .statement(0x) instead of .statement(foo.c:N)Stan Cox2008-12-161-27/+19
| |
* | Always include task_finder.c and enable emit_vm_callback_probe_decl.Mark Wielaard2008-12-151-6/+0
| |
* | PR6866: First pass at translating addresses to symbol names through vma.Mark Wielaard2008-12-101-2/+2
|/
* PR6961: initial sketch: set up dummy pt_regs for non-trap based probesFrank Ch. Eigler2008-12-091-11/+26
|
* RHBZ 474390 fix.David Smith2008-12-081-17/+31
| | | | | | | | | | | | 2008-12-08 David Smith <dsmith@redhat.com> RHBZ 474390 * tapsets.cxx (dwflpp::cu_function_caching_callback): Handles NULL return from dwarf_diename(). (dwflpp::print_locals): Ditto. (dwflpp::find_variable_and_frame_base): Ditto. (dwflpp::literal_stmt_for_return): Ditto. (dwarf_builder::build): Ditto.
* turn on elfutils-level debuginfo<->stripped-binary checksum matchingFrank Ch. Eigler2008-12-051-2/+2
| | | | | | This is necessary to detect mismatching debuginfo for user-space programs without build-id. We don't have run-time version assertions for user-space binaries.
* PR5892: rename new -B /PATH to -r /PATH; merge functionalityFrank Ch. Eigler2008-12-031-31/+32
|
* BZ 5892: Add stap -B to sic systemtap at an alternate kernel build treeRajan Arora2008-12-011-4/+12
|
* shared library probing: bump up MULTIPLE_UPROBES to 256Frank Ch. Eigler2008-11-291-1/+2
|
* Support debuginfo static uprobes.Stan Cox2008-11-261-92/+135
|
* PR7046: uprobes mutex optimizationFrank Ch. Eigler2008-11-251-49/+55
|
* struct stap_dwarf_probe field is called pp, not pp_name.Mark Wielaard2008-11-251-3/+3
|
* uprobes: fix & document use of MAXUPROBESFrank Ch. Eigler2008-11-221-6/+8
|
* PR5689 part 3/3: print kprobe/uprobe skipped statsFrank Ch. Eigler2008-11-221-4/+20
|
* PR5689 part 2: separate skip counters for low-stack and reentrancy casesFrank Ch. Eigler2008-11-211-11/+15
|
* Add static uprobe support (static library variant)Stan Cox2008-11-171-1/+103
|
* performance: switch from local_irq_save to preempt_disable for all probe typesFrank Ch. Eigler2008-11-141-2/+2
|
* Add scope name to semantic error messages if available when finding locals.Mark Wielaard2008-11-111-0/+6
|
* PR6998: Add default kernel symbols to profile.Wenji Huang2008-11-061-0/+1
|
* ET_EXEC needs no further relocation.Stan Cox2008-11-061-1/+1
|
* PR6028 / BZ468143: ia64 fetch-register speedupMasami Hiramatsu2008-11-041-4/+11
|
* Add function name and file to semantic error messages for $return.Mark Wielaard2008-11-031-2/+8
|
* PR6871: weaken prologue searching assertionsFrank Ch. Eigler2008-10-271-2/+8
|
* Simplify hrtimer get/set expires logic a bitJosh Stone2008-10-241-7/+8
|
* Fix hrtimer.expires name change.Josh Stone2008-10-241-3/+8
| | | | | | The field is renamed to _expires starting in 2.6.28-rc1, and it's not meant to be directly manipulated. Instead hrtimer users are supposed to use hrtimer_get_expires and hrtimer_set_expires.
* PR6946: Allow probing of 32-bit ppc apps with ppc64 kernels.Jim Keniston2008-10-241-1/+3
|
* PR6749: tolerate failed kprobe_*register with warningFrank Ch. Eigler2008-10-101-1/+10
|
* Display source context for error and warning messages (6701)Rajan Arora2008-10-091-1/+1
|
* Don't crash when reporting an error if getting alternatives fails.Mark Wielaard2008-09-301-2/+4
|
* PR6916: fix STRUCT1 ($var alternatives error message syntax) regressionFrank Ch. Eigler2008-09-261-2/+6
|