diff options
Diffstat (limited to 'src/tools/wasm-link-metadata.cpp')
-rw-r--r-- | src/tools/wasm-link-metadata.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/tools/wasm-link-metadata.cpp b/src/tools/wasm-link-metadata.cpp index 96e06f95b..3af00fbbf 100644 --- a/src/tools/wasm-link-metadata.cpp +++ b/src/tools/wasm-link-metadata.cpp @@ -67,6 +67,7 @@ void parseLinkingSection(std::vector<char> const& data, uint32_t &dataSize) { int main(int argc, const char *argv[]) { std::string infile; std::string outfile; + unsigned numReservedFunctionPointers = 0; Options options("wasm-link-metadata", "Reads wasm .o file and emits .json metadata"); options @@ -76,6 +77,14 @@ int main(int argc, const char *argv[]) { outfile = argument; Colors::disable(); }) + .add("--emscripten-reserved-function-pointers", "", + "Number of reserved function pointers for emscripten addFunction " + "support", + Options::Arguments::One, + [&numReservedFunctionPointers](Options *o, + const std::string &argument) { + numReservedFunctionPointers = std::stoi(argument); + }) .add_positional("INFILE", Options::Arguments::One, [&infile](Options *o, const std::string& argument) { infile = argument; @@ -110,7 +119,8 @@ int main(int argc, const char *argv[]) { initializerFunctions.push_back("__wasm_call_ctors"); EmscriptenGlueGenerator generator(wasm); - std::string metadata = generator.generateEmscriptenMetadata(dataSize, initializerFunctions); + std::string metadata = generator.generateEmscriptenMetadata( + dataSize, initializerFunctions, numReservedFunctionPointers); Output output(outfile, Flags::Text, Flags::Release); output << metadata; |