mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-02-06 06:55:07 +00:00
Add "--xip" option for wamrc (#2336)
Add shorthand "--xip" option for wamrc, which is equal to "--enalbe-indirect-mode --disable-llvm-intrinsics"
This commit is contained in:
parent
6ed4c9c908
commit
df98d9fb4a
|
@ -7,8 +7,12 @@ Some IoT devices may require to run the AOT file from flash or ROM which is read
|
||||||
The XIP file is an AOT file without (or with few) relocations to patch the AOT code (or text section). Developer can use the option `--enable-indirect-mode --disable-llvm-intrinsics` for wamrc to generate the AOT file, e.g.:
|
The XIP file is an AOT file without (or with few) relocations to patch the AOT code (or text section). Developer can use the option `--enable-indirect-mode --disable-llvm-intrinsics` for wamrc to generate the AOT file, e.g.:
|
||||||
```bash
|
```bash
|
||||||
wamrc --enable-indirect-mode --disable-llvm-intrinsics -o <aot_file> <wasm_file>
|
wamrc --enable-indirect-mode --disable-llvm-intrinsics -o <aot_file> <wasm_file>
|
||||||
|
or
|
||||||
|
wamrc --xip -o <aot_file> <wasm_file>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Note: --xip is a short option for --enable-indirect-mode --disable-llvm-intrinsics
|
||||||
|
|
||||||
## Known issues
|
## Known issues
|
||||||
|
|
||||||
There may be some relocations to the ".rodata" like sections which require to patch the AOT code. More work will be done to resolve it in the future.
|
There may be some relocations to the ".rodata" like sections which require to patch the AOT code. More work will be done to resolve it in the future.
|
||||||
|
|
|
@ -65,6 +65,7 @@ print_help()
|
||||||
printf(" --enable-dump-call-stack Enable stack trace feature\n");
|
printf(" --enable-dump-call-stack Enable stack trace feature\n");
|
||||||
printf(" --enable-perf-profiling Enable function performance profiling\n");
|
printf(" --enable-perf-profiling Enable function performance profiling\n");
|
||||||
printf(" --enable-memory-profiling Enable memory usage profiling\n");
|
printf(" --enable-memory-profiling Enable memory usage profiling\n");
|
||||||
|
printf(" --xip A shorthand of --enalbe-indirect-mode --disable-llvm-intrinsics\n");
|
||||||
printf(" --enable-indirect-mode Enalbe call function through symbol table but not direct call\n");
|
printf(" --enable-indirect-mode Enalbe call function through symbol table but not direct call\n");
|
||||||
printf(" --disable-llvm-intrinsics Disable the LLVM built-in intrinsics\n");
|
printf(" --disable-llvm-intrinsics Disable the LLVM built-in intrinsics\n");
|
||||||
printf(" --disable-llvm-lto Disable the LLVM link time optimization\n");
|
printf(" --disable-llvm-lto Disable the LLVM link time optimization\n");
|
||||||
|
@ -325,6 +326,10 @@ main(int argc, char *argv[])
|
||||||
else if (!strcmp(argv[0], "--enable-memory-profiling")) {
|
else if (!strcmp(argv[0], "--enable-memory-profiling")) {
|
||||||
option.enable_stack_estimation = true;
|
option.enable_stack_estimation = true;
|
||||||
}
|
}
|
||||||
|
else if (!strcmp(argv[0], "--xip")) {
|
||||||
|
option.is_indirect_mode = true;
|
||||||
|
option.disable_llvm_intrinsics = true;
|
||||||
|
}
|
||||||
else if (!strcmp(argv[0], "--enable-indirect-mode")) {
|
else if (!strcmp(argv[0], "--enable-indirect-mode")) {
|
||||||
option.is_indirect_mode = true;
|
option.is_indirect_mode = true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user