diff options
author | Sam Clegg <sbc@chromium.org> | 2019-04-04 15:45:57 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-04 15:45:57 -0700 |
commit | 2129cef6acbbe4acd5fd675fbb00c329e2220a40 (patch) | |
tree | a92d18f24b4281d07b7695e87193335db557c019 /src/tools/wasm-emscripten-finalize.cpp | |
parent | cac81ba0ec2e477f106632f0eb0e774a2e10d491 (diff) | |
download | binaryen-2129cef6acbbe4acd5fd675fbb00c329e2220a40.tar.gz binaryen-2129cef6acbbe4acd5fd675fbb00c329e2220a40.tar.bz2 binaryen-2129cef6acbbe4acd5fd675fbb00c329e2220a40.zip |
wasm-emscripten-finalize: add namedGlobals to output metadata (#1979)
This key is used by emscripten when building with MAIN_MODULE in order
to export global variables from the main module to the side modules.
Diffstat (limited to 'src/tools/wasm-emscripten-finalize.cpp')
-rw-r--r-- | src/tools/wasm-emscripten-finalize.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/tools/wasm-emscripten-finalize.cpp b/src/tools/wasm-emscripten-finalize.cpp index 180383a90..0ed0e0857 100644 --- a/src/tools/wasm-emscripten-finalize.cpp +++ b/src/tools/wasm-emscripten-finalize.cpp @@ -135,12 +135,6 @@ int main(int argc, const char *argv[]) { WasmPrinter::printModule(&wasm, std::cerr); } - for (const UserSection& section : wasm.userSections) { - if (section.name == BinaryConsts::UserSections::Dylink) { - isSideModule = true; - } - } - uint32_t dataSize = 0; if (!isSideModule) { @@ -187,6 +181,11 @@ int main(int argc, const char *argv[]) { generator.generateStackInitialization(initialStackPointer); // For side modules these gets called via __post_instantiate if (Function* F = generator.generateAssignGOTEntriesFunction()) { + auto* ex = new Export(); + ex->value = F->name; + ex->name = F->name; + ex->kind = ExternalKind::Function; + wasm.addExport(ex); initializerFunctions.push_back(F->name); } if (auto* e = wasm.getExportOrNull(WASM_CALL_CTORS)) { |