diff options
author | James Bottomley <James dot Bottomley at HansenPartnership dot com> | 2008-07-09 16:58:31 -0500 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2008-07-23 17:39:17 -0400 |
commit | 552fdd9f5a7eb3394888356301929c078173a22b (patch) | |
tree | b3b44852fd37cadca405370291330ea522fb94c6 | |
parent | c1b970dec5bdc9a421e9e33dbfefce19edf52962 (diff) | |
download | systemtap-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.cxx | 4 |
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) { |