summaryrefslogtreecommitdiffstats
path: root/tapsets.cxx
diff options
context:
space:
mode:
authorWenji Huang <wenji.huang@oracle.com>2008-05-22 07:40:24 -0400
committerFrank Ch. Eigler <fche@elastic.org>2008-05-22 07:42:48 -0400
commitcf314c0fcb625876d8440291af6a21b86abf66f4 (patch)
treed8d4625d0060c04adfb311b30405d75dbd5c1662 /tapsets.cxx
parentdbb280c79ba5b82f125153f067cbe6fa24aaae0c (diff)
downloadsystemtap-steved-cf314c0fcb625876d8440291af6a21b86abf66f4.tar.gz
systemtap-steved-cf314c0fcb625876d8440291af6a21b86abf66f4.tar.xz
systemtap-steved-cf314c0fcb625876d8440291af6a21b86abf66f4.zip
PR5643: fix .statement(NUM) regression
Diffstat (limited to 'tapsets.cxx')
-rw-r--r--tapsets.cxx9
1 files changed, 9 insertions, 0 deletions
diff --git a/tapsets.cxx b/tapsets.cxx
index f3f9b590..96999d26 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -2527,6 +2527,15 @@ dwflpp::iterate_over_functions (int (* callback)(Dwarf_Die * func, void * arg),
}
}
}
+ else if (q->has_statement_num) // searching all for kernel.statement
+ {
+ for (cu_function_cache_t::iterator it = v->begin(); it != v->end(); it++)
+ {
+ Dwarf_Die die = it->second;
+ rc = (*callback)(& die, data);
+ if (rc != DWARF_CB_OK) break;
+ }
+ }
else // not a wildcard and no match in this CU
{
// do nothing