diff options
Diffstat (limited to 'src/wasm/wasm-binary.cpp')
-rw-r--r-- | src/wasm/wasm-binary.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index ddb0ece90..97dad88bb 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -60,7 +60,7 @@ void WasmBinaryWriter::write() { writeDataCount(); writeFunctions(); writeDataSegments(); - if (debugInfo) { + if (debugInfo || emitModuleName) { writeNames(); } if (sourceMap && !sourceMapUrl.empty()) { @@ -661,13 +661,19 @@ void WasmBinaryWriter::writeNames() { writeInlineString(BinaryConsts::UserSections::Name); // module name - if (wasm->name.is()) { + if (emitModuleName && wasm->name.is()) { auto substart = startSubsection(BinaryConsts::UserSections::Subsection::NameModule); writeEscapedName(wasm->name.str); finishSubsection(substart); } + if (!debugInfo) { + // We were only writing the module name. + finishSection(start); + return; + } + // function names { auto substart = |