diff options
author | Josh Stone <jistone@redhat.com> | 2009-04-20 17:53:35 -0700 |
---|---|---|
committer | Josh Stone <jistone@redhat.com> | 2009-04-20 17:53:35 -0700 |
commit | 7a2ee7a2098a82f90057c70651b98f14337b3a8a (patch) | |
tree | 7c4883e3847d67d3758aac3ef548f9c9e80c1657 /tapsets.cxx | |
parent | b68b2088c1b6e4c0eb4f18c161d3273fed33a385 (diff) | |
download | systemtap-steved-7a2ee7a2098a82f90057c70651b98f14337b3a8a.tar.gz systemtap-steved-7a2ee7a2098a82f90057c70651b98f14337b3a8a.tar.xz systemtap-steved-7a2ee7a2098a82f90057c70651b98f14337b3a8a.zip |
Suppress more module-loading errors in @casts
Commit 462c90c3 did this for user modules, but it's needed for kernel
modules too.
Diffstat (limited to 'tapsets.cxx')
-rw-r--r-- | tapsets.cxx | 17 |
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 { |