summaryrefslogtreecommitdiff
path: root/src/tools/s2wasm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/s2wasm.cpp')
-rw-r--r--src/tools/s2wasm.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/tools/s2wasm.cpp b/src/tools/s2wasm.cpp
index d4e7731c5..a2c4e4a38 100644
--- a/src/tools/s2wasm.cpp
+++ b/src/tools/s2wasm.cpp
@@ -41,6 +41,7 @@ int main(int argc, const char *argv[]) {
std::string startFunction;
std::vector<std::string> archiveLibraries;
TrapMode trapMode = TrapMode::Allow;
+ unsigned numReservedFunctionPointers = 0;
Options options("s2wasm", "Link .s file into .wast");
options.extra["validate"] = "wasm";
options
@@ -121,6 +122,14 @@ int main(int argc, const char *argv[]) {
}
o->extra["validate"] = argument;
})
+ .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,
[](Options *o, const std::string& argument) {
o->extra["infile"] = argument;
@@ -189,7 +198,8 @@ int main(int argc, const char *argv[]) {
allowMemoryGrowth,
linker.getStackPointerAddress(),
linker.getStaticBump(),
- linker.getOutput().getInitializerFunctions());
+ linker.getOutput().getInitializerFunctions(),
+ numReservedFunctionPointers);
}
if (options.extra["validate"] != "none") {