|
|
@@ -377,15 +377,23 @@ Examples: wamrc -o test.aot test.wasm
|
|
|
When making major ABI changes for AoT-compiled modules, we bump
|
|
|
`AOT_CURRENT_VERSION` constant in `core/config.h` header.
|
|
|
The runtime rejects to load a module AoT-compiled with wamrc with
|
|
|
-a different `AOT_CURRENT_VERSION`.
|
|
|
+a non-compatible`AOT_CURRENT_VERSION`.
|
|
|
|
|
|
We try our best to maintain our runtime ABI for AoT-compiled modules
|
|
|
-compatible among WAMR versions with the same `AOT_CURRENT_VERSION`
|
|
|
+compatible among WAMR versions with compatible `AOT_CURRENT_VERSION`
|
|
|
so that combinations of older wamrc and newer runtime usually work.
|
|
|
However, there might be minor incompatibilities time to time.
|
|
|
-For productions, we recommend to use the exactly same version of
|
|
|
+For productions, we recommend to use compatible versions of
|
|
|
wamrc and the runtime.
|
|
|
|
|
|
+| WAMR version | AOT_CURRENT_VERSION | Compatible AOT version |
|
|
|
+| ------------ | ------------------- | ---------------------- |
|
|
|
+| 1.x | 3 | 3 |
|
|
|
+| 2.0.0 | 3 | 3 |
|
|
|
+| 2.1.x | 3 | 3 |
|
|
|
+| 2.2.0 | 3 | 3 |
|
|
|
+| next | 4 | 3,4 |
|
|
|
+
|
|
|
## AoT compilation with 3rd-party toolchains
|
|
|
|
|
|
`wamrc` uses LLVM to compile wasm bytecode to AoT file, this works for most of the architectures, but there may be circumstances where you want to use 3rd-party toolchains to take over some steps of the compilation pipeline, e.g.
|