summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/tools/wasm-emscripten-finalize.cpp13
-rw-r--r--src/wasm-emscripten.h1
-rw-r--r--src/wasm/wasm-emscripten.cpp9
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);