From 696ec1549fcd846f9736a9c96e25f6ba555cd3e4 Mon Sep 17 00:00:00 2001 From: Stan Cox Date: Thu, 6 Aug 2009 16:20:39 -0400 Subject: Fix a couple of sdt_query reorg problems. * tapsets.cxx (sdt_query::handle_query_module): For uprobe probes: 1) find all same named probes to handle multiple probes per module 2) use new_base for uprobe probes to handle $$name * sdt_misc.exp: Test $$name --- tapsets.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'tapsets.cxx') diff --git a/tapsets.cxx b/tapsets.cxx index c953dd78..f91d15d3 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -3390,7 +3390,8 @@ sdt_query::handle_query_module() while (get_next_probe()) { - if (!probes_handled.insert(probe_name).second) + if (probe_type != uprobe_type + && !probes_handled.insert(probe_name).second) continue; probe *new_base = new probe(*base_probe); @@ -3424,7 +3425,7 @@ sdt_query::handle_query_module() params[c->functor] = c->arg; } - dwarf_query q(base_probe, base_loc, dw, params, results); + dwarf_query q(new_base, new_location, dw, params, results); q.has_mark = true; // enables mid-statement probing dw.iterate_over_modules(&query_module, &q); } -- cgit