From 35dc8b0471eb566a2e15a1ed24e9ad26362cf6b1 Mon Sep 17 00:00:00 2001 From: "Frank Ch. Eigler" Date: Thu, 11 Sep 2008 16:16:25 -0400 Subject: PR6871: sadly, reenable prologue searching for user-space function probes --- ChangeLog | 7 +++++++ tapsets.cxx | 9 ++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2329f1c0..ce4b3844 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-09-11 Frank Ch. Eigler + + PR 6871. + * tapsets.cxx (query_cu): Search for prologues for user-space probes. + (query_func_info): Use prologue_end if available; silently back down + to entrypc probing if needed. + 2008-09-10 Josh Stone * main.cxx (printscript): Ensure no variables are printed in probe lists diff --git a/tapsets.cxx b/tapsets.cxx index 308cef1f..4d47dca1 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -3458,13 +3458,8 @@ query_func_info (Dwarf_Addr entrypc, } else { - if (q->sess.prologue_searching - && !q->has_statement_str && !q->has_statement_num - && !q->sess.ignore_vmlinux && !q->sess.ignore_dwarf) // PR 2608 + if (fi.prologue_end != 0) { - if (fi.prologue_end == 0) - throw semantic_error("could not find prologue-end " - "for probed function '" + fi.name + "'"); query_statement (fi.name, fi.decl_file, fi.decl_line, &fi.die, fi.prologue_end, q); } @@ -3718,7 +3713,7 @@ query_cu (Dwarf_Die * cudie, void * arg) if (rc != DWARF_CB_OK) q->query_done = true; - if (q->sess.prologue_searching + if ((q->sess.prologue_searching || q->has_process) // PR 6871 && !q->has_statement_str && !q->has_statement_num) // PR 2608 if (! q->filtered_functions.empty()) q->dw.resolve_prologue_endings (q->filtered_functions); -- cgit