summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tapsets.cxx17
1 files changed, 14 insertions, 3 deletions
diff --git a/tapsets.cxx b/tapsets.cxx
index 5a62d47f..06c0742c 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -5190,10 +5190,21 @@ void dwarf_cast_expanding_visitor::visit_cast_op (cast_op* e)
// kernel or kernel module target
if (! db.kern_dw)
{
- db.kern_dw = new dwflpp(s);
- db.kern_dw->setup_kernel(true);
+ dw = new dwflpp(s);
+ try
+ {
+ dw->setup_kernel(true);
+ }
+ catch (const semantic_error& er)
+ {
+ /* ignore and go to the next module */
+ delete dw;
+ continue;
+ }
+ db.kern_dw = dw;
}
- dw = db.kern_dw;
+ else
+ dw = db.kern_dw;
}
else
{