summaryrefslogtreecommitdiffstats
path: root/doc/langref.tex
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@elastic.org>2009-09-15 17:04:00 -0400
committerFrank Ch. Eigler <fche@elastic.org>2009-09-15 17:04:00 -0400
commit2260f4e32eb4c0b4cc95e4bef8ccdc5dc66261af (patch)
treecc6a7564274025a20faff432146684d2a1f9764f /doc/langref.tex
parent9084f0736c3c53e4210409fb000530fc12c03825 (diff)
downloadsystemtap-steved-2260f4e32eb4c0b4cc95e4bef8ccdc5dc66261af.tar.gz
systemtap-steved-2260f4e32eb4c0b4cc95e4bef8ccdc5dc66261af.tar.xz
systemtap-steved-2260f4e32eb4c0b4cc95e4bef8ccdc5dc66261af.zip
PR10642: fix wildcard-driven quadratic explosion of .return $$parms probes
For $variables listed in .return probes, a synthetic probe is being created, for saving the named variable values at function entry. However, the probe point for this synthetic probe was copied naively, so that several problems could occur: - if the original probe point contained wildcards, then each synthetic one also did, and was therefore multiply derived later - if the probe point referred to a multiply instantiated function, the synthetic one was not directly identified with it (at the dwarf_addr level) Now the synthetic probe is created more carefully, bypassing any further derivation/expansion processing steps. * tapsets.cxx (dwarf_var_expanding_visitor): Change add_probe to add_call_probe field. (visit_target_symbol_saved_return): Store only the body of the synthetic probe. (dwarf_derived_probe ctor): Create intimately related dwarf_derived_probe for synthetic probe. (uprobe_derived_probe ctor): Ditto.
Diffstat (limited to 'doc/langref.tex')
0 files changed, 0 insertions, 0 deletions