diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/tools/wasm-emscripten-finalize.cpp | 5 | ||||
-rw-r--r-- | src/wasm-emscripten.h | 2 | ||||
-rw-r--r-- | src/wasm/wasm-emscripten.cpp | 25 |
3 files changed, 1 insertions, 31 deletions
diff --git a/src/tools/wasm-emscripten-finalize.cpp b/src/tools/wasm-emscripten-finalize.cpp index f2bc25361..6e0831a08 100644 --- a/src/tools/wasm-emscripten-finalize.cpp +++ b/src/tools/wasm-emscripten-finalize.cpp @@ -277,10 +277,7 @@ int main(int argc, const char* argv[]) { } } - if (standaloneWasm) { - // Export a standard wasi "_start" method. - generator.exportWasiStart(); - } else { + if (!standaloneWasm) { // If not standalone wasm then JS is relevant and we need dynCalls. generator.generateDynCallThunks(); // This is also not needed in standalone mode since standalone mode uses diff --git a/src/wasm-emscripten.h b/src/wasm-emscripten.h index b541e60b4..ed02b6409 100644 --- a/src/wasm-emscripten.h +++ b/src/wasm-emscripten.h @@ -62,8 +62,6 @@ public: // as expected by emscripten. void renameMainArgcArgv(); - void exportWasiStart(); - // Emits the data segments to a file. The file contains data from address base // onwards (we must pass in base, as we can't tell it from the wasm - the // first segment may start after a run of zeros, but we need those zeros in diff --git a/src/wasm/wasm-emscripten.cpp b/src/wasm/wasm-emscripten.cpp index c0b4f6437..0a9f6108b 100644 --- a/src/wasm/wasm-emscripten.cpp +++ b/src/wasm/wasm-emscripten.cpp @@ -1059,29 +1059,4 @@ void EmscriptenGlueGenerator::renameMainArgcArgv() { ModuleUtils::renameFunction(wasm, "__main_argc_argv", "main"); } -void EmscriptenGlueGenerator::exportWasiStart() { - // If main exists, export a function to call it per the wasi standard. - Name main = "main"; - if (!wasm.getFunctionOrNull(main)) { - BYN_TRACE("exportWasiStart: main not found\n"); - return; - } - Name _start = "_start"; - if (wasm.getExportOrNull(_start)) { - BYN_TRACE("exportWasiStart: _start already present\n"); - return; - } - BYN_TRACE("exportWasiStart\n"); - Builder builder(wasm); - auto* body = - builder.makeDrop(builder.makeCall(main, - {LiteralUtils::makeZero(Type::i32, wasm), - LiteralUtils::makeZero(Type::i32, wasm)}, - Type::i32)); - auto* func = - builder.makeFunction(_start, Signature(Type::none, Type::none), {}, body); - wasm.addFunction(func); - wasm.addExport(builder.makeExport(_start, _start, ExternalKind::Function)); -} - } // namespace wasm |