summaryrefslogtreecommitdiff
path: root/src/tools/wasm-link-metadata.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/wasm-link-metadata.cpp')
-rw-r--r--src/tools/wasm-link-metadata.cpp12
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;