diff --git a/src/tools/wasm-emscripten-finalize.cpp b/src/tools/wasm-emscripten-finalize.cpp index a32a265cd43..9ade001ef93 100644 --- a/src/tools/wasm-emscripten-finalize.cpp +++ b/src/tools/wasm-emscripten-finalize.cpp @@ -310,6 +310,14 @@ int main(int argc, const char* argv[]) { passRunner.run(); } + // If DWARF is unused, strip it out. This avoids us keeping it alive + // until wasm-opt strips it later. + if (!DWARF) { + PassRunner passRunner(&wasm); + passRunner.add("strip-dwarf"); + passRunner.run(); + } + Output output(outfile, emitBinary ? Flags::Binary : Flags::Text); ModuleWriter writer; writer.setDebugInfo(debugInfo);