summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSam Clegg <sbc@chromium.org>2021-01-11 10:09:32 -0800
committerGitHub <noreply@github.com>2021-01-11 10:09:32 -0800
commitd512d48196abbc997f1d2e30407accc66e375d19 (patch)
tree5cebde12b9534de1c9b8b3ed3b59b52fa3cd97c3 /src
parented2095427e6b6962730fa323eba5f9cff51bdac7 (diff)
downloadbinaryen-d512d48196abbc997f1d2e30407accc66e375d19.tar.gz
binaryen-d512d48196abbc997f1d2e30407accc66e375d19.tar.bz2
binaryen-d512d48196abbc997f1d2e30407accc66e375d19.zip
finalize: remove initializers from metadata output (#3479)
See https://github.com/emscripten-core/emscripten/pull/13208
Diffstat (limited to 'src')
-rw-r--r--src/tools/wasm-emscripten-finalize.cpp14
-rw-r--r--src/wasm-emscripten.h2
-rw-r--r--src/wasm/wasm-emscripten.cpp9
3 files changed, 3 insertions, 22 deletions
diff --git a/src/tools/wasm-emscripten-finalize.cpp b/src/tools/wasm-emscripten-finalize.cpp
index 71f3cf443..fc55a8d83 100644
--- a/src/tools/wasm-emscripten-finalize.cpp
+++ b/src/tools/wasm-emscripten-finalize.cpp
@@ -230,8 +230,6 @@ int main(int argc, const char* argv[]) {
generator.onlyI64DynCalls = onlyI64DynCalls;
generator.noDynCalls = noDynCalls;
- Name initializerFunction;
-
if (!standaloneWasm) {
// This is also not needed in standalone mode since standalone mode uses
// crt1.c to invoke the main and is aware of __main_argc_argv mangling.
@@ -286,21 +284,11 @@ int main(int argc, const char* argv[]) {
if (auto* e = wasm.getExportOrNull(WASM_CALL_CTORS)) {
e->name = "__post_instantiate";
}
- } else {
- BYN_TRACE("finalizing as regular module\n");
- // Costructors get called from crt1 in wasm standalone mode.
- // Unless there is no entry point.
- if (!standaloneWasm || !wasm.getExportOrNull("_start")) {
- if (auto* e = wasm.getExportOrNull(WASM_CALL_CTORS)) {
- initializerFunction = e->name;
- }
- }
}
BYN_TRACE("generated metadata\n");
// Substantial changes to the wasm are done, enough to create the metadata.
- std::string metadata =
- generator.generateEmscriptenMetadata(initializerFunction);
+ std::string metadata = generator.generateEmscriptenMetadata();
// Finally, separate out data segments if relevant (they may have been needed
// for metadata).
diff --git a/src/wasm-emscripten.h b/src/wasm-emscripten.h
index 31038aaa9..3c9cb07c5 100644
--- a/src/wasm-emscripten.h
+++ b/src/wasm-emscripten.h
@@ -33,7 +33,7 @@ public:
: wasm(wasm), builder(wasm), stackPointerOffset(stackPointerOffset),
useStackPointerGlobal(stackPointerOffset == 0) {}
- std::string generateEmscriptenMetadata(Name initializer);
+ std::string generateEmscriptenMetadata();
void fixInvokeFunctionNames();
diff --git a/src/wasm/wasm-emscripten.cpp b/src/wasm/wasm-emscripten.cpp
index 69e0618b1..2e3a5cf23 100644
--- a/src/wasm/wasm-emscripten.cpp
+++ b/src/wasm/wasm-emscripten.cpp
@@ -434,8 +434,7 @@ void printSignatures(std::ostream& o, const std::set<Signature>& c) {
o << "]";
}
-std::string
-EmscriptenGlueGenerator::generateEmscriptenMetadata(Name initializer) {
+std::string EmscriptenGlueGenerator::generateEmscriptenMetadata() {
bool commaFirst;
auto nextElement = [&commaFirst]() {
if (commaFirst) {
@@ -482,12 +481,6 @@ EmscriptenGlueGenerator::generateEmscriptenMetadata(Name initializer) {
meta << " \"tableSize\": " << wasm.table.initial.addr << ",\n";
- if (initializer.is()) {
- meta << " \"initializers\": [";
- meta << "\n \"" << initializer.c_str() << "\"";
- meta << "\n ],\n";
- }
-
// Avoid adding duplicate imports to `declares' or `invokeFuncs`. Even
// though we might import the same function multiple times (i.e. with
// different sigs) we only need to list is in the metadata once.