summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Bottomley <James dot Bottomley at HansenPartnership dot com>2008-07-09 16:58:31 -0500
committerFrank Ch. Eigler <fche@elastic.org>2008-07-23 17:39:17 -0400
commit552fdd9f5a7eb3394888356301929c078173a22b (patch)
treeb3b44852fd37cadca405370291330ea522fb94c6
parentc1b970dec5bdc9a421e9e33dbfefce19edf52962 (diff)
downloadsystemtap-steved-552fdd9f5a7eb3394888356301929c078173a22b.tar.gz
systemtap-steved-552fdd9f5a7eb3394888356301929c078173a22b.tar.xz
systemtap-steved-552fdd9f5a7eb3394888356301929c078173a22b.zip
fix semantic error: no entrypc found using probe .statement(*@file:line) constructs
At the moment, you can't specify probe module("scsi_mod").statement(*@drivers/scsi/scsi_lib.c:1443) because the compiler will fail with the above semantic error on the function scsi_end_bidi_request. It seems looking through the dwarf that this function is fully inlined and thus has no entrypc to catalogue. The solution therefore seems to simply return DWARF_CB_OK when we find such functions and continue cataloguing all the ones that do actually have non-inline versions. Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
-rw-r--r--tapsets.cxx4
1 files changed, 2 insertions, 2 deletions
diff --git a/tapsets.cxx b/tapsets.cxx
index 8c2bafb1..5a3fbdc8 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -3578,8 +3578,8 @@ query_dwarf_func (Dwarf_Die * func, void * arg)
q->filtered_functions.push_back (func);
}
else
- throw semantic_error("no entrypc found for function '"
- + q->dw.function_name + "'");
+ /* this function just be fully inlined, just ignore it */
+ return DWARF_CB_OK;
}
else if (q->has_statement_num)
{