7d05dbc988
Support extended constant expressions ( #4432 )
...
* implement extended const expr (#4318 )
* add a toggle to enable extended const on wamrc (#4412 )
2025-07-07 13:34:02 +08:00
e414a327a0
Refactor copy callstack feature ( #4401 )
...
- Change `WAMR_ENABLE_COPY_CALLSTACK` to `WAMR_BUILD_COPY_CALL_STACK`, as
`WAMR_BUILD` is the prefix for a command line option.
- Change `WAMR_ENABLE_COPY_CALLSTACK` to `WASM_ENABLE_COPY_CALL_STACK`, as
`WASM_ENABLE` is the prefix for a macro in the source code.
- Change `CALLSTACK` to `CALL_STACK` to align with the existing
`DUMP_CALL_STACK` feature.
- Continue using `WASMCApiFrame` instead of `wasm_frame_t` outside of
*wasm_c_api.xxx* to avoid a typedef redefinition warning, which is
identified by Clang.
2025-06-24 20:38:30 +08:00
70c39bae77
wasi-nn: fix context lifetime issues ( #4396 )
...
* wasi-nn: fix context lifetime issues
use the module instance context api instead of trying to roll
our own with a hashmap. this fixes context lifetime problems mentioned in
https://github.com/bytecodealliance/wasm-micro-runtime/issues/4313 .
namely,
* wasi-nn resources will be freed earlier now. before this change,
they used to be kept until the runtime shutdown. (wasm_runtime_destroy)
after this change, they will be freed together with the associated
instances.
* wasm_module_inst_t pointer uniqueness assumption (which is wrong
after wasm_runtime_deinstantiate) was lifted.
as a side effect, this change also makes a context shared among threads
within a cluster. note that this is a user-visible api/abi breaking change.
before this change, wasi-nn "handles" like wasi_ephemeral_nn_graph were
thread-local. after this change, they are shared among threads within
a cluster, similarly to wasi file descriptors. spec-wise, either behavior
should be ok simply because wasi officially doesn't have threads yet.
althogh i feel the latter semantics is more intuitive, if your application
depends on the thread-local behavior, this change breaks your application.
tested with wamr-wasi-extensions/samples/nn-cli, modified to
call each wasi-nn operations on different threads. (if you are
interested, you can find the modification at
https://github.com/yamt/wasm-micro-runtime/tree/yamt-nn-wip-20250619 .)
cf.
https://github.com/bytecodealliance/wasm-micro-runtime/issues/4313
https://github.com/bytecodealliance/wasm-micro-runtime/issues/2430
* runtime_lib.cmake: enable WAMR_BUILD_MODULE_INST_CONTEXT for wasi-nn
as we do for wasi (WAMR_BUILD_LIBC_WASI)
2025-06-24 20:37:56 +08:00
e5091e47ea
enable WAMR_BUILD_WASI_EPHEMERAL_NN by default ( #4381 )
...
cf. https://github.com/bytecodealliance/wasm-micro-runtime/issues/4326
2025-06-19 14:30:44 +08:00
d52f083ac0
build(deps): Bump requests from 2.32.3 to 2.32.4 in /build-scripts ( #4349 )
...
Bumps [requests](https://github.com/psf/requests ) from 2.32.3 to 2.32.4.
- [Release notes](https://github.com/psf/requests/releases )
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md )
- [Commits](https://github.com/psf/requests/compare/v2.32.3...v2.32.4 )
---
updated-dependencies:
- dependency-name: requests
dependency-version: 2.32.4
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-12 09:29:33 +08:00
670aa83985
Bump version to 2.3.1 and update release notes ( #4303 )
2025-06-02 10:45:50 +08:00
3580d1a386
Enable runtime API exposure for MSVC builds ( #4287 )
2025-05-28 20:30:05 +08:00
c018b8ab98
feat: Add instruction metering for interpreter ( #4122 )
...
- add instruction metering support with execution limit
- initialize instruction execution limit in exec_env
- docs: add instruction metering section to build_wamr documentation
2025-05-26 16:16:42 +08:00
f4f33b6a76
feat(yml): Add ESP32-P4 and ESP32-C5 support ( #4270 )
...
- Add ESP32-P4 and ESP32-C5 support
- Support for compiler options of different floating-point types in various RISC-V chips
2025-05-19 10:33:09 +08:00
c7b2db1832
Update version to 2.3.0 ( #4171 )
...
- Update version to 2.3.0
- Update RELEASE_NOTES.md. Remove commits that forget to squash when PRs were merged, and some updates on commit messages
---------
Co-authored-by: James Marsh <mrshnja@amazon.co.uk >
Co-authored-by: liang.he@intel.com <liang.he@intel.com >
Co-authored-by: TianlongLiang <111852609+TianlongLiang@users.noreply.github.com >
2025-05-14 17:32:00 +08:00
28702edaf7
Merge commit from fork
2025-05-14 12:43:55 +08:00
f0a8286863
Refactor fast-interpreter SIMD compilation flags ( #4261 )
...
- enable SIMD flag by default unless hardware limitation
- use SIMDE flag to control fast-interpreter behavior
2025-05-14 10:38:30 +08:00
908838a5b5
build-scripts/build_llvm.py: bump to llvm 18 ( #4259 )
...
* build-scripts/build_llvm.py: bump to llvm 18
cf. https://github.com/bytecodealliance/wasm-micro-runtime/issues/4210
why not 20?
because, as of writing this, 19 is the latest released version for
the xtensa fork of llvm: https://github.com/espressif/llvm-project
why not 19?
because of a bug in the xtensa fork of llvm:
https://github.com/espressif/llvm-project/issues/112
while we can use different versions for different targets,
it's nicer to use the same version everywhere when possible.
* spec-test-script/runtest.py: --size-level=0 for x86-64
with the recent version of LLVM, wamrc --size-level=1 often
generates R_X86_64_32S relocations which fail on load with
the infamous error:
"relocation truncated to fit R_X86_64_32S failed"
it seems that these relocations are often for jump tables.
this commit workarounds it with --size-level=0.
an alternative is to disable jump tables. (although it seems that
jump tables are not the only source of these relocations.)
cf. https://github.com/bytecodealliance/wasm-micro-runtime/issues/3035
it might be better to do this in wamrc itself. however, currently
target info is not available there in case of native compilation.
related: https://github.com/bytecodealliance/wasm-micro-runtime/issues/3356
* wamr-compiler: size_level=0 for sgx mode
cf. https://github.com/bytecodealliance/wasm-micro-runtime/issues/3035
2025-05-09 17:14:02 +08:00
6aa223dbf3
Stop pretending to support extended-const proposal ( #4258 )
...
As far as I know, we don't implement the proposal at all.
```
spacetanuki% wasm2wat --enable-all data.28.wasm
(module
(memory (;0;) 1)
(data (;0;) (i32.const 42
i32.const 0
i32.sub) ""))
spacetanuki% toywasm --load data.28.wasm
spacetanuki% ~/git/wasm-micro-runtime/product-mini/platforms/darwin/b.classic/iwasm data.28.wasm
WASM module load failed: illegal opcode or constant expression required or type mismatch
spacetanuki%
```
data.28.wasm in the above example is a binary version of:
8d4f6aa2b0/test/core/data.wast (L184-L187)
2025-05-09 09:29:06 +08:00
791e60f533
feat(fuzz): add a new fuzzing target about aot compiler ( #4121 )
...
support llvm-jit running mode as another fuzzing target
2025-04-28 21:44:04 +08:00
955fce5664
Replace CMAKE_CURRENT_FUNCTION_LIST_DIR ( #4200 )
...
`CMAKE_CURRENT_FUNCTION_LIST_DIR` is added in version 3.17 and currently
most of `cmake_minimum_required()` with 3.14.
Refer to https://cmake.org/cmake/help/latest/variable/CMAKE_CURRENT_FUNCTION_LIST_DIR.html
2025-04-17 00:07:25 +08:00
793135b41c
Fix few integer overflowing ( #4161 )
...
- fix(interpreter): correct offset calculations in wasm_loader_get_const_offset function
- fix(mem-alloc): update offset calculation in gc_migrate for memory migration
- add pointer-overflow sanitizer
2025-04-10 12:04:56 +08:00
159b69da38
Update cmake min to 3.14 ( #4175 )
...
3.14 is used and tested by linux mini-product
to fix
```
CMake Error at CMakeLists.txt:4 (cmake_minimum_required):
Compatibility with CMake < 3.5 has been removed from CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
```
2025-04-02 07:13:53 +08:00
efa8019bdb
Merge dev/simd for fast-interp ( #4131 )
...
* Implement the first few SIMD opcodes for fast interpreter (v128.const, v128.any_true) (#3818 )
Tested on the following code:
```
(module
(import "wasi_snapshot_preview1" "proc_exit" (func $proc_exit (param i32)))
(memory (export "memory") 1)
;; WASI entry point
(func $main (export "_start")
v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
v128.any_true
if
unreachable
end
v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
v128.any_true
i32.const 0
i32.eq
if
unreachable
end
i32.const 0
call $proc_exit
)
)
```
* implement POP_V128()
This is to simplify the simd implementation for fast interpreter
* Add all SIMD operations into wasm_interp_fast switch
* Add V128 comparison operations
Tested using
```
(module
(import "wasi_snapshot_preview1" "proc_exit" (func $proc_exit (param i32)))
(memory (export "memory") 1)
(func $assert_true (param v128)
local.get 0
v128.any_true
i32.eqz
if
unreachable
end
)
(func $main (export "_start")
;; Test v128.not
v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
v128.not
v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
i8x16.eq
call $assert_true
;; Test v128.and
v128.const i8x16 255 255 255 255 0 0 0 0 255 255 255 255 0 0 0 0
v128.const i8x16 255 255 0 0 255 255 0 0 255 255 0 0 255 255 0 0
v128.and
v128.const i8x16 255 255 0 0 0 0 0 0 255 255 0 0 0 0 0 0
i8x16.eq
call $assert_true
;; Test v128.andnot
v128.const i8x16 255 255 255 255 0 0 0 0 255 255 255 255 0 0 0 0
v128.const i8x16 255 255 0 0 255 255 0 0 255 255 0 0 255 255 0 0
v128.andnot
v128.const i8x16 0 0 255 255 0 0 0 0 0 0 255 255 0 0 0 0
i8x16.eq
call $assert_true
;; Test v128.or
v128.const i8x16 255 255 0 0 0 0 255 255 255 255 0 0 0 0 255 0
v128.const i8x16 0 0 255 255 255 255 0 0 0 0 255 255 255 255 0 0
v128.or
v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0
i8x16.eq
call $assert_true
;; Test v128.xor
v128.const i8x16 255 255 0 0 255 255 0 0 255 255 0 0 255 255 0 0
v128.const i8x16 255 255 255 255 0 0 0 0 255 255 255 255 0 0 0 0
v128.xor
v128.const i8x16 0 0 255 255 255 255 0 0 0 0 255 255 255 255 0 0
i8x16.eq
call $assert_true
i32.const 0
call $proc_exit
)
)
```
* Add first NEON SIMD opcode implementations to fast interpreter (#3859 )
Add some implementations of SIMD opcodes using NEON instructions.
Tested using:
```wast
(module
(import "wasi_snapshot_preview1" "proc_exit" (func $proc_exit (param i32)))
(memory (export "memory") 1)
(func $assert_true (param v128)
local.get 0
v128.any_true
i32.eqz
if
unreachable
end
)
(func $main (export "_start")
i32.const 0
i32.const 32
memory.grow
drop
i32.const 0
v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
v128.store
i32.const 0
v128.load
v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
i8x16.eq
call $assert_true
i32.const 16
v128.const i8x16 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
v128.store
i32.const 16
v128.load
v128.const i8x16 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
i8x16.eq
call $assert_true
i32.const 0
v128.load
v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
i8x16.eq
call $assert_true
drop
i32.const 0
i32.const 1
memory.grow
drop
i32.const 0
i64.const 0x7F80FF017E02FE80
i64.store
i32.const 0
v128.load8x8_s
v128.const i16x8 127 -128 -1 1 126 2 -2 -128
i16x8.eq
call $assert_true
i32.const 0
i64.const 0x80FE027E01FF807F
i64.store
i32.const 0
v128.load8x8_u
v128.const i16x8 128 254 2 126 1 255 128 127
i16x8.eq
call $assert_true
i32.const 0
i64.const 0x8000FFFE7FFF0001
i64.store
i32.const 0
v128.load16x4_s
v128.const i32x4 -32768 -2 32767 1
i32x4.eq
call $assert_true
i32.const 0
i64.const 0x8000FFFE7FFF0001
i64.store
i32.const 0
v128.load16x4_u
v128.const i32x4 32768 65534 32767 1
i32x4.eq
call $assert_true
i32.const 0
i64.const 0x8000000000000001
i64.store
i32.const 0
v128.load32x2_s
v128.const i64x2 -2147483648 1
i64x2.eq
call $assert_true
i32.const 0
i64.const 0x8000000000000001
i64.store
i32.const 0
v128.load32x2_u
v128.const i64x2 2147483648 1
i64x2.eq
call $assert_true
call $proc_exit
)
)
```
* Emit imm for lane extract and replace (#3906 )
* Fix replacement value not being correct (#3919 )
* Implement load lanes opcodes for wasm (#3942 )
* Implement final SIMD opcodes: store lane (#4001 )
* Fix load/store (#4054 )
* Correctly use unsigned functions (#4055 )
* implement local and function calls for v128 in the fast interpreter
* Fix splat opcodes, add V128 handling in preserve_referenced_local and reserve_block_ret
* Fix incorrect memory overflow values + SIMD ifdefs
* Fix load/load_splat macros
* correct endif wasm loader
* Update core/iwasm/interpreter/wasm_opcode.h
* Fix spec tests when WASM_CPU_SUPPORTS_UNALIGNED_ADDR_ACCESS is 0
* Resolve merge conflicts arising from main -> dev/simd_for_interp and implement fast interpreter const offset loader support for V128
* Enable SIMDe tests on CI
* Document WAMR_BUILD_LIB_SIMDE
---------
Co-authored-by: James Marsh <mrshnja@amazon.co.uk >
Co-authored-by: jammar1 <108334558+jammar1@users.noreply.github.com >
Co-authored-by: Maks Litskevich <makslit@amazon.com >
Co-authored-by: Marcin Kolny <marcin.kolny@gmail.com >
Co-authored-by: Wenyong Huang <wenyong.huang@intel.com >
2025-03-20 14:23:20 +08:00
766f378590
Merge pull request #4033 from g0djan/godjan/iterate_callstack
...
Copy callstack API
2025-03-11 10:31:56 +08:00
412631ac13
fix: correct typos and improve comments across multiple files by codespell ( #4116 )
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com >
2025-03-07 08:21:54 +08:00
cc3f0a096b
Cleaning up
2025-02-24 17:33:14 +00:00
32338bb7d6
Copy read only API behind a flag instead of using user defined callback
2025-02-24 17:22:05 +00:00
f2ef9ee62e
Cmake improvements ( #4076 )
...
- Utilizes the standard CMake variable BUILD_SHARED_LIBS to simplify the CMake configuration.
- Allows the use of a single library definition for both static and
shared library cases, improving maintainability and readability of the CMake configuration.
- Install vmlib public header files
- Installs the public header files for the vmlib target to the include/iwasm directory.
- Install cmake package
- Adds the necessary CMake configuration files (iwasmConfig.cmake and iwasmConfigVersion.cmake).
- Configures the installation of these files to the appropriate directory (lib/cmake/iwasm).
- Ensures compatibility with the same major version.
- Improve windows product-mini CMakeLists.txt
- Fix missing symbols when linking windows product-mini with shared vmlib
- Improve Darwin product-mini CMakeLists.txt
---------
Signed-off-by: Peter Tatrai <peter.tatrai.ext@siemens.com >
2025-02-21 15:29:49 +08:00
d86bd7c0bc
fix(build_llvm.py): clean up whitespace and formatting in build script
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com >
2025-02-15 16:25:21 +08:00
46904dce0f
build_llvm.py: Allow to build xtensa target on non-xtensa host
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com >
2025-02-14 16:15:45 +08:00
77e8a7d403
Refactor versioning documentation and adopt semantic versioning guidelines
2025-02-05 10:31:20 +00:00
e64685f43c
Add versioning support and update CMake configuration
2025-02-05 10:31:20 +00:00
41b2c6d0d5
Show wasm proposals status during compilation and execution ( #3989 )
...
- add default build configuration options and enhance message output for WAMR features
- Add Wasm proposal status printing functionality
2025-02-05 15:28:26 +08:00
c6712b4033
add a validator for aot module ( #3995 )
...
- Add AOT module validation to ensure memory constraints are met
- Enable AOT validator in build configuration and update related source files
2025-02-05 15:21:49 +08:00
53da420c41
Enable shrunk memory by default and add related configurations ( #4008 )
...
- Enable shrunk memory by default and add related configurations
- Improve error messages for memory access alignment checks
- Add documentation for WAMR shrunk memory build option
- Update NuttX workflow to disable shrunk memory build option
2025-01-13 07:09:04 +08:00
f2b87d773e
Support external toolchain on Windows for aot compiler ( #3911 )
...
allowing custom ARC toolchain on Windows
2024-11-19 17:47:05 +08:00
1af474099b
Add Windows wamrc and iwasm build in release CI ( #3857 )
...
- For Windows, llvm libs need to cache more directories, so use a multi-line
environment variable for paths
- Remove conditionally build directories `win32build`, just use `build` for all platform
- Add Windows wamrc and iwasm(disable lib pthread semaphore and fast jit for now)
build in release CI
2024-10-17 10:01:56 +08:00
c4aa1deda5
Add shared heap sample ( #3806 )
2024-09-20 16:13:20 +08:00
1fd422ae6e
Merge branch main into dev/shared_heap
2024-09-20 14:34:00 +08:00
51a71092bf
Support dynamic aot debug ( #3788 )
...
Enable dynamic aot debug feature which debugs the aot file
and is able to set the break point and do single step. Refer to
the README for the detailed steps.
Signed-off-by: zhangliangyu3 <zhangliangyu3@xiaomi.com >
2024-09-18 11:02:10 +08:00
92852f3719
Implement a first version of shared heap feature ( #3789 )
...
ps. https://github.com/bytecodealliance/wasm-micro-runtime/issues/3546
2024-09-14 10:51:42 +08:00
0599351262
wasi-nn: Add a new target for llama.cpp as a wasi-nn backend ( #3709 )
...
Minimum support:
- [x] accept (WasmEdge) customized model parameters. metadata.
- [x] Target [wasmedge-ggml examples](https://github.com/second-state/WasmEdge-WASINN-examples/tree/master/wasmedge-ggml )
- [x] basic
- [x] chatml
- [x] gemma
- [x] llama
- [x] qwen
---
In the future, to support if required:
- [ ] Target [wasmedge-ggml examples](https://github.com/second-state/WasmEdge-WASINN-examples/tree/master/wasmedge-ggml )
- [ ] command-r. (>70G memory requirement)
- [ ] embedding. (embedding mode)
- [ ] grammar. (use the grammar option to constrain the model to generate the JSON output)
- [ ] llama-stream. (new APIS `compute_single`, `get_output_single`, `fini_single`)
- [ ] llava. (image representation)
- [ ] llava-base64-stream. (image representation)
- [ ] multimodel. (image representation)
- [ ] Target [llamaedge](https://github.com/LlamaEdge/LlamaEdge )
2024-09-10 08:45:18 +08:00
1329e1d3e1
Add support for multi-memory proposal in classic interpreter ( #3742 )
...
Implement multi-memory for classic-interpreter. Support core spec (and bulk memory) opcodes now,
and will support atomic opcodes, and add multi-memory export APIs in the future.
PS: Multi-memory spec test patched a lot for linking test to adapt for multi-module implementation.
2024-08-21 12:22:23 +08:00
58ca02bc5f
Add support for RISCV32 ILP32F ( #3708 )
2024-08-15 15:17:42 +08:00
140ff25d46
wasi-nn: Apply new architecture ( #3692 )
...
ps.
https://github.com/bytecodealliance/wasm-micro-runtime/issues/3677
2024-08-13 09:14:52 +08:00
6e727dc18d
Support more features for rt-thread ( #3661 )
...
1, enable thread mgr
2, enable libc wasi
3, enable libc wasi threads
4, specify a function name of the module to run rather main
2024-07-26 10:34:15 +08:00
058bc47102
[wasi-nn] Add a new wasi-nn backend openvino ( #3603 )
2024-07-22 17:16:41 +08:00
f7d2826772
Allow missing imports in wasm loader and report error in wasm instantiation instead ( #3539 )
...
The wasm loader is failing when multi-module support is on and the dependent
modules are not found; this enforces the AOT compiler integrations to prepare
dependent modules while it isn't necessary.
This PR allows allows missing imports in wasm loader and report error in wasm
instantiation instead, which enables the integrated AOT compiler to work as if
the multi-module support isn't turned on.
2024-06-25 10:04:39 +08:00
1434c45283
build_llvm.py: Speed up llvm build with multi procs on windows ( #3512 )
2024-06-13 17:18:21 +08:00
53f26e436b
Bump requests from 2.32.2 to 2.32.3 in /build-scripts ( #3494 )
...
Bumps [requests](https://github.com/psf/requests ) from 2.32.2 to 2.32.3.
- [Release notes](https://github.com/psf/requests/releases )
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md )
- [Commits](https://github.com/psf/requests/compare/v2.32.2...v2.32.3 )
---
updated-dependencies:
- dependency-name: requests
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-06 10:09:19 +08:00
115a4767df
Bump requests from 2.31.0 to 2.32.2 in /build-scripts ( #3474 )
...
Bumps [requests](https://github.com/psf/requests ) from 2.31.0 to 2.32.2.
- [Release notes](https://github.com/psf/requests/releases )
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md )
- [Commits](https://github.com/psf/requests/compare/v2.31.0...v2.32.2 )
---
updated-dependencies:
- dependency-name: requests
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-30 15:42:37 +08:00
49c9fa31da
Fix typo of WAMR_CONFIGUABLE_BOUNDS_CHECKS ( #3424 )
...
Change to WAMR_CONFIGURABLE_BOUNDS_CHECKS, and fix CodeQL compilation errors
which were introduced by PR #3406 .
ps.
https://github.com/bytecodealliance/wasm-micro-runtime/pull/3393#discussion_r1591810998
https://github.com/bytecodealliance/wasm-micro-runtime/actions/runs/9055318553/job/24876266629
2024-05-14 14:33:09 +08:00
8f098a5905
aot: Make precheck functions use short-call for xtensa ( #3418 )
...
Note: this breaks AOT ABI for xtensa again because of a revert of an ABI-breaking change.
2024-05-13 16:55:00 +08:00
6aa7cb85f6
Add WASI support for esp-idf platform ( #3348 )
...
Add WASI support for esp-idf platform:
1. add Kconfig and cmake scripts
2. add API "openat" when using littlefs
3. add clock/rwlock/file/socket OS adapter
2024-04-24 14:46:38 +08:00