-
Notifications
You must be signed in to change notification settings - Fork 627
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge branch main into gitbook #2500
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
) Fixes #2316 Lightly tested on riscv64 qemu.
Calling `__wasi_sock_addr_resolve` syscall causes native stack overflow. Given this is a standard function available in WAMR, we should have at least the default stack size large enough to handle this case. The socket tests were updated so they also run in separate thread, but the simple retro program is: ```C void *th(void *p) { struct addrinfo *res; getaddrinfo("amazon.com", NULL, NULL, &res); return NULL; } int main(int argc, char **argv) { pthread_t pt; pthread_create(&pt, NULL, th, NULL); pthread_join(pt, NULL); return 0; } ```
Add shorthand "--xip" option for wamrc, which is equal to "--enalbe-indirect-mode --disable-llvm-intrinsics"
Add "--enable-llvm-passes=<passes>" option to wamrc for customizing LLVM passes
Allow to use `cmake -DWAMR_CONFIGURABLE_BOUNDS_CHECKS=1` to build iwasm, and then run `iwasm --disable-bounds-checks` to disable the memory access boundary checks. And add two APIs: `wasm_runtime_set_bounds_checks` and `wasm_runtime_is_bounds_checks_enabled`
Because it involves relocations for the table. (.Lswitch.table.XXX) Discussions: #2316
- Provide a Dockerfile.old to fix issue of ESP32 custom linker scripts not working properly with the newer version of Zephyr, as reported in #2263 - Provide a Dockerfile with newer Zephyr for other boards - Update the corresponding document
Refer to doc/xip.md for details.
nuttx apps counterpart: apache/nuttx-apps#1823
It's rare to require app heap with wasi and sometimes harmful in some cases: #2275
Dockerfile had command 'pip install --no-cache-doir' which caused the image build to fail. Fix this to correctly say '--no-cache-dir'.
In the codebase, the struct and functions were written without "f" for dwarf.
esp32-s3's instruction memory and data memory can be accessed through mutual mirroring way, so we define a new feature named as WASM_MEM_DUAL_BUS_MIRROR.
We have observed a significant performance degradation after merging #1991 Instead of protecting suspend flags with a mutex, we implement the flags as atomic variable and only use mutex when atomics are not available on a given platform.
LVM JIT failed to lookup symbol "aot_stack_sizes" as it is an internal symbol, change to lookup "aot_stack_sizes_alias" instead. Reported in #2372.
…2374) Devcontainer is too old to catch up the latest versions of dependencies. This PR updates the libraries & tools that WASM environment requires for Docker image. **Impediments:** - LLVM 16 can not be retrieved directly by using shell command as provided before. So we upgrade all tools manually as a workaround and just put LLVM issue URL as a comment in the script. **Improvements:** - Use `Debian 12 (Bookworm)` as a base image instead of `Ubuntu 20.04`. - `GCC9` upgraded to `GCC12`. - `LLVM14` upgraded to `LLVM16`. - `Clang10` upgraded to `Clang10`. - `Binaryen111` upgraded to `Binaryen114`. - `WASI-19` upgraded to `WASI-20` - `WABT-1.0.29` upgraded to `WABT-1.0.33` - `Bazelisk-1.12.0` upgraded to `Bazelisk-1.17.0` - `GithubCLI-2.20.2` upgraded to `GithubCLI-2.32.0` - `NodeJS-19.x` upgraded to `NodeJS-20.x` - `EMSDK-3.0.0` upgraded to `EMSDK-3.1.43` **Notes:** `Python 2.7` is removed due to no support anymore and not found in the repository.
Auto-check whether `WRGSBASE` instruction is supported in linux x86-64 in the cmake script. And if not, disable writing x86 GS register.
Support (non-full) uint8 quantized networks. Inputs and outputs are still required to be `float`. The (de)quantization is done internally by wasi-nn. Example generated from `quantized_model.py`: ![Screenshot from 2023-08-07 17-57-05](https://github.com/bytecodealliance/wasm-micro-runtime/assets/80318361/91f12ff6-870c-427a-b1dc-e307f7d1f5ee) Visualization with [netron](https://netron.app/).
- If something failed after calling init_native_lib, call deinit_native_lib to clean up. - Restructure the relevant code for better maintainability.
…2455) ## Context Some native libraries may want to explicitly delete an externref object without waiting for the module instance to be deleted. In addition, it may want to add a cleanup function. ## Proposed Changes Implement: * `wasm_externref_objdel` to explicitly delete an externeref'd object. * `wasm_externref_set_cleanup` to set a cleanup function that is called when the externref'd object is deleted.
- Fix windows wamrc link error: aot_generate_tempfile_name undefined. - Clear windows compile warnings. - And rename folder `samples/bh_atomic` and `samples/mem_allocator` to `samples/bh-atomic` and `samples/mem-allocator`.
1. Allow TPU and GPU support at the same time. 2. Add Dockerfile to run example with [Coral USB](https://coral.ai/products/accelerator/).
- Enable debugging a WASM loaded and executed from Python. - Expose API to enable access to list of host directories. Similar to --dir in iwasm. - Add another python language binding sample: native-symbol.
We need to apply some bug fixes that were merged to wasi-libc because wasi-sdk-20 is about half a year old. It is a temporary solution and the code will be removed when wasi-sdk 21 is released.
Allow wamrc to print help info like below: ```bash wamrc --target=help wamrc --target-abi=help wamrc --target=<target> --cpu=help wamrc --target=<target> --cpu=help --cpu-features=+help ```
Follows up #2364 where we discussed that we might want to have a test which has really short thread function and creates many threads.
AOT relocation to aot_func_internal#n is generated by wamrc --bounds-checks=1. Resolve the issue by applying the relocation in the compilation stage by wamrc and don't generate these relocations in the AOT file. Fixes #2471.
When AOT out of bound linear memory access or stack overflow occurs, the call stack of AOT functions cannot be unwound currently, so from the exception handler, runtime cannot jump back into the place that calls the AOT function. We temporarily skip the current instruction and let AOT code continue to run and return to caller as soon as possible. And use the zydis library the decode the current instruction to get its size. And remove using RtlAddFunctionTable to register the AOT functions since it doesn't work currently.
Using pre-commit hooks helps us to decrease CI load and improve developers' experience.
set_wasi_args should be called before module instantiation.
Update the version number to 1.2.3 and update the release notes.
Upgrade to [email protected] when building wamr-lldb on MacOS since swig@3 had been disabled: https://formulae.brew.sh/formula/swig
- Update lldb patch due to swig was upgraded to 4.1 in macos - Export LD_LIBRARY_PATH for searching libpython3.10.so when validating wamr-lldb in Ubuntu-20.04 - Rename lldb-wasm.patch to lldb_wasm.path
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.