[PATCH] fix semantic error: no entrypc found using probe .statement(*@file:line) constructs
James Bottomley
James.Bottomley@HansenPartnership.com
Wed Jul 9 21:59:00 GMT 2008
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>
---
diff --git a/tapsets.cxx b/tapsets.cxx
index cdc14d6..1cd3b46 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -3560,8 +3560,8 @@ query_dwarf_func (Dwarf_Die * func, void * arg)
if (q->dw.function_entrypc (&entrypc))
q->filtered_functions[entrypc] = func;
else
- throw semantic_error("no entrypc found for function '"
- + q->dw.function_name + "'");
+ /* this function must be fully inlined, just ignore it */
+ return DWARF_CB_OK;
}
else if (q->has_statement_num)
{
More information about the Systemtap
mailing list