diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/passes/Strip.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/passes/Strip.cpp b/src/passes/Strip.cpp index 8ab712cb1..edc171ab3 100644 --- a/src/passes/Strip.cpp +++ b/src/passes/Strip.cpp @@ -47,11 +47,15 @@ struct Strip : public Pass { ), sections.end() ); - // Clean up internal data structures. - module->clearDebugInfo(); - for (auto& func : module->functions) { - func->clearNames(); - func->clearDebugInfo(); + // If we're cleaning up debug info, clear on the function and module too. + UserSection temp; + temp.name = BinaryConsts::UserSections::Name; + if (decider(temp)) { + module->clearDebugInfo(); + for (auto& func : module->functions) { + func->clearNames(); + func->clearDebugInfo(); + } } } }; |