summaryrefslogtreecommitdiffstats
path: root/dwflpp.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'dwflpp.cxx')
-rw-r--r--dwflpp.cxx17
1 files changed, 17 insertions, 0 deletions
diff --git a/dwflpp.cxx b/dwflpp.cxx
index 9dcfd002..3c6a106d 100644
--- a/dwflpp.cxx
+++ b/dwflpp.cxx
@@ -93,6 +93,23 @@ dwflpp::dwflpp(systemtap_session & session, const vector<string>& names):
dwflpp::~dwflpp()
{
free(cached_scopes);
+
+ for (module_cu_cache_t::iterator it = module_cu_cache.begin();
+ it != module_cu_cache.end(); ++it)
+ delete it->second;
+
+ for (mod_cu_function_cache_t::iterator it = cu_function_cache.begin();
+ it != cu_function_cache.end(); ++it)
+ delete it->second;
+
+ for (cu_inl_function_cache_t::iterator it = cu_inl_function_cache.begin();
+ it != cu_inl_function_cache.end(); ++it)
+ delete it->second;
+
+ for (mod_cu_function_cache_t::iterator it = global_alias_cache.begin();
+ it != global_alias_cache.end(); ++it)
+ delete it->second;
+
if (dwfl)
dwfl_end(dwfl);
}