diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/tools/wasm-emscripten-finalize.cpp | 13 | ||||
-rw-r--r-- | src/wasm-emscripten.h | 1 | ||||
-rw-r--r-- | src/wasm/wasm-emscripten.cpp | 9 |
3 files changed, 4 insertions, 19 deletions
diff --git a/src/tools/wasm-emscripten-finalize.cpp b/src/tools/wasm-emscripten-finalize.cpp index 90183ab48..fd3d21df9 100644 --- a/src/tools/wasm-emscripten-finalize.cpp +++ b/src/tools/wasm-emscripten-finalize.cpp @@ -49,7 +49,6 @@ int main(int argc, const char* argv[]) { bool isSideModule = false; bool legalizeJavaScriptFFI = true; uint64_t globalBase = INVALID_BASE; - uint64_t initialStackPointer = INVALID_BASE; ToolOptions options("wasm-emscripten-finalize", "Performs Emscripten-specific transforms on .wasm files"); options @@ -78,13 +77,13 @@ int main(int argc, const char* argv[]) { [&globalBase](Options*, const std::string& argument) { globalBase = std::stoull(argument); }) + // TODO(sbc): Remove this one this argument is no longer passed by + // emscripten. See https://github.com/emscripten-core/emscripten/issues/8905 .add("--initial-stack-pointer", "", - "The initial location of the stack pointer", + "ignored - will be removed in a future release", Options::Arguments::One, - [&initialStackPointer](Options*, const std::string& argument) { - initialStackPointer = std::stoull(argument); - }) + [](Options*, const std::string& argument) {}) .add("--side-module", "", "Input is an emscripten side module", @@ -169,9 +168,6 @@ int main(int argc, const char* argv[]) { if (globalBase == INVALID_BASE) { Fatal() << "globalBase must be set"; } - if (initialStackPointer == INVALID_BASE) { - Fatal() << "initialStackPointer must be set"; - } Export* dataEndExport = wasm.getExport("__data_end"); if (dataEndExport == nullptr) { Fatal() << "__data_end export not found"; @@ -210,7 +206,6 @@ int main(int argc, const char* argv[]) { } else { generator.generateRuntimeFunctions(); generator.generateMemoryGrowthFunction(); - generator.generateStackInitialization(initialStackPointer); // For side modules these gets called via __post_instantiate if (Function* F = generator.generateAssignGOTEntriesFunction()) { auto* ex = new Export(); diff --git a/src/wasm-emscripten.h b/src/wasm-emscripten.h index b5673fbd3..1f9b22926 100644 --- a/src/wasm-emscripten.h +++ b/src/wasm-emscripten.h @@ -34,7 +34,6 @@ public: void generateRuntimeFunctions(); Function* generateMemoryGrowthFunction(); Function* generateAssignGOTEntriesFunction(); - void generateStackInitialization(Address addr); void generatePostInstantiateFunction(); // Create thunks for use with emscripten Runtime.dynCall. Creates one for each diff --git a/src/wasm/wasm-emscripten.cpp b/src/wasm/wasm-emscripten.cpp index 383902971..00a3eb6b7 100644 --- a/src/wasm/wasm-emscripten.cpp +++ b/src/wasm/wasm-emscripten.cpp @@ -311,15 +311,6 @@ Function* EmscriptenGlueGenerator::generateMemoryGrowthFunction() { return growFunction; } -void EmscriptenGlueGenerator::generateStackInitialization(Address addr) { - auto* stackPointer = getStackPointerGlobal(); - assert(!stackPointer->imported()); - if (!stackPointer->init || !stackPointer->init->is<Const>()) { - Fatal() << "stack pointer global is not assignable"; - } - stackPointer->init->cast<Const>()->value = Literal(int32_t(addr)); -} - inline void exportFunction(Module& wasm, Name name, bool must_export) { if (!wasm.getFunctionOrNull(name)) { assert(!must_export); |