summaryrefslogtreecommitdiff
path: root/src/tools/wasm-emscripten-finalize.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/wasm-emscripten-finalize.cpp')
-rw-r--r--src/tools/wasm-emscripten-finalize.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/tools/wasm-emscripten-finalize.cpp b/src/tools/wasm-emscripten-finalize.cpp
index a92b0806b..f2bc25361 100644
--- a/src/tools/wasm-emscripten-finalize.cpp
+++ b/src/tools/wasm-emscripten-finalize.cpp
@@ -249,14 +249,18 @@ int main(int argc, const char* argv[]) {
BYN_TRACE("finalizing as side module\n");
PassRunner passRunner(&wasm);
passRunner.add("replace-stack-pointer");
+ passRunner.add("emscripten-pic");
passRunner.run();
generator.generatePostInstantiateFunction();
} else {
BYN_TRACE("finalizing as regular module\n");
+ PassRunner passRunner(&wasm);
+ passRunner.add("emscripten-pic-main-module");
+ passRunner.run();
generator.internalizeStackPointerGlobal();
generator.generateMemoryGrowthFunction();
// For side modules these gets called via __post_instantiate
- if (Function* F = generator.generateAssignGOTEntriesFunction()) {
+ if (Function* F = wasm.getFunctionOrNull(ASSIGN_GOT_ENTRIES)) {
auto* ex = new Export();
ex->value = F->name;
ex->name = F->name;