summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfche <fche>2005-09-28 03:20:10 +0000
committerfche <fche>2005-09-28 03:20:10 +0000
commitab55a5ae680bdc687e0b057a8b19596106c0885b (patch)
treec0390fe0f5cebcd116e10b805b278cd8eb9f7156
parent5b328efe93befa4d48774985bd0254560d9c8470 (diff)
downloadsystemtap-steved-ab55a5ae680bdc687e0b057a8b19596106c0885b.tar.gz
systemtap-steved-ab55a5ae680bdc687e0b057a8b19596106c0885b.tar.xz
systemtap-steved-ab55a5ae680bdc687e0b057a8b19596106c0885b.zip
2005-09-27 Frank Ch. Eigler <fche@elastic.org>
* tapsets.cxx (query_cu_containing_global_address): Tolerate way out of range addresses that result in null cudie pointers.
-rw-r--r--ChangeLog5
-rw-r--r--tapsets.cxx7
2 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 5ce0db21..8e8d1e7d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2005-09-27 Frank Ch. Eigler <fche@elastic.org>
+ * tapsets.cxx (query_cu_containing_global_address): Tolerate
+ way out of range addresses that result in null cudie pointers.
+
+2005-09-27 Frank Ch. Eigler <fche@elastic.org>
+
PR 1368.
* translate.cxx (emit_common_header): Move some MAX* definitions out ...
(translate_pass): ... to here. Fix probe_start API impedance mismatch.
diff --git a/tapsets.cxx b/tapsets.cxx
index 7eaf11f4..fae73e56 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -357,7 +357,9 @@ dwflpp
get_module_dwarf();
if (false && sess.verbose)
clog << "focusing on cu containing global addr " << a << endl;
- query_cu (dwfl_module_addrdie(module, a, &bias), arg);
+ Dwarf_Die* cudie = dwfl_module_addrdie(module, a, &bias);
+ if (cudie) // address could be wildly out of range
+ query_cu (cudie, arg);
assert(bias == module_bias);
}
@@ -2269,9 +2271,8 @@ dwarf_derived_probe::register_patterns(match_node * root)
// .process("foo")
register_function_and_statement_variants(root->bind(TOK_KERNEL), dw);
- // XXX: may need to disable these for 2005-08 release
register_function_and_statement_variants(root->bind_str(TOK_MODULE), dw);
- register_function_and_statement_variants(root->bind_str(TOK_PROCESS), dw);
+ // register_function_and_statement_variants(root->bind_str(TOK_PROCESS), dw);
}
static string