diff options
Diffstat (limited to 'src/tools/wasm-emscripten-finalize.cpp')
-rw-r--r-- | src/tools/wasm-emscripten-finalize.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/tools/wasm-emscripten-finalize.cpp b/src/tools/wasm-emscripten-finalize.cpp index cdba9a9d4..c0911a37d 100644 --- a/src/tools/wasm-emscripten-finalize.cpp +++ b/src/tools/wasm-emscripten-finalize.cpp @@ -51,6 +51,7 @@ int main(int argc, const char* argv[]) { bool debugInfo = false; bool DWARF = false; bool sideModule = false; + bool legacyPIC = true; bool legalizeJavaScriptFFI = true; bool bigInt = false; bool checkStackOverflow = false; @@ -109,6 +110,13 @@ int main(int argc, const char* argv[]) { [&sideModule](Options* o, const std::string& argument) { sideModule = true; }) + .add("--new-pic-abi", + "", + "Use new/llvm PIC abi", + Options::Arguments::Zero, + [&legacyPIC](Options* o, const std::string& argument) { + legacyPIC = false; + }) .add("--input-source-map", "-ism", "Consume source map from the specified file", @@ -284,9 +292,14 @@ int main(int argc, const char* argv[]) { if (sideModule) { passRunner.add("replace-stack-pointer"); - passRunner.add("emscripten-pic"); - } else { - passRunner.add("emscripten-pic-main-module"); + } + + if (legacyPIC) { + if (sideModule) { + passRunner.add("emscripten-pic"); + } else { + passRunner.add("emscripten-pic-main-module"); + } } if (!noDynCalls && !standaloneWasm) { |