Compare commits

...

129 Commits

Author SHA1 Message Date
Krisztian
69446f4abb
Add missing functions from thumb arch (#4718)
Some checks are pending
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / build_llvm_libraries_on_windows (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_AOT=0) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=0) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_CUSTOM_NAME_SECTION=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_DEBUG_INTERP=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_LIBC_UVWASI=0 -DWAMR_BUILD_LIBC_WASI=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_LIB_PTHREAD=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_LIB_WASI_THREADS=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_REF_TYPES=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_SIMD=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_TAIL_CALL=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_DISABLE_HW_BOUND_CHECK=1) (push) Waiting to run
compilation on windows-2022 / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-2022) (push) Blocked by required conditions
compilation on windows-2022 / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (classic-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (fast-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on zephyr / smoke_test (push) Waiting to run
Signed-off-by: Krisztian Szilvasi <34309983+kr-t@users.noreply.github.com>
2025-11-28 17:08:24 +08:00
Huang Qi
02c2550155 build: disable CONFIG_RP23XX_UF2_BINARY in NuttX CI
Disable UF2 binary support for RP23XX boards in the compilation
workflow to resolve build issues and maintain consistency with
RP2040 board configuration.

* Added kconfig-tweak --disable CONFIG_RP23XX_UF2_BINARY
* Follows existing pattern for RP2040 boards
* Ensures successful compilation for rp23xx target
2025-11-28 14:40:17 +08:00
Huang Qi
b871f8f9ff chore: narrow CI workflow trigger scope for Zephyr compilation
Optimize GitHub Actions workflow execution by limiting triggers to only
changes in the compilation_on_zephyr.yml workflow file itself, reducing
unnecessary workflow runs when other .github files are modified.
* Update pull_request trigger paths to target specific workflow file
* Update push trigger paths to target specific workflow file
* Eliminates redundant CI runs for documentation and script changes
2025-11-28 14:40:17 +08:00
TianlongLiang
3c01e2ae0c
fix double promotion warning (#4731) 2025-11-28 11:06:43 +08:00
Yosh
418be9dfee
Update link to WASI Proposals.md (#4734) 2025-11-27 08:53:59 +08:00
liang.he
a75dc9be51
Remove local fuzzing server (#4729)
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-2022) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
The local fuzzing server is a feature that has not been used for a long
time and is currently unmaintained. Temporarily remove it from the
codebase, and restore it when needed.
2025-11-25 21:02:10 +08:00
dependabot[bot]
b4e4c5afee
build(deps): Bump actions/checkout from 5 to 6 (#4726)
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-25 21:01:45 +08:00
Kakhaber
85343e7830
Add support for esp32s2 target to idf_component.yml (#4728) 2025-11-25 21:01:31 +08:00
dependabot[bot]
6182505c00
build(deps): Bump github/codeql-action from 4.31.3 to 4.31.5 (#4727)
Some checks are pending
compilation on zephyr / smoke_test (push) Waiting to run
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.31.3 to 4.31.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v4.31.3...v4.31.5)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.5
  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>
2025-11-25 07:04:23 +08:00
Krisztian
a192467067
Namespace generated headers with zephyr/ (#4670)
Some checks are pending
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / build_llvm_libraries_on_windows (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_AOT=0) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=0) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_CUSTOM_NAME_SECTION=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_DEBUG_INTERP=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_LIBC_UVWASI=0 -DWAMR_BUILD_LIBC_WASI=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_LIB_PTHREAD=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_LIB_WASI_THREADS=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_REF_TYPES=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_SIMD=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_TAIL_CALL=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_DISABLE_HW_BOUND_CHECK=1) (push) Waiting to run
compilation on windows-2022 / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-2022) (push) Blocked by required conditions
compilation on windows-2022 / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (classic-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (fast-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on zephyr / smoke_test (push) Waiting to run
* Namespace generated headers with zephyr/

---------

Signed-off-by: Krisztian Szilvasi <34309983+kr-t@users.noreply.github.com>
2025-11-24 19:20:53 +08:00
YAMAMOTO Takashi
912c2a6e31
add a set of apis to configure wasi via InstantiationArgs2 (#4707)
* track if WASIArguments is configured by user

i plan to use this to decide which wasi arguments
(the one from module or the one from InstantiationArgs2)
to use.

* add WASIArguments to InstantiationArgs2

* use wasi configuration from InstantiationArgs2 if any

fallback to the via-module configuration for now.

* add a few api to configure wasi via InstantiationArgs2

* configure wasi via InstantiationArgs2 for platforms using libc_wasi.c

* rt-thread: migrate to libc_wasi_set_init_args

* common/libc_wasi.c: retire libc_wasi_init

* fix build without wasi
2025-11-24 19:20:21 +08:00
Huang Qi
0cefefab1e
ci: add raspberrypi-pico-2 to nuttx build matrix (#4721)
Add Raspberry Pi Pico 2 (Cortex-M33) board configuration to the NuttX CI build matrix to ensure WAMR compatibility testing covers the Cortex-M33 platform. The board configuration path "boards/arm/rp23xx/raspberrypi-pico-2/configs/nsh" is inserted after the cortex-m7 configuration to maintain logical architecture ordering.
2025-11-24 19:19:52 +08:00
Huang Qi
0af3af4eed
chore: update NuttX version to 12.11 in CI workflows (#4720)
The NuttX project released version 12.11 with improvements and bug fixes.
Updating the CI workflows to use the latest stable version ensures that
WAMR testing and compilation verification runs against the most current
NuttX release.

Updated 4 repository references total across 2 workflow files to point to
the new release branch.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2025-11-24 19:19:40 +08:00
Huang Qi
1d255ce0b5
refactor: Improve debug experience with CFI directives and proper label naming in Thumb invokeNative (#4719)
This change enhances debugging support and improves assembly code quality:

1. Add CFI (Call Frame Information) directives (.cfi_startproc, .cfi_def_cfa_offset, .cfi_offset, .cfi_endproc) to provide proper call frame information for debuggers
2. Improve label naming by using dot-prefixed conventions (.Lreturn, .Lcall_func, etc.) following assembly best practices

These improvements enhance debugging capabilities and code maintainability while preserving functionality.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2025-11-24 19:19:18 +08:00
liang.he
53ffe451d0
Fast-interp should report unsupported opcode (#4723)
Some checks are pending
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / build_llvm_libraries_on_windows (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_AOT=0) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=0) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_CUSTOM_NAME_SECTION=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_DEBUG_INTERP=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_LIBC_UVWASI=0 -DWAMR_BUILD_LIBC_WASI=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_LIB_PTHREAD=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_LIB_WASI_THREADS=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_REF_TYPES=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_SIMD=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_TAIL_CALL=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_DISABLE_HW_BOUND_CHECK=1) (push) Waiting to run
compilation on windows-2022 / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-2022) (push) Blocked by required conditions
compilation on windows-2022 / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (classic-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (fast-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on zephyr / smoke_test (push) Waiting to run
when meeting simd opcode on non-posix platforms
2025-11-24 15:48:29 +08:00
liang.he
071e2aaed5
Merge commit from fork
* fix: remove SIMD prefix handling from interpreter and update opcode definitions

* test: add case for classic interpreter handling of unsupported SIMD opcodes
2025-11-24 14:37:46 +08:00
Zhenwei Jin
33fdc4a671
Merge commit from fork 2025-11-24 14:23:04 +08:00
Chris Woods
f6ce52f667
Adding additional text around the resr requirement for code contributions to make supplying a test mandatory, except in exceptional situations. (#4713) 2025-11-20 22:47:50 +08:00
dependabot[bot]
c065004e8c
build(deps): Bump github/codeql-action from 3.29.1 to 4.31.3 (#4709)
Some checks failed
compilation on zephyr / smoke_test (push) Has been cancelled
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.1 to 4.31.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.29.1...v4.31.3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.3
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-18 16:47:54 +08:00
dependabot[bot]
63b61f1cd1
build(deps): Bump actions/checkout from 3 to 5 (#4710)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v3...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-18 16:47:46 +08:00
dependabot[bot]
863d0af4cb
build(deps): Bump actions/upload-artifact from 4.6.2 to 5.0.0 (#4711)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.6.2 to 5.0.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.6.2...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-18 16:47:37 +08:00
Huang Qi
e2da849f11
wamr/arm: Add CFI directives to Thumb VFP assembly for better debugging (#4697)
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-2022) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
Add Call Frame Information (CFI) directives to invokeNative_thumb_vfp.s
to improve stack unwinding and debugging capabilities on ARM platforms.
This enables better backtrace generation and crash analysis.

Changes include:
- Add .cfi_startproc/.cfi_endproc directives for proper frame tracking
- Add .cfi_def_cfa_offset and .cfi_def_cfa to track stack pointer changes
- Add .cfi_offset directives to track saved register locations
- Convert local labels to use .L prefix following assembly conventions

These CFI directives allow debuggers and exception handlers to properly
unwind the stack through native function calls, improving the debugging
experience for WAMR applications on ARM targets.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2025-11-17 17:55:05 +08:00
liang.he
a41d343033
fix: improve test case handling in test_wamr.sh (#4708)
Correct the error introduced by de4b950.
2025-11-17 17:53:06 +08:00
liang.he
951684c8dd
Use a customized codeql configration (#4207)
Some checks failed
compilation on zephyr / smoke_test (push) Has been cancelled
- Specifying directories to scan
- Refactor build script for WAMR project
  - add functions for wamrc and iwasm builds
  - streamline options handling
  - include LLVM installation steps.
- Filter out source code related to dependencies, testing,
  and wasm applications
- Exclude unimportant issues and coding style problems
2025-11-14 17:48:28 +08:00
TianlongLiang
7898af9f21
fix bug and add unit test case for runtime api when shared heap is enabled (#4695)
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-2022) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
2025-11-11 16:22:45 +08:00
Joe Polny
4b42cfdbce
fix: remove stack size check from exec_env_check (#4688)
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-2022) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
As per [this blogpost](https://bytecodealliance.github.io/wamr.dev/blog/understand-the-wamr-stacks/) WAMR does not require a WASM stack in AoT/JIT mode, but `wasm_runtime_exec_env_check` still always expects the size to be > 0
2025-11-05 08:10:02 +08:00
dependabot[bot]
f13bc80d26
build(deps): Bump github/codeql-action from 4.31.0 to 4.31.2 (#4691)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.31.0 to 4.31.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v4.31.0...v4.31.2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.2
  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>
2025-11-05 07:22:09 +08:00
liang.he
de4b950781
Refactor the CMake and related scripts for unit tests (#4605)
Some checks are pending
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / build_llvm_libraries_on_windows (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_AOT=0) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=0) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_CUSTOM_NAME_SECTION=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_DEBUG_INTERP=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_LIBC_UVWASI=0 -DWAMR_BUILD_LIBC_WASI=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_LIB_PTHREAD=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_LIB_WASI_THREADS=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_REF_TYPES=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_SIMD=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_TAIL_CALL=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_DISABLE_HW_BOUND_CHECK=1) (push) Waiting to run
compilation on windows-2022 / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-2022) (push) Blocked by required conditions
compilation on windows-2022 / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (classic-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (fast-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on zephyr / smoke_test (push) Waiting to run
- only unit/CMakeLists.txt fetches googletest
- only unit/unit_common.cmake find LLVM dependencies
- use `WAMR_RUNTIME_LIB_SOURCE` to replace a long list
- enable LLVM support across various CMake configurations
- remove redundant LLVM dependency installation and add i386 support for libraries
- CMake configurations for better build output and module support
- Find llvm on demand
- Add test suite guidelines
2025-11-04 11:44:46 +08:00
Joe Polny
238f45dddc
docs: clarify that * in signatures does address conversion (#4681)
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-2022) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
docs: clarify that * and $ in signatures does address conversion

It was non-obvious that `*` means the runtime does the app to native
conversion automatically. With the current docstring, one might assume
that the runtime only does boundary checks and not address conversion.
Under this assumption, passing the already-native address to
`wasm_runtime_addr_app_to_native` will lead to unexpected behavior
2025-10-31 15:41:35 +08:00
liang.he
b08b02a409
fix: update git clone branch for threads spec to main-legacy (#4687) 2025-10-31 15:40:46 +08:00
dependabot[bot]
89b4043213
build(deps): Bump actions/upload-artifact from 4 to 5 (#4679)
Some checks failed
compilation on zephyr / smoke_test (push) Has been cancelled
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-28 07:00:44 +08:00
dependabot[bot]
f1566cc6b4
build(deps): Bump github/codeql-action from 4.30.9 to 4.31.0 (#4680)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.30.9 to 4.31.0.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v4.30.9...v4.31.0)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.0
  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>
2025-10-28 07:00:34 +08:00
TianlongLiang
ba9f9d180f
Port gitbook document to main (#4621)
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-2022) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
* Import Gitbook v1.0 (#1732)
Modify existing documents, add markdown files for Gitbook to generate the webpage
2025-10-23 16:00:04 +08:00
YAMAMOTO Takashi
3b8b265f1f
Pass InstantiationArgs2 down to aot_instantiate/wasm_instantiate (#4594)
This is a preparation for
https://github.com/bytecodealliance/wasm-micro-runtime/issues/4364

No functional changes are intended.
2025-10-23 15:57:50 +08:00
YAMAMOTO Takashi
75e5b4ea82
product-mini/platforms/rt-thread: migrate to InstantiationArgs2 (#4597)
This is a preparation for
https://github.com/bytecodealliance/wasm-micro-runtime/issues/4364
2025-10-23 15:57:19 +08:00
Xenia Lu
4c371e655a
fix: false OOB in array.fill for interp (#4645)
* cherry-pick gc spec test case

* Fix false OOB in array.fill
2025-10-23 13:15:42 +08:00
TianlongLiang
25c5d575a1
fix warning sign-compare and macro-redefined on Zephyr platform (#4668) 2025-10-23 13:15:35 +08:00
liang.he
34c6fc94e9
Bump version number to 2.4.3 (#4671) 2025-10-23 13:15:25 +08:00
dependabot[bot]
9ee9ff0d73
build(deps): Bump github/codeql-action from 4.30.8 to 4.30.9 (#4673)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.30.8 to 4.30.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v4.30.8...v4.30.9)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.30.9
  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>
2025-10-23 11:28:23 +08:00
dependabot[bot]
053481d614
build(deps): Bump actions/setup-node from 5 to 6 (#4674)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 5 to 6.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-23 11:28:12 +08:00
Liu Jia
0ecaf8c7da
add validation of dynamic_offset (#4563)
* add check_dynamic_offset_pop
2025-10-23 11:27:30 +08:00
Xenia Lu
3bf08a0eda
loader: fix block/loop ref params type checking (#4647)
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-2022) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
* loader: fix block/loop ref params type checking
2025-10-16 10:20:50 +08:00
Xenia Lu
d25fdc3709
fix: typo in AOT stack dump with GC (#4657) 2025-10-16 10:20:16 +08:00
liang.he
826ae6eb01
Prevent BuildPhi from encountering a null llvm_entry_block (#4663)
There is a scenario where `aot_compile_op_block()` does not prepare a block for
`if`. As a result, the return value of `LLVMBuildPhi()` in
`push_aot_block_to_stack_and_pass_params()` will be dangling, leading to a
memory leak as it cannot be released.
2025-10-16 10:19:44 +08:00
dependabot[bot]
163acd2259
build(deps): Bump github/codeql-action from 3.30.6 to 4.30.8 (#4666)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.30.6 to 4.30.8.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.30.6...v4.30.8)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.30.8
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-16 10:19:32 +08:00
Keisuke Horii
8be32732ff
Resolved a bug in the socket API example (#4667)
* Fixed a bug in its script
* Applied the wasi-sdk-pthread toolchain file

Related issue: #4649
2025-10-16 10:19:19 +08:00
William Furr
7aff7372e2
Merge version update to 2.4.2 back into main branch (#4661)
Some checks are pending
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / build_llvm_libraries_on_windows (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_AOT=0) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=0) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_CUSTOM_NAME_SECTION=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_DEBUG_INTERP=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_LIBC_UVWASI=0 -DWAMR_BUILD_LIBC_WASI=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_LIB_PTHREAD=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_LIB_WASI_THREADS=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_REF_TYPES=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_SIMD=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_BUILD_TAIL_CALL=1) (push) Waiting to run
compilation on windows-2022 / build_iwasm (-DWAMR_DISABLE_HW_BOUND_CHECK=1) (push) Waiting to run
compilation on windows-2022 / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-2022) (push) Blocked by required conditions
compilation on windows-2022 / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (classic-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-2022 / test (fast-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on zephyr / smoke_test (push) Waiting to run
* Add release notes for WAMR-2.4.2 (#4624)
* bump version to 2.4.2 (#4626)
2025-10-15 10:39:05 +08:00
Liu Jia
d7b6bc5aca
Add a watchdog to prevent the similar crash in AOT mode (#4625)
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-2022) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
2025-10-12 20:18:25 +08:00
Aiden Grossman
df908048de
Switch from deprecated overload of createTargetMachine (#4650)
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-2022) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
The overload accepting the string version of a triple will be removed
soon, so switch over to the one that accepts a triple object.

https://github.com/llvm/llvm-project/pull/161053
2025-10-09 13:33:11 +08:00
Hiroshi Hatake
1b9542830e
Implement invokeNative asm code for armasm64 assembler on ARM64 Windows (#4636)
* Implement invokeNative asm code for armasm64 assembler on ARM64 Windows
* Use more solid wrapper for armasm64 executable

Signed-off-by: Hiroshi Hatake <cosmo0920.oucc@gmail.com>
2025-10-09 12:09:00 +08:00
liang.he
635576c607
Enhance security guidelines for identifying vulnerabilities (#4584)
* Enhance security guidelines for identifying vulnerabilities. It includes a tiered-support-list
* Update issue templates. Follow [the instructions at GitHub Documentation](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#creating-issue-templates) to recreate issue templates. Apply the new format and add new fields.
2025-10-09 12:05:59 +08:00
Zhenwei Jin
74cdf0b8c1
Add import functions callback (#4606)
Signed-off-by: zhenweijin <zhenwei.jin@intel.com>
2025-10-09 12:04:29 +08:00
Liu Jia
326eeec615
Add new cases in ARC relocation of AOT (#4653)
* add new case for arc relocation. R_ARC_S21H_PCREL, R_ARC_S21W_PCREL
2025-10-09 11:35:12 +08:00
dependabot[bot]
fbef624118
build(deps): Bump github/codeql-action from 3.30.1 to 3.30.6 (#4659)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.30.1 to 3.30.6.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.30.1...v3.30.6)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.30.6
  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>
2025-10-09 11:26:10 +08:00
dependabot[bot]
57cd389dfd
build(deps): Bump ossf/scorecard-action from 2.4.2 to 2.4.3 (#4660)
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.4.2 to 2.4.3.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](05b42c6244...4eaacf0543)

---
updated-dependencies:
- dependency-name: ossf/scorecard-action
  dependency-version: 2.4.3
  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>
2025-10-09 11:26:02 +08:00
Kiyoshi Nakao
49ac85472d
Fix memory grow on SGX platform (#4651)
* SGX: zero-initialize reserved memory in os_mmap after allocation
* Add SGX-specific os_mremap to zero-clear remaining memory after memcpy
* Modify core/shared/platform/linux-sgx/shared_platform.cmake not to include platform_api_memory.cmake
* Modify core/shared/platform/linux-sgx/shared_platform.cmake to remove unnecessary PLATFORM_COMMON_MEMORY_SOURCE
2025-10-09 11:24:12 +08:00
Marcin Kolny
3f4145e691
Merge pull request #4643 from jammar1/jammar1/missing-v128-tee-local
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-2022) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
Add missing condition for V128 in WASM_OP_TEE_LOCAL
2025-09-24 14:44:32 +01:00
James Marsh
5ba1b331c3 Add missing condition for V128 in WASM_OP_TEE_LOCAL 2025-09-24 13:29:15 +01:00
YAMAMOTO Takashi
a6a9f1f45d
CI: use windows-2022 image for now (#4633)
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-2022) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-2022 / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
github is currently rolling out windows-2025 image.
for some reasons, the "path_symlink_trailing_slashes" test case in
wasi testsuite fails on windows-2025 image.
someone familar with windows need to investigate what was the
key difference between 2022 and 2025.
until that happens, this commit makes our CI use windows-2022 image.

cf.
https://github.com/bytecodealliance/wasm-micro-runtime/issues/4632
https://github.com/actions/runner-images/issues/12677
2025-09-18 07:30:34 +08:00
Liu Jia
95f506a6e7
Merge commit from fork
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
* fix overflow in check_bulk_memory_overflow

* add comment
2025-09-15 15:19:51 +08:00
Zhenwei Jin
e6fe6060e4
add micro AMR_BUILD_LIME1 to enable minimal lime1 feature set (#4571)
Some checks are pending
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / build_llvm_libraries_on_windows (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_CUSTOM_NAME_SECTION=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_DEBUG_INTERP=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIBC_UVWASI=0 -DWAMR_BUILD_LIBC_WASI=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_PTHREAD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_WASI_THREADS=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_REF_TYPES=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_SIMD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_TAIL_CALL=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_DISABLE_HW_BOUND_CHECK=1) (push) Waiting to run
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on zephyr / smoke_test (push) Waiting to run
Signed-off-by: zhenweijin <zhenwei.jin@intel.com>
2025-09-14 14:08:27 +08:00
YAMAMOTO Takashi
92b065a3ac
sync iwasm between windows and posix a bit (#4593)
this commit includes:

* update windows for
  * WASM_MEM_ALLOC_WITH_USAGE
  * InstantiationArgs2
  * --jit-codecache-size
  * --disable-bounds-checks
  * wasm_proposal_print_status

* fix WASM_ENABLE_SHARED_HEAP for windows
  (https://github.com/bytecodealliance/wasm-micro-runtime/issues/4592)

* cosmetic changes to reduce the diff
2025-09-14 14:07:54 +08:00
YAMAMOTO Takashi
5e779b3d7b
libc-wasi: add missing pointer validations to socket functions (#4611)
cf. https://github.com/bytecodealliance/wasm-micro-runtime/issues/4463

the fix for sock_addr_resolve is incomplete.
cf. https://github.com/bytecodealliance/wasm-micro-runtime/issues/4610
2025-09-14 14:02:48 +08:00
YAMAMOTO Takashi
4f86468670
wasi-nn: retire is_model_loaded flag (#4613)
this flag doesn't make much sense anymore because:
- backends validate given graph/ctx by themselves
- some of them support loading multiple models for a context
2025-09-14 14:01:55 +08:00
liang.he
ad21524573
fix: few CI errors caused by recently enabled compilation flags (#4620)
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
- add missing warning for incompatible pointer types in CMake configuration
- fix a shadow warning
2025-09-12 16:00:23 +08:00
TianlongLiang
d7afa4c0cf
Enable -Wdouble-promotion by default and fix related warnings (#4603)
Some checks are pending
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / build_llvm_libraries_on_windows (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_CUSTOM_NAME_SECTION=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_DEBUG_INTERP=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIBC_UVWASI=0 -DWAMR_BUILD_LIBC_WASI=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_PTHREAD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_WASI_THREADS=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_REF_TYPES=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_SIMD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_TAIL_CALL=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_DISABLE_HW_BOUND_CHECK=1) (push) Waiting to run
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on zephyr / smoke_test (push) Waiting to run
- fix float to double implicit conversion
- add isnanf and signbitf macros, map them to existing double version when float versions are absent
- enable -Wdouble-promotion by default
- define isnan as macro for platform use core\sahred\platform\common\math.c
2025-09-12 08:44:42 +08:00
Lukas Döllerer
0d3b5caff0
Add support for metadata.code.branch_hint section (#4460)
Add support for metadata.code.branch_hint section
2025-09-12 08:42:48 +08:00
liang.he
b71a6bf58f
Turn warnings into errors in CI (#4397)
Some checks are pending
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / build_llvm_libraries_on_windows (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_CUSTOM_NAME_SECTION=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_DEBUG_INTERP=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIBC_UVWASI=0 -DWAMR_BUILD_LIBC_WASI=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_PTHREAD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_WASI_THREADS=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_REF_TYPES=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_SIMD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_TAIL_CALL=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_DISABLE_HW_BOUND_CHECK=1) (push) Waiting to run
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on zephyr / smoke_test (push) Waiting to run
- Apply global warnings in warnings.cmake instead of maintaining them in
  separate files.
- Enable errors during CI when building iwasm and wamrc.
- Since GCC and Clang are the default compilers on Ubuntu and macOS, enabling
  `-Werror` on both platforms can be treated as checking with different
  compilers.
2025-09-11 06:33:04 +08:00
liang.he
e2cf59cc26
Fix an undefined reference problem (#4612)
The issue was previously covered by WAMR_BUILD_LIBC_BUILTIN and WAMR_BUILD_LIBC_WASI.

Reproduced by

```
$ cmake -S . -B build -DWAMR_BUILD_SHARE_HEAP=1
    -DWAMR_BUILD_LIBC_BUILTIN=0 -DWAMR_BUILD_LIBC_WASI=0
$ cmake --build build
```
2025-09-11 06:32:15 +08:00
TianlongLiang
0264686eea
fix the source_all override in platform_api_math.cmake for alios, riot, rt-thread, zephyr platform (#4604) 2025-09-11 06:31:51 +08:00
YAMAMOTO Takashi
7263a04e43
wasi-nn: add a missing address validation for get_output (#4535)
cf. https://github.com/bytecodealliance/wasm-micro-runtime/issues/4533
2025-09-11 06:31:22 +08:00
dependabot[bot]
9f8a6ab2d6
build(deps): Bump github/codeql-action from 3.29.11 to 3.30.1 (#4607)
Some checks failed
compilation on zephyr / smoke_test (push) Has been cancelled
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.11 to 3.30.1.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.29.11...v3.30.1)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.30.1
  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>
2025-09-09 13:23:34 +08:00
dependabot[bot]
ce3358f58e
build(deps): Bump actions/setup-node from 4 to 5 (#4608)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 5.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-09 13:23:20 +08:00
YAMAMOTO Takashi
6253bd1b52
Reduce the code duplication a bit (#4596)
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
This is a preparation for
https://github.com/bytecodealliance/wasm-micro-runtime/issues/4364

No functional changes are intended.
2025-09-04 10:58:09 +08:00
Marcin Kolny
b36fac9bcd
Merge pull request #4590 from epitaphial/main
Correct the build command typo in the doc
2025-09-02 10:50:43 +02:00
Zhenwei Jin
d55852d992
fix potential overflow in memory size calculation (#4549)
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
Signed-off-by: zhenweijin <zhenwei.jin@intel.com>
2025-09-02 08:33:06 +08:00
Cur1ed
9295d52508
Correct the build command in the doc 2025-09-01 23:26:17 +08:00
Oscar Spencer
6c3f6fd017
Update note on WAMR_BUILD_LIBC_UVWASI for Windows (#4583) 2025-08-27 13:57:30 +08:00
dependabot[bot]
42851ca821
build(deps): Bump github/codeql-action from 3.29.10 to 3.29.11 (#4579)
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.10 to 3.29.11.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.29.10...v3.29.11)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.29.11
  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>
2025-08-27 07:31:06 +08:00
dependabot[bot]
1a56951a6a
build(deps): Bump requests from 2.32.4 to 2.32.5 in /build-scripts (#4580)
Bumps [requests](https://github.com/psf/requests) from 2.32.4 to 2.32.5.
- [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.4...v2.32.5)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.32.5
  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>
2025-08-27 07:16:41 +08:00
liang.he
9cb1cc4af6
fix: cast file descriptor to size_t for comparison in fd_prestats functions (#4582)
```
comparison of integer expressions of different signedness:
  ‘__wasi_fd_t’ {aka ‘int’} and ‘size_t’ {aka ‘long unsigned int’}
  [-Werror=sign-compare]
  288 |     if (fd >= pt->size)
```
2025-08-27 07:15:08 +08:00
liang.he
0b97d0cb14
Merge dev/zephyr_file_socket into main (#4347)
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
zephyr: Enable WASI support for file system and sockets on zephyr (#3633)

This work also implements the WASI support on Zephyr.

* Added os_is_* methods for stdin/stdout/stderr.  Fixed issues in os_renameat
* Zephyr platform fixes for WASI sockets Addressed numerous of build warnings on Zephyr
* Updated `os_writev` to use `fwrite` for STDOUT/STDERR
* Temporarily reverted change to `writev` to work around an issue.
* Fixes: fstat, fstatat, and unlink
* Add initial support for directories in os_openat. Partial implementation — just avoids a hard fault.
* Directory support WIP. readdir works but I think we have a memory leak somewhere
* Fix: always use standard stream fds. Fix unlinkat and renameat. fd 0, 1, and 2 will always be supplied for standard streams. Unlinkat and renameat work exclusively based on supplied paths.
* Fix: use macro for free()
* Added a temporary workaround for issue identified in PR#4377
* Fixed reference to file descriptor and cleaned up dead/commented code.

Note that some comments haven't been addressed and will be fixed in the
further patches.

Signed-off-by: Stephen Berard <stephen.berard@outlook.com>
Co-authored-by: Lucas Abad <149054121+lucasAbadFr@users.noreply.github.com>
Co-authored-by: Stephen Berard <srberard@users.noreply.github.com>
Co-authored-by: Dan Kouba <dan@atym.io>
2025-08-25 16:55:23 +08:00
Zhenwei Jin
ddd3500602
update doc to state support for export/import mut globals (#4562)
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
Signed-off-by: zhenweijin <zhenwei.jin@intel.com>
2025-08-24 06:55:27 +08:00
Marcin Kolny
58fae578e7
Merge pull request #4568 from yamt/nn-51
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
core/iwasm/libraries/wasi-nn/test/build.sh: set -e
2025-08-20 20:53:35 +02:00
Marcin Kolny
088197c0c3
Merge pull request #4573 from jammar1/jammar1/android-xip
Add Android macro check for indirect mode
2025-08-20 20:51:53 +02:00
James Marsh
9ee44bf2d0 Add Android macro check for indirect mode 2025-08-20 13:13:56 +01:00
dependabot[bot]
962511226f
build(deps): Bump actions/checkout from 3 to 5 (#4567)
Some checks failed
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / build_llvm_libraries_on_windows (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_CUSTOM_NAME_SECTION=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_DEBUG_INTERP=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIBC_UVWASI=0 -DWAMR_BUILD_LIBC_WASI=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_PTHREAD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_WASI_THREADS=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_REF_TYPES=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_SIMD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_TAIL_CALL=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_DISABLE_HW_BOUND_CHECK=1) (push) Waiting to run
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on zephyr / smoke_test (push) Waiting to run
hadolint dockerfiles / run-hadolint-on-dockerfiles (push) Has been cancelled
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v3...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-20 09:24:38 +08:00
dependabot[bot]
6e8802f7b0
build(deps): Bump github/codeql-action from 3.29.8 to 3.29.10 (#4566)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.8 to 3.29.10.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.29.8...v3.29.10)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.29.10
  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>
2025-08-20 08:25:44 +08:00
YAMAMOTO Takashi
735b510437 core/iwasm/libraries/wasi-nn/test/build.sh: set -e 2025-08-19 14:58:27 +09:00
YAMAMOTO Takashi
80007d5b1f
ADOPTERS.md: Add EVP (#4554)
Some checks are pending
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / build_llvm_libraries_on_windows (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_CUSTOM_NAME_SECTION=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_DEBUG_INTERP=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIBC_UVWASI=0 -DWAMR_BUILD_LIBC_WASI=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_PTHREAD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_WASI_THREADS=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_REF_TYPES=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_SIMD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_TAIL_CALL=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_DISABLE_HW_BOUND_CHECK=1) (push) Waiting to run
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on zephyr / smoke_test (push) Waiting to run
2025-08-19 09:48:16 +08:00
Liu Jia
b0dae624a1
add comments about AOT crash when calling unlinked import func (#4559) 2025-08-19 08:53:51 +08:00
Zhenwei Jin
be3f1f88fe
remove duplicate parent type index validation (#4556)
Signed-off-by: zhenweijin <zhenwei.jin@intel.com>
2025-08-19 08:53:44 +08:00
Zhenwei Jin
ab2ff4a56d
add rec idx and rec count validation in aot loader (#4555)
Signed-off-by: zhenweijin <zhenwei.jin@intel.com>
2025-08-19 08:53:37 +08:00
Zhenwei Jin
d0c636bd80
fix integer overflow in gc threshold calculation (#4546)
Signed-off-by: zhenweijin <zhenwei.jin@intel.com>
2025-08-19 08:53:28 +08:00
YAMAMOTO Takashi
c661592edd
wasi_nn_onnx.cpp: fix debug build (#4564) 2025-08-19 08:23:00 +08:00
dongsheng28849455
14ced7c86c
Add onnxruntime as wasi-nn backend (#4485)
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
* Add onnxruntime as wasi-nn backend
  * remove global context
  * put checks under the lock
  * tensor type will not support legacy wasi-nn abi
  * Manually set the imported target with name space
2025-08-15 09:48:37 +08:00
Liu Jia
cbb6d03337
add validtion for parent_type_idx (#4550)
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
2025-08-13 11:05:06 +08:00
Zhenwei Jin
feecaf602e
add bounds checking to prevent ref_type_map_count (#4548)
Signed-off-by: zhenweijin <zhenwei.jin@intel.com>
2025-08-13 08:17:42 +08:00
dependabot[bot]
c9bfdbe4c4
build(deps): Bump github/codeql-action from 3.29.5 to 3.29.8 (#4551)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.5 to 3.29.8.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.29.5...v3.29.8)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.29.8
  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>
2025-08-13 08:15:22 +08:00
YAMAMOTO Takashi
bbf571e5af
wasi_socket_ext.c: fix a typo in a comment (#4552) 2025-08-13 08:14:58 +08:00
Zhenwei Jin
f916eaa197
fix a sanitizer undefined issue (#4553)
Signed-off-by: zhenweijin <zhenwei.jin@intel.com>
2025-08-13 08:14:12 +08:00
TianlongLiang
d95b0e3d46
add new relocation type (#4500)
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
2025-08-11 15:09:33 +08:00
liang.he
a4f3077186
docs: add templates for advanced disclosure and security release emails in runbook (#4529) 2025-08-11 15:09:13 +08:00
Zhenwei Jin
2d05aece1a
add validation for struct field type (#4536) 2025-08-11 15:07:15 +08:00
dependabot[bot]
0baff8001d
build(deps): Bump github/codeql-action from 3.29.4 to 3.29.5 (#4538)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.4 to 3.29.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.29.4...v3.29.5)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.29.5
  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>
2025-08-11 15:06:34 +08:00
YAMAMOTO Takashi
c0a32b317d
wamr-compiler: add --llvm-version option (#4540)
llvm is one of the most important component of wamrc.
otoh, i often forget which version of llvm i linked to my wamrc binary.
this option would help people with a dim memory like me.

```shell
spacetanuki% ./wamrc --llvm-version
LLVM 19.1.2
spacetanuki%
```
2025-08-11 15:06:17 +08:00
YAMAMOTO Takashi
082e558d66
wamr-compiler/build_llvm.sh: use dot instead of source (#4541)
note that dot is in posix and more portable than source.
2025-08-11 15:06:00 +08:00
YAMAMOTO Takashi
f90cc086ad
nn-cli: fix get_output index (#4543) 2025-08-11 15:05:44 +08:00
YAMAMOTO Takashi
6b51c61f5e
wasi-nn: fix set_input memory address validation for the legacy abi (#4534)
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
cf. https://github.com/bytecodealliance/wasm-micro-runtime/issues/3223
2025-08-06 10:40:56 +08:00
YAMAMOTO Takashi
5b63f3526d
core/iwasm/libraries/lib-socket/test/nslookup.c: use gai_strerror (#4532)
Some checks are pending
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / build_llvm_libraries_on_windows (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_CUSTOM_NAME_SECTION=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_DEBUG_INTERP=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIBC_UVWASI=0 -DWAMR_BUILD_LIBC_WASI=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_PTHREAD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_WASI_THREADS=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_REF_TYPES=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_SIMD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_TAIL_CALL=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_DISABLE_HW_BOUND_CHECK=1) (push) Waiting to run
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on zephyr / smoke_test (push) Waiting to run
2025-08-05 08:39:35 +08:00
Zhenwei Jin
f5b7418f89
force wamrc debug build using release version of dependent libs on Windows (#4496)
Some checks are pending
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / build_llvm_libraries_on_windows (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_CUSTOM_NAME_SECTION=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_DEBUG_INTERP=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIBC_UVWASI=0 -DWAMR_BUILD_LIBC_WASI=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_PTHREAD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_WASI_THREADS=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_REF_TYPES=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_SIMD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_TAIL_CALL=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_DISABLE_HW_BOUND_CHECK=1) (push) Waiting to run
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on zephyr / smoke_test (push) Waiting to run
2025-08-04 09:28:44 +02:00
Zhenwei Jin
e1ba1dde10
enhance WAMR_BUILD_SANITIZER to support multiple sanitizers (#4489) 2025-08-04 09:16:18 +02:00
liang.he
390e78030e
Add inputs for optional WAMR releases in the release process workflow (#4486) 2025-08-04 10:48:02 +08:00
linear0211
b00ff11ff1
Fix parsing of multiple IPs in --addr-pool option (#4526) 2025-08-04 10:47:54 +08:00
liang.he
5d15f8fa2d
Update Dockerfile to install minimal Zephyr SDK (#4515)
Some checks failed
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $FAST_INTERP_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_iwasm (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, -DWAMR_DISABLE_HW_BOUND_CHECK=1, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13, darwin) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $AOT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $CLASSIC_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_INTERP_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $FAST_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_EAGER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $LLVM_LAZY_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_wasm_c_api (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, $MULTI_TIER_JIT_BUILD_OPTIONS, macos-13) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}, macos-14) (push) Has been cancelled
compilation on macos / build_samples_others (${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}, macos-13) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $AOT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Has been cancelled
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Has been cancelled
Reduce the time consumption for `docker build`.
2025-08-01 14:44:26 +08:00
liang.he
e40b05a5c6
Add smoke tests for iwasm and wamrc binaries to validate build output (#4455) 2025-08-01 14:31:36 +08:00
YAMAMOTO Takashi
29d465b44e
wasi_nn_tensorflowlite.cpp: make this compatible with wasmedge (#4517)
for wasi_ephemeral_nn,

* implement u8 input

* stop dealing with quantization.

  * wasi-nn doesn't have a concept of quantization or pre/post-processing.
    i can't think of any ways to make the backend perform zero-point/scale
    processing without risking to break other applications.

  * there seems to be applications which just use u8 inputs/outputs for
    a quantized model. (see [1] for an example.)
    for certain kinds of inputs/outputs, it usually just works.

this commit keeps the legacy wasi_nn logic intact for now.

tested with [1] with [2] applied.

WAMR with this patch:
```
Read graph weights, size in bytes: 3561598
[wasi_nn.c:297 WARNING] load_by_name_with_config() not found
[wasi_nn_tensorflowlite.cpp:272 WARNING] Default encoding is CPU.
Loaded graph into wasi-nn with ID: Graph#0
Read input tensor, size in bytes: 150528
   1.) [166](198)Aix galericulata
   2.) [34](1)Gallus gallus domesticus
   3.) [158](1)Coccothraustes coccothraustes
   4.) [778](1)Sitta europaea
   5.) [819](1)Anas platyrhynchos
```

wasmedge:
```
Read graph weights, size in bytes: 3561598
Loaded graph into wasi-nn with ID: Graph#0
Read input tensor, size in bytes: 150528
   1.) [166](198)Aix galericulata
   2.) [34](1)Gallus gallus domesticus
   3.) [158](1)Coccothraustes coccothraustes
   4.) [778](1)Sitta europaea
   5.) [819](1)Anas platyrhynchos
```

and "Aix galericulata" seems like a reasonable classification
of the image to my eyes.

[1] 67f174bab5/tflite-birds_v1-image

[2] https://github.com/second-state/WasmEdge-WASINN-examples/pull/204

Related:
https://github.com/bytecodealliance/wasm-micro-runtime/issues/3555
https://github.com/bytecodealliance/wasm-micro-runtime/issues/2611
2025-08-01 14:31:02 +08:00
Jaco Kroon
272a41dc80
Avoid executable stack by marking that it's not required. (#4418)
Also refer to: https://github.com/fluent/fluent-bit/issues/10513

Signed-off-by: Jaco Kroon <jaco@uls.co.za>
2025-08-01 14:30:39 +08:00
Zhenwei Jin
378320b886
loader: add type index checking (#4521)
Some checks are pending
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / build_llvm_libraries_on_windows (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_CUSTOM_NAME_SECTION=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_DEBUG_INTERP=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIBC_UVWASI=0 -DWAMR_BUILD_LIBC_WASI=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_PTHREAD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_WASI_THREADS=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_REF_TYPES=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_SIMD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_TAIL_CALL=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_DISABLE_HW_BOUND_CHECK=1) (push) Waiting to run
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on zephyr / smoke_test (push) Waiting to run
2025-08-01 08:58:26 +08:00
Zhenwei Jin
33eff933c0
add validation for rec indices in aot loader (#4520) 2025-08-01 08:45:57 +08:00
Zhenwei Jin
aad1866260
add validation for recursive type count in loader (#4522)
Some checks are pending
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / build_llvm_libraries_on_windows (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_CUSTOM_NAME_SECTION=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_DEBUG_INTERP=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIBC_UVWASI=0 -DWAMR_BUILD_LIBC_WASI=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_PTHREAD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_WASI_THREADS=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_REF_TYPES=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_SIMD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_TAIL_CALL=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_DISABLE_HW_BOUND_CHECK=1) (push) Waiting to run
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on zephyr / smoke_test (push) Waiting to run
2025-07-31 16:19:08 +08:00
YAMAMOTO Takashi
a0de8c7b7d
wasi-nn: fix buffer overruns in load_by_name/load_by_name_with_config (#4491)
Some checks are pending
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / build_llvm_libraries_on_windows (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_CUSTOM_NAME_SECTION=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_DEBUG_INTERP=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIBC_UVWASI=0 -DWAMR_BUILD_LIBC_WASI=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_PTHREAD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_WASI_THREADS=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_REF_TYPES=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_SIMD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_TAIL_CALL=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_DISABLE_HW_BOUND_CHECK=1) (push) Waiting to run
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on zephyr / smoke_test (push) Waiting to run
also, ensure NUL terminations here to simplify backend implementations.
(note that, although names with '\0' in the middle are usually valid
in wasm, wamr doesn't support them in general. we might revisit this
later.)

also, add a missing address validation in load_by_name_with_config.

cf. https://github.com/bytecodealliance/wasm-micro-runtime/issues/4487
2025-07-30 10:27:20 +08:00
ChenWen
c6afa131a4
feat(core): Support pthread using SPIRAM as stack (#4509)
Signed-off-by: chenwen@espressif.com <chenwen@espressif.com>
2025-07-30 10:26:41 +08:00
Liu Jia
6c6447fadb
Add regression test CI (#4512)
The entire CI test run takes approximately 3 minutes.
The test run fails if there is at least one failed case (failed > 0).
2025-07-30 10:26:19 +08:00
Marcin Kolny
2685f2cae0
Use venv to install llvm dependencies and run build script (#4514)
Installing pip packages system-wide is no longer recommended, therefore
we create virtual environment for setting up the build environment for LLVM.
2025-07-30 10:25:52 +08:00
dependabot[bot]
2fe36f4516
build(deps): Bump github/codeql-action from 3.29.3 to 3.29.4 (#4519)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.3 to 3.29.4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.29.3...v3.29.4)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.29.4
  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>
2025-07-30 10:25:21 +08:00
TianlongLiang
b322e297c6
Add CLI option for iwasm to create and attach shared heap to wasm app (#4499)
Some checks are pending
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $CLASSIC_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_INTERP_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / run_samples_file (-DWAMR_BUILD_SGX_IPFS=1, $FAST_JIT_BUILD_OPTIONS, ${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, linux-sgx) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $SIMD_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, aot, $XIP_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on SGX / spec_test_default (${{ needs.build_llvm_libraries.outputs.cache_key }}, ubuntu-22.04, fast-jit, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / build_llvm_libraries_on_windows (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=0) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_CUSTOM_NAME_SECTION=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_DEBUG_INTERP=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIBC_UVWASI=0 -DWAMR_BUILD_LIBC_WASI=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_PTHREAD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_LIB_WASI_THREADS=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_REF_TYPES=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_SIMD=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_BUILD_TAIL_CALL=1) (push) Waiting to run
compilation on windows-latest / build_iwasm (-DWAMR_DISABLE_HW_BOUND_CHECK=1) (push) Waiting to run
compilation on windows-latest / build_wamrc (${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}, windows-latest) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (classic-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $DEFAULT_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $MULTI_MODULES_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $THREADS_TEST_OPTIONS) (push) Blocked by required conditions
compilation on windows-latest / test (fast-interp, $WASI_TEST_OPTIONS) (push) Blocked by required conditions
compilation on zephyr / smoke_test (push) Waiting to run
2025-07-29 11:13:23 +08:00
YAMAMOTO Takashi
f34d28cfbc
lib-socket: implement gai_strerror (#4508)
cf. https://pubs.opengroup.org/onlinepubs/9799919799/functions/gai_strerror.html
2025-07-29 11:12:27 +08:00
YAMAMOTO Takashi
224b426d70
doc/build_wasm_app.md: restore the recommendation of exact version match (#4518)
the intention of the original text was to recommend to use the exactly
same version (eg. 2.4.1) regardless of AOT_CURRENT_VERSION.
2025-07-29 10:33:28 +08:00
334 changed files with 15784 additions and 8447 deletions

View File

@ -1,5 +0,0 @@
---
name: Blank Issue
about: Create a blank issue.
title: ''
---

41
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,41 @@
---
name: Bug report
about: Create a report to help us improve
title: "Add a placeholder for issue title. ex: [BUG]"
labels: bug
assignees: ""
---
**Is it a security vulnerability?**
If it results in a crash or hang, please refer to [a quick checklist](../../doc/security_need_to_know.md#is-this-bug-considered-a-security-vulnerability) to determine if it is a security vulnerability. If you are still unsure, please report it through [a security advisor](https://github.com/bytecodealliance/wasm-micro-runtime/security/advisories) and allow the maintainer to make a decision. Thank you.
**Describe the bug**
A clear and concise description of what the bug is.
**Version**
Information like tags, release version, commits.
**To Reproduce**
Steps to reproduce the behavior:
1. Compile iwasm with flags like '...'
2. (Optional) Compile wamrc with flags like '....'
3. (Optional) Run wamrc with CLI options like '...' to generate .aot
4. Run iwasm with CLI options like '...'
5. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Actual Result**
What you've got.
**Desktop (please complete the following information):**
- Arch [e.g. x86_64, arm64, 32bit]
- Board [e.g. STM32F407]
- OS [e.g. Linux, Windows, macOS, FreeRTOS]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.

1
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1 @@
blank_issues_enabled: true

View File

@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: 'Add a placeholder for issue title. ex: [RFC]'
labels: help wanted
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@ -1,28 +0,0 @@
---
name: Improvement
about: A feature request or code improvement.
title: ''
labels: ''
assignees: ''
---
Thanks for filing a feature request! Please fill out the TODOs below.
#### Feature
TODO: Brief description of the feature/improvement you'd like to see in WAMR
#### Benefit
TODO: What is the value of adding this in WAMR? What problems does it solve?
#### Implementation
TODO: Do you have an implementation plan, and/or ideas for data structures or
algorithms to use?
#### Alternatives
TODO: What are the alternative implementation approaches or alternative ways to
solve the problem that this feature would solve? How do these alternatives
compare to this proposal?

View File

@ -1,36 +0,0 @@
---
name: WAMR bug or defect report
about: Report a bug or defect in WAMR
title: ''
---
Thanks for filing a bug or defect report! Please fill out the TODOs below.
### Subject of the issue
Describe the bug or defect here.
### Test case
Upload the related wasm file, wast file or the source files if you can.
### Your environment
* Host OS
* WAMR version, platform, cpu architecture, running mode, etc.
### Steps to reproduce
Tell us how to reproduce this bug or defect.
### Expected behavior
Tell us what should happen
### Actual behavior
Tell us what happens instead
### Extra Info
Anything else you'd like to add?

46
.github/codeql/codeql_config.yml vendored Normal file
View File

@ -0,0 +1,46 @@
# Copyright (C) 2019 Intel Corporation. All rights reserved.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
paths:
- .github
- core/iwasm
- core/shared/platform/common/
- core/shared/platform/include/
- core/shared/platform/linux/
- product-mini/platforms/common/
- product-mini/platforms/linux/
# TODO: add other platforms back if able to do cross-compilation
# - product-mini/platforms/
# TODO: add samples back after buildscript modification
# - need to ignore workloads and wasm-apps
# - samples
- wamr-compiler/
paths-ignore:
# always ignore build
- '**/build/**'
- '**/test*/**'
- '**/wasm-app*/**'
- core/deps/
# platform specific
- core/iwasm/aot/arch/aot_reloc_aarch64.c
- core/iwasm/aot/arch/aot_reloc_arc.c
- core/iwasm/aot/arch/aot_reloc_arm.c
- core/iwasm/aot/arch/aot_reloc_dummy.c
- core/iwasm/aot/arch/aot_reloc_mips.c
- core/iwasm/aot/arch/aot_reloc_riscv.c
- core/iwasm/aot/arch/aot_reloc_thumb.c
- core/iwasm/aot/arch/aot_reloc_xtensa.c
- core/iwasm/libraries/lib-rats/
- core/iwasm/libraries/lib-socket/
- core/iwasm/libraries/lib-wasi-threads/*-test/
- core/shared/platform/common/freertos/
- core/shared/platform/common/math/
#TODO: add me back if lldb libraries installed
- core/iwasm/compilation/debug/
# spend disk space and slow
- core/iwasm/libraries/wasi-nn/src/wasi_nn_tflite*
#TODO: add me back if openvino installed
- core/iwasm/libraries/wasi-nn/src/wasi_nn_openvino*
# for wasm
- core/iwasm/libraries/wasi-nn/include/wasi_nn.h
# reference
- core/iwasm/common/arch/invokeNative_general.c

View File

@ -5,308 +5,117 @@
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
# #
sudo apt update # This script is used to build the WAMR project for CodeQL analysis.
sudo apt install -y build-essential cmake g++-multilib libgcc-12-dev lib32gcc-12-dev ccache ninja-build # Pre-requisites
sudo apt -qq update
sudo apt install -y -qq build-essential cmake g++-multilib libgcc-12-dev lib32gcc-12-dev ccache ninja-build
LLVM_VER=18.1.8
pushd /opt
sudo wget --progress=dot:giga -O clang+llvm-x86_64-linux-gnu.tar.xz https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VER}/clang+llvm-${LLVM_VER}-x86_64-linux-gnu-ubuntu-18.04.tar.xz \
&& tar -xf clang+llvm-x86_64-linux-gnu.tar.xz \
&& mv clang+llvm-${LLVM_VER}-x86_64-linux-gnu-ubuntu-18.04 llvm-${LLVM_VER}
popd
# libtinfo.so.5 for /opt/llvm-18.1.8/lib/libomptarget.rtl.amdgpu.so.18.1
sudo apt -qq update
wget http://security.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
sudo apt install -y -qq ./libtinfo5_6.3-2ubuntu0.1_amd64.deb
# Start the build process
WAMR_DIR=${PWD} WAMR_DIR=${PWD}
LLVM_DIR=/opt/llvm-${LLVM_VER}/lib/cmake/llvm
# TODO: use pre-built llvm binary to build wamrc to # Function to build wamrc
# avoid static code analysing for llvm build_wamrc() {
: ' local options="$1"
# build wamrc echo "Building wamrc with options: $options"
cd ${WAMR_DIR}/wamr-compiler
./build_llvm.sh
rm -fr build && mkdir build && cd build
cmake ..
make -j
if [[ $? != 0 ]]; then
echo "Failed to build wamrc!"
exit 1;
fi
'
# build iwasm with default features enabled pushd ${WAMR_DIR}/wamr-compiler
cd ${WAMR_DIR}/product-mini/platforms/linux rm -rf build
rm -fr build && mkdir build && cd build cmake -S . -B build \
cmake .. -G Ninja \
make -j -DCMAKE_BUILD_TYPE=Debug \
if [[ $? != 0 ]]; then -DWAMR_BUILD_WITH_CUSTOM_LLVM=1 -DLLVM_DIR=${LLVM_DIR} \
echo "Failed to build iwasm with default features enabled!" $options
exit 1; cmake --build build --target wamrc --parallel
fi if [[ $? != 0 ]]; then
echo "Failed to build wamrc with options: $options"
exit 1
fi
popd
}
# build iwasm with default features enabled on x86_32 # Function to build iwasm
cd ${WAMR_DIR}/product-mini/platforms/linux build_iwasm() {
rm -fr build && mkdir build && cd build local options="$1"
cmake .. -DWAMR_BUILD_TARGET=X86_32 echo "Building iwasm with options: $options"
make -j
if [[ $? != 0 ]]; then
echo "Failed to build iwasm with default features enabled on x86_32!"
exit 1;
fi
# build iwasm with classic interpreter enabled pushd ${WAMR_DIR}/product-mini/platforms/linux
cd ${WAMR_DIR}/product-mini/platforms/linux rm -rf build
rm -rf build && mkdir build && cd build cmake -S . -B build \
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_FAST_INTERP=0 -G Ninja \
make -j -DCMAKE_BUILD_TYPE=Debug \
if [[ $? != 0 ]]; then -DLLVM_DIR=${LLVM_DIR} \
echo "Failed to build iwasm with classic interpreter enabled!" $options
exit 1; cmake --build build --target iwasm --parallel
fi if [[ $? != 0 ]]; then
echo "Failed to build iwasm with options: $options"
exit 1
fi
popd
}
# build iwasm with extra features enabled # List of compilation options for wamrc
cd ${WAMR_DIR}/product-mini/platforms/linux wamrc_options_list=(
rm -fr build && mkdir build && cd build #default
cmake .. -DCMAKE_BUILD_TYPE=Debug \ ""
-DWAMR_BUILD_LIB_PTHREAD=1 -DWAMR_BUILD_LIB_PTHREAD_SEMAPHORE=1 \ )
-DWAMR_BUILD_MULTI_MODULE=1 -DWAMR_BUILD_SIMD=1 \
-DWAMR_BUILD_TAIL_CALL=1 -DWAMR_BUILD_REF_TYPES=1 \
-DWAMR_BUILD_CUSTOM_NAME_SECTION=1 -DWAMR_BUILD_MEMORY_PROFILING=1 \
-DWAMR_BUILD_PERF_PROFILING=1 -DWAMR_BUILD_DUMP_CALL_STACK=1 \
-DWAMR_BUILD_LOAD_CUSTOM_SECTION=1
make -j
if [[ $? != 0 ]]; then
echo "Failed to build wamrc iwasm with extra features enabled!"
exit 1;
fi
# build iwasm with global heap pool enabled # List of compilation options for iwasm
cd ${WAMR_DIR}/product-mini/platforms/linux iwasm_options_list=(
rm -fr build && mkdir build && cd build #default
cmake .. -DCMAKE_BUILD_TYPE=Debug \ ""
-DWAMR_BUILD_ALLOC_WITH_USER_DATA=1 \ # +classic interp
-DWAMR_DISABLE_STACK_HW_BOUND_CHECK=1 \ "-DWAMR_BUILD_FAST_INTERP=0"
-DWAMR_BUILD_GLOBAL_HEAP_POOL=1 \ # +llvm jit + fast jit
-DWAMR_BUILD_GLOBAL_HEAP_SIZE=131072 "-DWAMR_BUILD_JIT=1 -DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_FAST_JIT_DUMP=1"
make -j #
if [[ $? != 0 ]]; then "-DWAMR_BUILD_TARGET=X86_32"
echo "Failed to build iwasm with global heap pool enabled!" #
exit 1; # libraries
fi "-DWAMR_BUILD_LIBC_BUILTIN=0 -DWAMR_BUILD_LIBC_UVWASI=1 -DWAMR_BUILD_LIBC_EMCC=1"
"-DWAMR_BUILD_THREAD_MGR=1 -DWAMR_BUILD_LIB_PTHREAD=1 -DWAMR_BUILD_SHARED_MEMORY=1 -DWAMR_BUILD_LIB_PTHREAD_SEMAPHORE=1"
"-DWAMR_BUILD_THREAD_MGR=1 -DWAMR_BUILD_LIB_WASI_THREADS=1 -DWAMR_BUILD_SHARED_MEMORY=1 -DWAMR_BUILD_LIB_PTHREAD_SEMAPHORE=1"
"-DWAMR_BUILD_WASI_NN=1 -DWAMR_BUILD_WASI_NN_LLAMACPP=1"
#
# Wasm specs
"-DWAMR_BUILD_GC=1 -DWAMR_BUILD_EXCE_HANDLING=1 -DWAMR_BUILD_STRINGREF=1 -DWAMR_STRINGREF_IMPL_SOURCE=STUB"
"-DWAMR_BUILD_MEMORY64=1 -DWAMR_BUILD_MULTI_MEMORY=1"
#
# WARM features
"-DWAMR_BUILD_MULTI_MODULE=1 -DWAMR_BUILD_MINI_LOADER=1 -DWAMR_BUILD_SHARED_HEAP=1"
"-DWAMR_DISABLE_HW_BOUND_CHECK=1"
"-DWAMR_CONFIGURABLE_BOUNDS_CHECKS=1"
# - Debug
"-DWAMR_BUILD_DEBUG_INTERP=1 -DWAMR_BUILD_DEBUG_AOT=1 -DWAMR_BUILD_DYNAMIC_AOT_DEBUG=1"
# - developer options
"-DWAMR_BUILD_CUSTOM_NAME_SECTION=1 -DWAMR_BUILD_LOAD_CUSTOM_SECTION=1 -DWAMR_BUILD_DUMP_CALL_STACK=1 -DWAMR_BUILD_LINUX_PERF=1 -DWAMR_BUILD_AOT_VALIDATOR=1 -DWAMR_BUILD_MEMORY_PROFILING=1 -DWAMR_BUILD_PERF_PROFILING=1"
# - global heap
"-DWAMR_BUILD_ALLOC_WITH_USER_DATA=1 -DWAMR_BUILD_GLOBAL_HEAP_POOL=1 -DWAMR_BUILD_GLOBAL_HEAP_SIZE=131072"
"-DWAMR_BUILD_QUICK_AOT_ENTRY=0 -DWAMR_DISABLE_WAKEUP_BLOCKING_OP=1 -DWAMR_BUILD_MODULE_INST_CONTEXT=0"
# - pgo
"-DWAMR_BUILD_STATIC_PGO=1"
# TODO: SGX specifics.
)
# build iwasm with wasi-threads enabled # Loop through all iwasm options and build
cd ${WAMR_DIR}/product-mini/platforms/linux for options in "${iwasm_options_list[@]}"; do
rm -fr build && mkdir build && cd build build_iwasm "$options"
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_LIB_WASI_THREADS=1 done
make -j
if [[ $? != 0 ]]; then
echo "Failed to build iwasm with wasi-threads enabled!"
exit 1;
fi
# build iwasm with GC enabled # Loop through all wamrc options and build
cd ${WAMR_DIR}/product-mini/platforms/linux for options in "${wamrc_options_list[@]}"; do
rm -rf build && mkdir build && cd build build_wamrc "$options"
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_GC=1 done
make -j
if [[ $? != 0 ]]; then
echo "Failed to build iwasm with GC enabled!"
exit 1;
fi
# build iwasm with exception handling enabled
cd ${WAMR_DIR}/product-mini/platforms/linux
rm -rf build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_EXCE_HANDLING=1
make -j
if [[ $? != 0 ]]; then
echo "Failed to build iwasm with exception handling enabled!"
exit 1;
fi
# build iwasm with memory64 enabled
cd ${WAMR_DIR}/product-mini/platforms/linux
rm -rf build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_MEMORY64=1
make -j
if [[ $? != 0 ]]; then
echo "Failed to build iwasm with memory64 enabled!"
exit 1;
fi
# build iwasm with multi-memory enabled
cd ${WAMR_DIR}/product-mini/platforms/linux
rm -rf build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_MULTI_MEMORY=1
make -j
if [[ $? != 0 ]]; then
echo "Failed to build iwasm with multi-memory enabled!"
exit 1;
fi
# build iwasm with hardware boundary check disabled
cd ${WAMR_DIR}/product-mini/platforms/linux
rm -rf build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_DISABLE_HW_BOUND_CHECK=1
make -j
if [[ $? != 0 ]]; then
echo "Failed to build iwasm with hardware boundary check disabled!"
exit 1;
fi
# build iwasm with quick AOT entry disabled
cd ${WAMR_DIR}/product-mini/platforms/linux
rm -rf build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_QUICK_AOT_ENTRY=0
make -j
if [[ $? != 0 ]]; then
echo "Failed to build iwasm with quick AOT entry disabled!"
exit 1;
fi
# build iwasm with wakeup of blocking operations disabled
cd ${WAMR_DIR}/product-mini/platforms/linux
rm -rf build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_DISABLE_WAKEUP_BLOCKING_OP=1
make -j
if [[ $? != 0 ]]; then
echo "Failed to build iwasm with wakeup of blocking operations disabled!"
exit 1;
fi
# build iwasm with module instance context disabled
cd ${WAMR_DIR}/product-mini/platforms/linux
rm -rf build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_MODULE_INST_CONTEXT=0 \
-DWAMR_BUILD_LIBC_BUILTIN=0 -DWAMR_BUILD_LIBC_WASI=0
make -j
if [[ $? != 0 ]]; then
echo "Failed to build iwasm with module instance context disabled!"
exit 1;
fi
# build iwasm with libc-uvwasi enabled
cd ${WAMR_DIR}/product-mini/platforms/linux
rm -fr build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_LIBC_UVWASI=1
make -j
if [[ $? != 0 ]]; then
echo "Failed to build iwasm with libc-uvwasi enabled!"
exit 1;
fi
# build iwasm with fast jit lazy mode enabled
cd ${WAMR_DIR}/product-mini/platforms/linux
rm -rf build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_FAST_JIT_DUMP=1
make -j
if [[ $? != 0 ]]; then
echo "Failed to build iwasm with fast jit lazy mode enabled!"
exit 1;
fi
# build iwasm with fast jit eager mode enabled
cd ${WAMR_DIR}/product-mini/platforms/linux
rm -rf build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_FAST_JIT_DUMP=1
make -j
if [[ $? != 0 ]]; then
echo "Failed to build iwasm with fast jit eager mode enabled!"
exit 1;
fi
# TODO: use pre-built llvm binary to build llvm-jit and multi-tier-jit
: '
# build iwasm with llvm jit lazy mode enabled
cd ${WAMR_DIR}/product-mini/platforms/linux
rm -rf build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_JIT=1
make -j
if [[ $? != 0 ]]; then
echo "Failed to build llvm jit lazy mode enabled!"
exit 1;
fi
# build iwasm with llvm jit eager mode enabled
cd ${WAMR_DIR}/product-mini/platforms/linux
rm -rf build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_JIT=1 -DWAMR_BUILD_LAZY_JIT=0
make -j
if [[ $? != 0 ]]; then
echo "Failed to build llvm jit eager mode enabled!"
exit 1;
fi
# build iwasm with multi-tier jit enabled
cd ${WAMR_DIR}/product-mini/platforms/linux
rm -rf build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=1 \
-DWAMR_BUILD_FAST_JIT_DUMP=1
make -j
if [[ $? != 0 ]]; then
echo "Failed to build iwasm with multi-tier jit enabled!"
exit 1;
fi
'
# build iwasm with wasm mini-loader enabled
cd ${WAMR_DIR}/product-mini/platforms/linux
rm -rf build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_MINI_LOADER=1
make -j
if [[ $? != 0 ]]; then
echo "Failed to build with wasm mini-loader enabled!"
exit 1;
fi
# build iwasm with source debugging enabled
cd ${WAMR_DIR}/product-mini/platforms/linux
rm -rf build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_DEBUG_INTERP=1 -DWAMR_BUILD_DEBUG_AOT=1
make -j
if [[ $? != 0 ]]; then
echo "Failed to build iwasm with source debugging enabled!"
exit 1;
fi
# build iwasm with AOT static PGO enabled
cd ${WAMR_DIR}/product-mini/platforms/linux
rm -rf build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_STATIC_PGO=1
make -j
if [[ $? != 0 ]]; then
echo "Failed to build iwasm with AOT static PGO enabled!"
exit 1;
fi
# build iwasm with configurable bounds checks enabled
cd ${WAMR_DIR}/product-mini/platforms/linux
rm -rf build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_CONFIGURABLE_BOUNDS_CHECKS=1
make -j
if [[ $? != 0 ]]; then
echo "Failed to build iwasm with configurable bounds checks enabled!"
exit 1;
fi
# build iwasm with linux perf support enabled
cd ${WAMR_DIR}/product-mini/platforms/linux/
rm -rf build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_LINUX_PERF=1
make -j
if [[ $? != 0 ]]; then
echo "Failed to build iwasm with linux perf support enabled!"
exit 1;
fi
# build iwasm with shared heap enabled
cd ${WAMR_DIR}/product-mini/platforms/linux
rm -rf build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_SHARED_HEAP=1
make -j
if [[ $? != 0 ]]; then
echo "Failed to build iwasm with shared heap enabled!"
exit 1;
fi
# build iwasm with dynamic aot debug enabled
cd ${WAMR_DIR}/product-mini/platforms/linux
rm -rf build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_DYNAMIC_AOT_DEBUG=1
make -j
if [[ $? != 0 ]]; then
echo "Failed to build iwasm dynamic aot debug enabled!"
exit 1;
fi

View File

@ -26,7 +26,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: Build and save Docker image(wasm-debug-server:${{ inputs.ver_num }}) to tar file - name: Build and save Docker image(wasm-debug-server:${{ inputs.ver_num }}) to tar file
run: | run: |

View File

@ -97,14 +97,14 @@ jobs:
matrix: matrix:
include: include:
- build_options: $DEFAULT_BUILD_OPTIONS - build_options: $DEFAULT_BUILD_OPTIONS
suffix: '' suffix: ""
- build_options: $GC_EH_BUILD_OPTIONS - build_options: $GC_EH_BUILD_OPTIONS
suffix: '-gc-eh' suffix: "-gc-eh"
permissions: permissions:
contents: write # for uploading release artifacts contents: write # for uploading release artifacts
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v6
- name: get cached LLVM libraries - name: get cached LLVM libraries
id: retrieve_llvm_libs id: retrieve_llvm_libs
@ -126,8 +126,32 @@ jobs:
cmake --build build --config Release --parallel 4 cmake --build build --config Release --parallel 4
working-directory: ${{ inputs.cwd }} working-directory: ${{ inputs.cwd }}
- name: smoke test on non-Windows
if: ${{ !startsWith(inputs.runner, 'windows') }}
shell: bash
run: |
if [[ ! -f build/iwasm ]]; then
echo "iwasm binary is not found in the expected location."
exit 1
fi
build/iwasm --version
working-directory: ${{ inputs.cwd }}
- name: smoke test on Windows
if: ${{ startsWith(inputs.runner, 'windows') }}
shell: bash
run: |
if [[ ! -f build/Release/iwasm ]]; then
echo "iwasm binary is not found in the expected location."
exit 1
fi
build/Release/iwasm --version
working-directory: ${{ inputs.cwd }}
- name: Compress the binary on Windows - name: Compress the binary on Windows
if: inputs.runner == 'windows-latest' if: inputs.runner == 'windows-2022'
run: | run: |
tar -czf iwasm${{ matrix.suffix }}-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz iwasm.exe tar -czf iwasm${{ matrix.suffix }}-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz iwasm.exe
Compress-Archive -Path iwasm.exe -DestinationPath iwasm${{ matrix.suffix }}-${{ inputs.ver_num }}-${{ inputs.runner }}.zip Compress-Archive -Path iwasm.exe -DestinationPath iwasm${{ matrix.suffix }}-${{ inputs.ver_num }}-${{ inputs.runner }}.zip
@ -135,7 +159,7 @@ jobs:
working-directory: ${{ inputs.cwd }}/build/Release working-directory: ${{ inputs.cwd }}/build/Release
- name: compress the binary on non-Windows - name: compress the binary on non-Windows
if: inputs.runner != 'windows-latest' if: inputs.runner != 'windows-2022'
run: | run: |
# Follow the symlink to the actual binary file # Follow the symlink to the actual binary file
tar --dereference -czf iwasm${{ matrix.suffix }}-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz iwasm tar --dereference -czf iwasm${{ matrix.suffix }}-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz iwasm

View File

@ -45,7 +45,7 @@ jobs:
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: install dependencies for non macos-14 - name: install dependencies for non macos-14
if: inputs.os != 'macos-14' if: inputs.os != 'macos-14'
@ -118,11 +118,11 @@ jobs:
key: 0-ccache-${{ inputs.os }}-${{ steps.get_last_commit.outputs.last_commit }} key: 0-ccache-${{ inputs.os }}-${{ steps.get_last_commit.outputs.last_commit }}
restore-keys: | restore-keys: |
0-ccache-${{ inputs.os }} 0-ccache-${{ inputs.os }}
if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true' && inputs.os == 'windows-latest' if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true' && inputs.os == 'windows-2022'
# Install tools on Windows # Install tools on Windows
- run: choco install -y ccache ninja - run: choco install -y ccache ninja
if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true' && inputs.os == 'windows-latest' if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true' && inputs.os == 'windows-2022'
- name: Build LLVM libraries - name: Build LLVM libraries
if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true' if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true'

View File

@ -55,7 +55,7 @@ jobs:
contents: write # for uploading release artifacts contents: write # for uploading release artifacts
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v6
- name: download and install wasi-sdk - name: download and install wasi-sdk
run: | run: |

View File

@ -45,7 +45,7 @@ jobs:
contents: write # for uploading release artifacts contents: write # for uploading release artifacts
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v6
- name: download wamr-app-framework - name: download wamr-app-framework
run: | run: |

View File

@ -24,10 +24,10 @@ jobs:
contents: write # for uploading release artifacts contents: write # for uploading release artifacts
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v6
- name: Use Node.js 18.x - name: Use Node.js 18.x
uses: actions/setup-node@v4 uses: actions/setup-node@v6
with: with:
node-version: 18.x node-version: 18.x

View File

@ -28,7 +28,7 @@ jobs:
os: [ubuntu-22.04] os: [ubuntu-22.04]
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: install-wasi-sdk-wabt - name: install-wasi-sdk-wabt
uses: ./.github/actions/install-wasi-sdk-wabt uses: ./.github/actions/install-wasi-sdk-wabt

View File

@ -41,7 +41,7 @@ jobs:
contents: write # for uploading release artifacts contents: write # for uploading release artifacts
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v6
- name: get cached LLVM libraries - name: get cached LLVM libraries
id: retrieve_llvm_libs id: retrieve_llvm_libs
@ -62,8 +62,32 @@ jobs:
cmake --build build --config Release --parallel 4 cmake --build build --config Release --parallel 4
working-directory: wamr-compiler working-directory: wamr-compiler
- name: smoke test on non-windows
if: ${{ !startsWith(inputs.runner, 'windows') }}
shell: bash
run: |
if [[ ! -f build/wamrc ]]; then
echo "wamrc binary is not found in the expected location."
exit 1
fi
build/wamrc --version
working-directory: wamr-compiler
- name: smoke test on Windows
if: ${{ startsWith(inputs.runner, 'windows') }}
shell: bash
run: |
if [[ ! -f build/Release/wamrc ]]; then
echo "wamrc binary is not found in the expected location."
exit 1
fi
build/Release/wamrc --version
working-directory: wamr-compiler
- name: Compress the binary on Windows - name: Compress the binary on Windows
if: inputs.runner == 'windows-latest' && inputs.release if: inputs.runner == 'windows-2022' && inputs.release
run: | run: |
tar -czf wamrc-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz wamrc.exe tar -czf wamrc-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz wamrc.exe
Compress-Archive -Path wamrc.exe -DestinationPath wamrc-${{ inputs.ver_num }}-${{ inputs.runner }}.zip Compress-Archive -Path wamrc.exe -DestinationPath wamrc-${{ inputs.ver_num }}-${{ inputs.runner }}.zip
@ -71,7 +95,7 @@ jobs:
working-directory: wamr-compiler/build/Release working-directory: wamr-compiler/build/Release
- name: compress the binary on non-Windows - name: compress the binary on non-Windows
if: inputs.runner != 'windows-latest' && inputs.release if: inputs.runner != 'windows-2022' && inputs.release
run: | run: |
# Follow the symlink to the actual binary file # Follow the symlink to the actual binary file
tar --dereference -czf wamrc-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz wamrc tar --dereference -czf wamrc-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz wamrc

View File

@ -14,7 +14,7 @@ jobs:
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: cmake execute to generate version.h - name: cmake execute to generate version.h
run: cmake -B build_version -S . run: cmake -B build_version -S .

View File

@ -1,29 +1,24 @@
# For most projects, this workflow file will not need changing; you simply need # Copyright (C) 2019 Intel Corporation. All rights reserved.
# to commit it to your repository. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
name: "CodeQL" name: "CodeQL"
on: on:
#pull_request: # run on every push to the feature-development branch
# types: # the main branch is covered by below cron plan
# - opened push:
# branches: '*' branches:
#push: - dev/**
# branches: [ "main" ] # midnight UTC on the latest commit on the main branch
# midnight UTC
schedule: schedule:
- cron: '0 0 * * *' - cron: "0 0 * * *"
# allow to be triggered manually # allow to be triggered manually
workflow_dispatch: workflow_dispatch:
permissions:
contents: read
jobs: jobs:
analyze: analyze:
# only run this job if the repository is not a fork
# if want to run this job on a fork, please remove the if condition
if: github.repository == 'bytecodealliance/wasm-micro-runtime' if: github.repository == 'bytecodealliance/wasm-micro-runtime'
name: Analyze name: Analyze
# Runner size impacts CodeQL analysis time. To learn more, please see: # Runner size impacts CodeQL analysis time. To learn more, please see:
@ -31,14 +26,15 @@ jobs:
# - https://gh.io/supported-runners-and-hardware-resources # - https://gh.io/supported-runners-and-hardware-resources
# - https://gh.io/using-larger-runners # - https://gh.io/using-larger-runners
# Consider using larger runners for possible analysis time improvements. # Consider using larger runners for possible analysis time improvements.
runs-on: ${{ (matrix.language == 'swift' && 'macos-13') || 'ubuntu-22.04' }} # But it is not free, so please be aware of the cost.
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }} runs-on: ubuntu-22.04
timeout-minutes: 360
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
language: [ 'cpp' ] #TODO: add actions
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby', 'swift' ] language: ["cpp"]
permissions: permissions:
contents: read contents: read
@ -47,66 +43,85 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v3 uses: actions/checkout@v6
with: with:
submodules: recursive submodules: recursive
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@v3.29.3 uses: github/codeql-action/init@v4.31.5
with: with:
languages: ${{ matrix.language }} languages: ${{ matrix.language }}
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality # queries: security-extended,security-and-quality
queries: security-and-quality queries: security-and-quality
config-file: ./.github/codeql/codeql_config.yml
# Command-line programs to run using the OS shell.
# See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
- run: | - run: |
./.github/scripts/codeql_buildscript.sh ./.github/scripts/codeql_buildscript.sh
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3.29.3 uses: github/codeql-action/analyze@v4.31.5
with: with:
category: "/language:${{matrix.language}}" category: "/language:${{matrix.language}}"
upload: false upload: false
id: step1 id: step1
# Filter out rules with low severity or high false positve rate # - cpp/alloca-in-loop is about touch_pages() which is intended to
# Also filter out warnings in third-party code # - cpp/command-line-injection is about bh_system() which is used to
# - cpp/path-injection is used in bh_read_file_to_buffer() to load a .wasm.
# or operate a stack usage file which is not sensitive or generate a .aot
# - cpp/suspicious-pointer-scaling
# - wasm_runtime_invoke_native() used to trivial registers
# - cpp/uncontrolled-process-operation is about dlopen() which is used by
# native libraries registrations.
# - cpp/world-writable-file-creation is about fopen() a temporary file
# for perf-PID.map or .aot(wamrc). The permission isn't sensitive.
# file.
#
# execute customized compiler
- name: Filter out unwanted errors and warnings - name: Filter out unwanted errors and warnings
uses: advanced-security/filter-sarif@v1 uses: advanced-security/filter-sarif@v1
with: with:
patterns: | patterns: |
-**:cpp/path-injection ## Exclude files and directories
-**:cpp/world-writable-file-creation -**/build/**
-**:cpp/poorly-documented-function -**/core/deps/**
-**:cpp/potentially-dangerous-function
-**:cpp/use-of-goto
-**:cpp/integer-multiplication-cast-to-long
-**:cpp/comparison-with-wider-type
-**:cpp/leap-year/*
-**:cpp/ambiguously-signed-bit-field
-**:cpp/suspicious-pointer-scaling
-**:cpp/suspicious-pointer-scaling-void
-**:cpp/unsigned-comparison-zero
-**/cmake*/Modules/** -**/cmake*/Modules/**
-**/test*/**
-**/wasm-app*/**
## Exclude rules 1. Related to formatting, style
-**:cpp/commented-out-code
-**:cpp/complex-condition
-**:cpp/empty-if
-**:cpp/fixme-comment
-**:cpp/include-non-header
-**:cpp/long-switch
-**:cpp/poorly-documented-function
-**:cpp/trivial-switch
-**:cpp/unused-local-variable
-**:cpp/unused-static-function
-**:cpp/unused-static-variable
-**:cpp/use-of-goto
## Exclude rules 2. Related to special usage of APIs
-**:cpp/alloca-in-loop
-**:cpp/command-line-injection
-**:cpp/path-injection
-core/iwasm/common/wasm_runtime_common.c:cpp/suspicious-pointer-scaling
-**:cpp/uncontrolled-process-operation
-**:cpp/world-writable-file-creation
input: ${{ steps.step1.outputs.sarif-output }}/cpp.sarif input: ${{ steps.step1.outputs.sarif-output }}/cpp.sarif
output: ${{ steps.step1.outputs.sarif-output }}/cpp.sarif output: ${{ steps.step1.outputs.sarif-output }}/cpp.sarif
- name: Upload CodeQL results to code scanning - name: Upload CodeQL results to code scanning
uses: github/codeql-action/upload-sarif@v3.29.3 uses: github/codeql-action/upload-sarif@v4.31.5
with: with:
sarif_file: ${{ steps.step1.outputs.sarif-output }} sarif_file: ${{ steps.step1.outputs.sarif-output }}
category: "/language:${{matrix.language}}" category: "/language:${{matrix.language}}"
- name: Upload CodeQL results as an artifact - name: Upload CodeQL results as an artifact
if: success() || failure() if: success() || failure()
uses: actions/upload-artifact@v4.6.2 uses: actions/upload-artifact@v5.0.0
with: with:
name: codeql-results name: codeql-results
path: ${{ steps.step1.outputs.sarif-output }} path: ${{ steps.step1.outputs.sarif-output }}

View File

@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
with: with:
fetch-depth: 0 fetch-depth: 0

View File

@ -101,7 +101,7 @@ jobs:
llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2204.outputs.cache_key }} llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2204.outputs.cache_key }}
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
# since jobs.id can't contain the dot character # since jobs.id can't contain the dot character
# it is hard to use `format` to assemble the cache key # it is hard to use `format` to assemble the cache key
@ -124,7 +124,7 @@ jobs:
- name: Build wamrc - name: Build wamrc
run: | run: |
mkdir build && cd build mkdir build && cd build
cmake .. cmake .. -DCMAKE_C_FLAGS="-Werror"
cmake --build . --config Release --parallel 4 cmake --build . --config Release --parallel 4
working-directory: wamr-compiler working-directory: wamr-compiler
@ -166,6 +166,7 @@ jobs:
"-DWAMR_BUILD_MULTI_MEMORY=1", "-DWAMR_BUILD_MULTI_MEMORY=1",
"-DWAMR_BUILD_SHARED=1", "-DWAMR_BUILD_SHARED=1",
"-DWAMR_BUILD_EXTENDED_CONST_EXPR=1", "-DWAMR_BUILD_EXTENDED_CONST_EXPR=1",
"-DWAMR_BUILD_LIME1=1 -DWAMR_BUILD_BULK_MEMORY=0 -DWAMR_BUILD_REF_TYPES=0 -DWAMR_BUILD_SIMD=0",
] ]
os: [ubuntu-22.04] os: [ubuntu-22.04]
platform: [android, linux] platform: [android, linux]
@ -269,7 +270,7 @@ jobs:
llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2204.outputs.cache_key }} llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2204.outputs.cache_key }}
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
# only download llvm cache when needed # only download llvm cache when needed
- name: Get LLVM libraries - name: Get LLVM libraries
@ -293,7 +294,7 @@ jobs:
if: matrix.platform == 'linux' if: matrix.platform == 'linux'
run: | run: |
mkdir build && cd build mkdir build && cd build
cmake .. ${{ matrix.make_options_run_mode }} ${{ matrix.make_options_feature }} cmake .. -DCMAKE_C_FLAGS="-Werror" ${{ matrix.make_options_run_mode }} ${{ matrix.make_options_feature }}
cmake --build . --config Release --parallel 4 cmake --build . --config Release --parallel 4
working-directory: product-mini/platforms/${{ matrix.platform }} working-directory: product-mini/platforms/${{ matrix.platform }}
@ -301,7 +302,7 @@ jobs:
if: matrix.platform == 'android' if: matrix.platform == 'android'
run: | run: |
mkdir build && cd build mkdir build && cd build
cmake .. ${{ matrix.make_options_run_mode }} ${{ matrix.make_options_feature }} \ cmake .. -DCMAKE_C_FLAGS="-Werror" ${{ matrix.make_options_run_mode }} ${{ matrix.make_options_feature }} \
-DWAMR_BUILD_TARGET=X86_64 -DWAMR_BUILD_TARGET=X86_64
cmake --build . --config Release --parallel 4 cmake --build . --config Release --parallel 4
working-directory: product-mini/platforms/${{ matrix.platform }} working-directory: product-mini/platforms/${{ matrix.platform }}
@ -327,7 +328,7 @@ jobs:
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: Get LLVM libraries - name: Get LLVM libraries
id: retrieve_llvm_libs id: retrieve_llvm_libs
@ -360,17 +361,59 @@ jobs:
- name: Install dependencies for X86_32 - name: Install dependencies for X86_32
if: matrix.build_target == 'X86_32' if: matrix.build_target == 'X86_32'
run: | run: |
sudo dpkg --add-architecture i386
sudo apt-get update sudo apt-get update
sudo apt-get install -y g++-multilib sudo apt-get install -y g++-multilib libzstd-dev:i386 zlib1g-dev:i386
- name: Build and run unit tests - name: Build and run unit tests
run: | run: |
mkdir build && cd build mkdir build && cd build
cmake .. -DWAMR_BUILD_TARGET=${{ matrix.build_target }} cmake .. -DWAMR_BUILD_TARGET=${{ matrix.build_target }}
cmake --build . --config Release --parallel 4 cmake --build . --parallel 4
ctest ctest --output-on-failure
working-directory: tests/unit working-directory: tests/unit
build_regression_tests:
needs:
[build_llvm_libraries_on_ubuntu_2204]
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-22.04]
include:
- os: ubuntu-22.04
llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2204.outputs.cache_key }}
steps:
- name: checkout
uses: actions/checkout@v6
- name: Get LLVM libraries
id: retrieve_llvm_libs
uses: actions/cache@v4
with:
path: |
./core/deps/llvm/build/bin
./core/deps/llvm/build/include
./core/deps/llvm/build/lib
./core/deps/llvm/build/libexec
./core/deps/llvm/build/share
key: ${{ matrix.llvm_cache_key }}
- name: Quit if cache miss
if: (steps.retrieve_llvm_libs.outputs.cache-hit != 'true')
run: echo "::error::can not get prebuilt llvm libraries" && exit 1
- name: Build wamrc and iwasm
run: |
./build_wamr.sh
working-directory: tests/regression/ba-issues
- name: Run regression tests
run: |
python run.py
working-directory: tests/regression/ba-issues
build_samples_wasm_c_api: build_samples_wasm_c_api:
needs: needs:
[ [
@ -399,7 +442,7 @@ jobs:
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: Get LLVM libraries - name: Get LLVM libraries
id: retrieve_llvm_libs id: retrieve_llvm_libs
@ -461,7 +504,7 @@ jobs:
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: Get LLVM libraries - name: Get LLVM libraries
id: retrieve_llvm_libs id: retrieve_llvm_libs
@ -580,6 +623,14 @@ jobs:
./shared_heap_test ./shared_heap_test
./shared_heap_test --aot ./shared_heap_test --aot
- name: Build Sample [import-func-callback]
run: |
cd samples/import-func-callback
mkdir build && cd build
cmake ..
cmake --build . --config Release --parallel 4
./import-func-callback
test: test:
needs: needs:
[ [
@ -624,7 +675,7 @@ jobs:
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: Set-up OCaml - name: Set-up OCaml
uses: ocaml/setup-ocaml@v3 uses: ocaml/setup-ocaml@v3

View File

@ -86,7 +86,7 @@ jobs:
llvm_cache_key: ${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }} llvm_cache_key: ${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: Get LLVM libraries - name: Get LLVM libraries
id: retrieve_llvm_libs id: retrieve_llvm_libs
@ -107,7 +107,7 @@ jobs:
- name: Build wamrc - name: Build wamrc
run: | run: |
mkdir build && cd build mkdir build && cd build
cmake .. cmake .. -DCMAKE_C_FLAGS="-Werror"
cmake --build . --config Release --parallel 4 cmake --build . --config Release --parallel 4
working-directory: wamr-compiler working-directory: wamr-compiler
@ -190,7 +190,7 @@ jobs:
llvm_cache_key: ${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }} llvm_cache_key: ${{ needs.build_llvm_libraries_on_intel_macos.outputs.cache_key }}
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
# only download llvm cache when needed # only download llvm cache when needed
- name: Get LLVM libraries - name: Get LLVM libraries
@ -213,7 +213,7 @@ jobs:
- name: Build iwasm - name: Build iwasm
run: | run: |
mkdir build && cd build mkdir build && cd build
cmake .. ${{ matrix.make_options_run_mode }} ${{ matrix.make_options_feature }} cmake .. -DCMAKE_C_FLAGS="-Werror" ${{ matrix.make_options_run_mode }} ${{ matrix.make_options_feature }}
cmake --build . --config Release --parallel 4 cmake --build . --config Release --parallel 4
working-directory: product-mini/platforms/${{ matrix.platform }} working-directory: product-mini/platforms/${{ matrix.platform }}
@ -243,7 +243,7 @@ jobs:
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: Get LLVM libraries - name: Get LLVM libraries
id: retrieve_llvm_libs id: retrieve_llvm_libs
@ -301,7 +301,7 @@ jobs:
llvm_cache_key: ${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }} llvm_cache_key: ${{ needs.build_llvm_libraries_on_arm_macos.outputs.cache_key }}
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: install-wasi-sdk-wabt - name: install-wasi-sdk-wabt
uses: ./.github/actions/install-wasi-sdk-wabt uses: ./.github/actions/install-wasi-sdk-wabt
@ -422,3 +422,11 @@ jobs:
cmake --build . --config Debug --parallel 4 cmake --build . --config Debug --parallel 4
./shared_heap_test ./shared_heap_test
./shared_heap_test --aot ./shared_heap_test --aot
- name: Build Sample [import-func-callback]
run: |
cd samples/import-func-callback
mkdir build && cd build
cmake ..
cmake --build . --config Release --parallel 4
./import-func-callback

View File

@ -64,6 +64,8 @@ jobs:
"boards/arm/rp2040/raspberrypi-pico/configs/nsh", "boards/arm/rp2040/raspberrypi-pico/configs/nsh",
# cortex-m7 # cortex-m7
"boards/arm/stm32h7/nucleo-h743zi/configs/nsh", "boards/arm/stm32h7/nucleo-h743zi/configs/nsh",
# cortex-m33
"boards/arm/rp23xx/raspberrypi-pico-2/configs/nsh",
# riscv32gc # riscv32gc
"boards/risc-v/qemu-rv/rv-virt/configs/nsh", "boards/risc-v/qemu-rv/rv-virt/configs/nsh",
# riscv64gc # riscv64gc
@ -85,21 +87,21 @@ jobs:
steps: steps:
- name: Checkout NuttX - name: Checkout NuttX
uses: actions/checkout@v4 uses: actions/checkout@v6
with: with:
repository: apache/nuttx repository: apache/nuttx
ref: releases/12.9 ref: releases/12.11
path: nuttx path: nuttx
- name: Checkout NuttX Apps - name: Checkout NuttX Apps
uses: actions/checkout@v4 uses: actions/checkout@v6
with: with:
repository: apache/nuttx-apps repository: apache/nuttx-apps
ref: releases/12.9 ref: releases/12.11
path: apps path: apps
- name: Checkout WAMR - name: Checkout WAMR
uses: actions/checkout@v4 uses: actions/checkout@v6
with: with:
repository: ${{ github.repository }} repository: ${{ github.repository }}
path: apps/interpreters/wamr/wamr path: apps/interpreters/wamr/wamr
@ -108,6 +110,8 @@ jobs:
working-directory: nuttx working-directory: nuttx
run: | run: |
tools/configure.sh ${{ matrix.nuttx_board_config }} tools/configure.sh ${{ matrix.nuttx_board_config }}
kconfig-tweak --disable CONFIG_RP2040_UF2_BINARY
kconfig-tweak --disable CONFIG_RP23XX_UF2_BINARY
kconfig-tweak --enable CONFIG_PSEUDOFS_SOFTLINKS kconfig-tweak --enable CONFIG_PSEUDOFS_SOFTLINKS
kconfig-tweak --enable CONFIG_INTERPRETERS_WAMR kconfig-tweak --enable CONFIG_INTERPRETERS_WAMR
kconfig-tweak --enable CONFIG_INTERPRETERS_IWASM_TASK kconfig-tweak --enable CONFIG_INTERPRETERS_IWASM_TASK
@ -122,7 +126,7 @@ jobs:
run: make -j$(nproc) EXTRAFLAGS=-Werror run: make -j$(nproc) EXTRAFLAGS=-Werror
- name: Checkout Bloaty - name: Checkout Bloaty
uses: actions/checkout@v4 uses: actions/checkout@v6
with: with:
repository: google/bloaty repository: google/bloaty
submodules: recursive submodules: recursive

View File

@ -116,7 +116,7 @@ jobs:
make_options_feature: "-DWAMR_BUILD_MINI_LOADER=1" make_options_feature: "-DWAMR_BUILD_MINI_LOADER=1"
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: install SGX SDK and necessary libraries - name: install SGX SDK and necessary libraries
uses: ./.github/actions/install-linux-sgx uses: ./.github/actions/install-linux-sgx
@ -159,7 +159,7 @@ jobs:
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: install-wasi-sdk-wabt - name: install-wasi-sdk-wabt
uses: ./.github/actions/install-wasi-sdk-wabt uses: ./.github/actions/install-wasi-sdk-wabt
@ -255,7 +255,7 @@ jobs:
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: Get LLVM libraries - name: Get LLVM libraries
if: matrix.running_mode == 'aot' if: matrix.running_mode == 'aot'

View File

@ -1,7 +1,7 @@
# Copyright (C) 2019 Intel Corporation. All rights reserved. # Copyright (C) 2019 Intel Corporation. All rights reserved.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
name: compilation on windows-latest name: compilation on windows-2022
on: on:
# will be triggered on PR events # will be triggered on PR events
@ -63,11 +63,11 @@ jobs:
actions: write actions: write
uses: ./.github/workflows/build_llvm_libraries.yml uses: ./.github/workflows/build_llvm_libraries.yml
with: with:
os: "windows-latest" os: "windows-2022"
arch: "AArch64 ARM Mips RISCV X86" arch: "AArch64 ARM Mips RISCV X86"
build_iwasm: build_iwasm:
runs-on: windows-latest runs-on: windows-2022
strategy: strategy:
matrix: matrix:
build_options: build_options:
@ -85,7 +85,7 @@ jobs:
"-DWAMR_BUILD_LIBC_UVWASI=0 -DWAMR_BUILD_LIBC_WASI=1", "-DWAMR_BUILD_LIBC_UVWASI=0 -DWAMR_BUILD_LIBC_WASI=1",
] ]
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v6
- name: clone uvwasi library - name: clone uvwasi library
if: ${{ !contains(matrix.build_options, '-DWAMR_BUILD_LIBC_UVWASI=0') }} if: ${{ !contains(matrix.build_options, '-DWAMR_BUILD_LIBC_UVWASI=0') }}
@ -105,11 +105,11 @@ jobs:
strategy: strategy:
matrix: matrix:
include: include:
- os: windows-latest - os: windows-2022
llvm_cache_key: ${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }} llvm_cache_key: ${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
# since jobs.id can't contain the dot character # since jobs.id can't contain the dot character
# it is hard to use `format` to assemble the cache key # it is hard to use `format` to assemble the cache key
@ -136,7 +136,7 @@ jobs:
working-directory: wamr-compiler working-directory: wamr-compiler
test: test:
runs-on: windows-latest runs-on: windows-2022
needs: [build_iwasm, build_wamrc] needs: [build_iwasm, build_wamrc]
strategy: strategy:
fail-fast: false fail-fast: false
@ -151,7 +151,7 @@ jobs:
] ]
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: download and install wasi-sdk - name: download and install wasi-sdk
if: matrix.test_option == '$WASI_TEST_OPTIONS' if: matrix.test_option == '$WASI_TEST_OPTIONS'

View File

@ -10,7 +10,7 @@ on:
- opened - opened
- synchronize - synchronize
paths: paths:
- ".github/**" - ".github/workflows/compilation_on_zephyr.yml"
- "build-scripts/**" - "build-scripts/**"
- "core/**" - "core/**"
- "!core/deps/**" - "!core/deps/**"
@ -26,7 +26,7 @@ on:
- main - main
- "dev/**" - "dev/**"
paths: paths:
- ".github/**" - ".github/workflows/compilation_on_zephyr.yml"
- "build-scripts/**" - "build-scripts/**"
- "core/**" - "core/**"
- "!core/deps/**" - "!core/deps/**"
@ -78,7 +78,7 @@ jobs:
# └─── application/ --> DUMMY. keep west_lite.yml here # └─── application/ --> DUMMY. keep west_lite.yml here
- name: Checkout code - name: Checkout code
uses: actions/checkout@v3 uses: actions/checkout@v6
with: with:
path: modules/wasm-micro-runtime path: modules/wasm-micro-runtime

View File

@ -29,7 +29,7 @@ jobs:
contents: write # create and push tags contents: write # create and push tags
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v6
# Full git history is needed to get a proper list of commits and tags # Full git history is needed to get a proper list of commits and tags
with: with:
fetch-depth: 0 fetch-depth: 0

View File

@ -37,7 +37,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v6
# on default, hadolint will fail on warnings and errors # on default, hadolint will fail on warnings and errors
- name: Run hadolint on dockerfiles - name: Run hadolint on dockerfiles

View File

@ -67,7 +67,7 @@ jobs:
llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu.outputs.cache_key }} llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu.outputs.cache_key }}
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
# since jobs.id can't contain the dot character # since jobs.id can't contain the dot character
# it is hard to use `format` to assemble the cache key # it is hard to use `format` to assemble the cache key
@ -233,7 +233,7 @@ jobs:
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
# only download llvm cache when needed # only download llvm cache when needed
- name: Get LLVM libraries - name: Get LLVM libraries
@ -387,7 +387,7 @@ jobs:
sanitizer: asan sanitizer: asan
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: Get LLVM libraries - name: Get LLVM libraries
id: retrieve_llvm_libs id: retrieve_llvm_libs
@ -440,7 +440,7 @@ jobs:
llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu.outputs.cache_key }} llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu.outputs.cache_key }}
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: install-wasi-sdk-wabt - name: install-wasi-sdk-wabt
uses: ./.github/actions/install-wasi-sdk-wabt uses: ./.github/actions/install-wasi-sdk-wabt
@ -568,6 +568,14 @@ jobs:
./shared_heap_test ./shared_heap_test
./shared_heap_test --aot ./shared_heap_test --aot
- name: Build Sample [import-func-callback]
run: |
cd samples/import-func-callback
mkdir build && cd build
cmake ..
cmake --build . --config Release --parallel 4
./import-func-callback
test: test:
needs: [build_iwasm, build_llvm_libraries_on_ubuntu, build_wamrc] needs: [build_iwasm, build_llvm_libraries_on_ubuntu, build_wamrc]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
@ -626,7 +634,7 @@ jobs:
sanitizer: ubsan sanitizer: ubsan
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: install-wasi-sdk-wabt - name: install-wasi-sdk-wabt
if: matrix.test_option == '$WASI_TEST_OPTIONS' if: matrix.test_option == '$WASI_TEST_OPTIONS'

View File

@ -11,6 +11,26 @@ on:
type: boolean type: boolean
required: false required: false
default: false default: false
release_wamr_sdk:
description: "If the WAMR SDK in the release"
type: boolean
required: false
default: false
release_wamr_lldb:
description: "If the WAMR LLDB in the release"
type: boolean
required: false
default: false
release_wamr_ide_vscode_ext:
description: "If the WAMR VSCode extension in the release"
type: boolean
required: false
default: false
release_wamr_wasi_ext:
description: "If the WAMR WASI extensions in the release"
type: boolean
required: false
default: true
# Cancel any in-flight jobs for the same PR/branch so there's only one active # Cancel any in-flight jobs for the same PR/branch so there's only one active
# at a time # at a time
@ -35,7 +55,7 @@ jobs:
outputs: outputs:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v6
- name: prepare the release note - name: prepare the release note
run: | run: |
@ -85,7 +105,7 @@ jobs:
needs: [create_tag, create_release] needs: [create_tag, create_release]
uses: ./.github/workflows/build_llvm_libraries.yml uses: ./.github/workflows/build_llvm_libraries.yml
with: with:
os: "windows-latest" os: "windows-2022"
arch: "AArch64 ARM Mips RISCV X86" arch: "AArch64 ARM Mips RISCV X86"
# #
@ -93,7 +113,7 @@ jobs:
release_wamrc_on_ubuntu_2204: release_wamrc_on_ubuntu_2204:
permissions: permissions:
contents: write # upload release artifact contents: write # upload release artifact
needs: [create_tag, create_release, build_llvm_libraries_on_ubuntu_2204 ] needs: [create_tag, create_release, build_llvm_libraries_on_ubuntu_2204]
uses: ./.github/workflows/build_wamrc.yml uses: ./.github/workflows/build_wamrc.yml
with: with:
llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2204.outputs.cache_key }} llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2204.outputs.cache_key }}
@ -122,7 +142,7 @@ jobs:
with: with:
llvm_cache_key: ${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }} llvm_cache_key: ${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}
release: true release: true
runner: windows-latest runner: windows-2022
upload_url: ${{ needs.create_release.outputs.upload_url }} upload_url: ${{ needs.create_release.outputs.upload_url }}
ver_num: ${{ needs.create_tag.outputs.new_ver }} ver_num: ${{ needs.create_tag.outputs.new_ver }}
@ -160,7 +180,7 @@ jobs:
with: with:
cwd: product-mini/platforms/windows cwd: product-mini/platforms/windows
llvm_cache_key: ${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }} llvm_cache_key: ${{ needs.build_llvm_libraries_on_windows.outputs.cache_key }}
runner: windows-latest runner: windows-2022
upload_url: ${{ needs.create_release.outputs.upload_url }} upload_url: ${{ needs.create_release.outputs.upload_url }}
ver_num: ${{ needs.create_tag.outputs.new_ver}} ver_num: ${{ needs.create_tag.outputs.new_ver}}
@ -170,6 +190,7 @@ jobs:
permissions: permissions:
contents: write # upload release artifact contents: write # upload release artifact
needs: [create_tag, create_release] needs: [create_tag, create_release]
if: ${{ inputs.release_wamr_sdk }}
uses: ./.github/workflows/build_wamr_sdk.yml uses: ./.github/workflows/build_wamr_sdk.yml
with: with:
config_file: wamr_config_ubuntu_release.cmake config_file: wamr_config_ubuntu_release.cmake
@ -183,6 +204,7 @@ jobs:
permissions: permissions:
contents: write # upload release artifact contents: write # upload release artifact
needs: [create_tag, create_release] needs: [create_tag, create_release]
if: ${{ inputs.release_wamr_sdk }}
uses: ./.github/workflows/build_wamr_sdk.yml uses: ./.github/workflows/build_wamr_sdk.yml
with: with:
config_file: wamr_config_macos_release.cmake config_file: wamr_config_macos_release.cmake
@ -192,30 +214,29 @@ jobs:
wasi_sdk_url: https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19/wasi-sdk-19.0-macos.tar.gz wasi_sdk_url: https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19/wasi-sdk-19.0-macos.tar.gz
wamr_app_framework_url: https://github.com/bytecodealliance/wamr-app-framework.git wamr_app_framework_url: https://github.com/bytecodealliance/wamr-app-framework.git
# Let's disable it for now and reopen it when the actual requirement arises. # vscode extension cross-platform
# Please ensure all dependencies have been updated before reopening. release_wamr_ide_vscode_ext:
# permissions:
# # vscode extension cross-platform contents: write # upload release artifact
# release_wamr_ide_vscode_ext: needs: [create_tag, create_release]
# permissions: if: ${{ inputs.release_wamr_ide_vscode_ext}}
# contents: write # upload release artifact uses: ./.github/workflows/build_wamr_vscode_ext.yml
# needs: [create_tag, create_release] secrets: inherit
# uses: ./.github/workflows/build_wamr_vscode_ext.yml with:
# secrets: inherit upload_url: ${{ needs.create_release.outputs.upload_url }}
# with: ver_num: ${{ needs.create_tag.outputs.new_ver }}
# upload_url: ${{ needs.create_release.outputs.upload_url }}
# ver_num: ${{ needs.create_tag.outputs.new_ver }}
# # #
# # vscode extension docker images package # vscode extension docker images package
# release_wamr_ide_docker_images_package: release_wamr_ide_docker_images_package:
# permissions: permissions:
# contents: write # upload release artifact contents: write # upload release artifact
# needs: [create_tag, create_release] needs: [create_tag, create_release]
# uses: ./.github/workflows/build_docker_images.yml if: ${{ inputs.release_wamr_ide_vscode_ext}}
# with: uses: ./.github/workflows/build_docker_images.yml
# upload_url: ${{ needs.create_release.outputs.upload_url }} with:
# ver_num: ${{ needs.create_tag.outputs.new_ver }} upload_url: ${{ needs.create_release.outputs.upload_url }}
ver_num: ${{ needs.create_tag.outputs.new_ver }}
# #
# WAMR_LLDB # WAMR_LLDB
@ -223,6 +244,7 @@ jobs:
permissions: permissions:
contents: write # upload release artifact contents: write # upload release artifact
needs: [create_tag, create_release] needs: [create_tag, create_release]
if: ${{ inputs.release_wamr_lldb }}
uses: ./.github/workflows/build_wamr_lldb.yml uses: ./.github/workflows/build_wamr_lldb.yml
with: with:
runner: ubuntu-22.04 runner: ubuntu-22.04
@ -233,6 +255,7 @@ jobs:
permissions: permissions:
contents: write # upload release artifact contents: write # upload release artifact
needs: [create_tag, create_release] needs: [create_tag, create_release]
if: ${{ inputs.release_wamr_lldb }}
uses: ./.github/workflows/build_wamr_lldb.yml uses: ./.github/workflows/build_wamr_lldb.yml
with: with:
runner: macos-13 runner: macos-13
@ -244,6 +267,7 @@ jobs:
permissions: permissions:
contents: write # upload release artifact contents: write # upload release artifact
needs: [create_tag, create_release] needs: [create_tag, create_release]
if: ${{ inputs.release_wamr_wasi_ext }}
uses: ./.github/workflows/build_wamr_wasi_extensions.yml uses: ./.github/workflows/build_wamr_wasi_extensions.yml
with: with:
upload_url: ${{ needs.create_release.outputs.upload_url }} upload_url: ${{ needs.create_release.outputs.upload_url }}

View File

@ -34,7 +34,7 @@ jobs:
contents: write # for creating realease and uploading release artifacts contents: write # for creating realease and uploading release artifacts
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v6
# Full git history is needed to get a proper list of commits and tags # Full git history is needed to get a proper list of commits and tags
with: with:
fetch-depth: 0 fetch-depth: 0

View File

@ -143,21 +143,21 @@ jobs:
# Note: we use an unreleased version nuttx for xtensa because # Note: we use an unreleased version nuttx for xtensa because
# 12.4 doesn't contain necessary esp32s3 changes. # 12.4 doesn't contain necessary esp32s3 changes.
- name: Checkout NuttX - name: Checkout NuttX
uses: actions/checkout@v4 uses: actions/checkout@v6
with: with:
repository: apache/nuttx repository: apache/nuttx
ref: ${{ matrix.target_config.target == 'xtensa' && '985d395b025cf2012b22f6bb4461959fa6d87645' || 'releases/12.9' }} ref: ${{ matrix.target_config.target == 'xtensa' && '985d395b025cf2012b22f6bb4461959fa6d87645' || 'releases/12.11' }}
path: nuttx path: nuttx
- name: Checkout NuttX Apps - name: Checkout NuttX Apps
uses: actions/checkout@v4 uses: actions/checkout@v6
with: with:
repository: apache/nuttx-apps repository: apache/nuttx-apps
ref: ${{ matrix.target_config.target == 'xtensa' && '2ef3eb25c0cec944b13792185f7e5d5a05990d5f' || 'releases/12.9' }} ref: ${{ matrix.target_config.target == 'xtensa' && '2ef3eb25c0cec944b13792185f7e5d5a05990d5f' || 'releases/12.11' }}
path: apps path: apps
- name: Checkout WAMR - name: Checkout WAMR
uses: actions/checkout@v4 uses: actions/checkout@v6
with: with:
repository: ${{ github.repository }} repository: ${{ github.repository }}
path: apps/interpreters/wamr/wamr path: apps/interpreters/wamr/wamr
@ -329,7 +329,7 @@ jobs:
- name: upload the log - name: upload the log
if: always() if: always()
uses: actions/upload-artifact@v4.6.2 uses: actions/upload-artifact@v5.0.0
with: with:
name: spec-test-log-${{ github.run_id }}-${{ strategy.job-index }}-${{ matrix.target_config.target }} name: spec-test-log-${{ github.run_id }}-${{ strategy.job-index }}-${{ matrix.target_config.target }}
path: log path: log

View File

@ -34,12 +34,12 @@ jobs:
steps: steps:
- name: "Checkout code" - name: "Checkout code"
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v3.1.0
with: with:
persist-credentials: false persist-credentials: false
- name: "Run analysis" - name: "Run analysis"
uses: ossf/scorecard-action@05b42c624433fc40578a4040d5cf5e36ddca8cde # v2.4.2 uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3
with: with:
results_file: results.sarif results_file: results.sarif
results_format: sarif results_format: sarif
@ -52,7 +52,7 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab. # format to the repository Actions tab.
- name: "Upload artifact" - name: "Upload artifact"
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v3.1.0 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v3.1.0
with: with:
name: SARIF file name: SARIF file
path: results.sarif path: results.sarif
@ -60,6 +60,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard. # Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning" - name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@7710ed11e398ea99c7f7004c2b2e0f580458db42 uses: github/codeql-action/upload-sarif@52f930e50a5971cb8a0163b8ae04f2344c26154c
with: with:
sarif_file: results.sarif sarif_file: results.sarif

View File

@ -30,7 +30,7 @@ jobs:
os: [ubuntu-22.04, macos-13, macos-14] os: [ubuntu-22.04, macos-13, macos-14]
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: install-wasi-sdk-wabt - name: install-wasi-sdk-wabt
uses: ./.github/actions/install-wasi-sdk-wabt uses: ./.github/actions/install-wasi-sdk-wabt
@ -50,7 +50,7 @@ jobs:
- name: Upload artifacts - name: Upload artifacts
if: matrix.os == 'macos-14' if: matrix.os == 'macos-14'
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v5.0.0
with: with:
name: wamr-wasi-extensions name: wamr-wasi-extensions
path: wamr-wasi-extensions/dist path: wamr-wasi-extensions/dist

View File

@ -26,6 +26,7 @@ _The list is in alphabetical order._
| Project | Reference | | Project | Reference |
| ------------------------------------------------------------ | ------------------------------------------------------------ | | ------------------------------------------------------------ | ------------------------------------------------------------ |
| [Apache Teaclave](https://github.com/apache/incubator-teaclave) | https://github.com/apache/incubator-teaclave/blob/master/docs/executing-wasm.md | | [Apache Teaclave](https://github.com/apache/incubator-teaclave) | https://github.com/apache/incubator-teaclave/blob/master/docs/executing-wasm.md |
| [Edge Virtualization Platform](https://github.com/SonySemiconductorSolutions/edge-virtualization-platform) | https://github.com/SonySemiconductorSolutions/edge-virtualization-platform |
| [Envoy](https://github.com/envoyproxy/envoy) | https://github.com/envoyproxy/envoy/blob/main/docs/root/configuration/other_features/wasm.rst | | [Envoy](https://github.com/envoyproxy/envoy) | https://github.com/envoyproxy/envoy/blob/main/docs/root/configuration/other_features/wasm.rst |
| [faasm](https://github.com/faasm/faasm) | https://github.com/faasm/faasm/blob/main/docs/source/wamr.md | | [faasm](https://github.com/faasm/faasm) | https://github.com/faasm/faasm/blob/main/docs/source/wamr.md |
| [fluent-bit](https://github.com/fluent/fluent-bit) | https://github.com/fluent/fluent-bit/tree/master/lib/wasm-micro-runtime-WAMR-1.3.0 | | [fluent-bit](https://github.com/fluent/fluent-bit) | https://github.com/fluent/fluent-bit/tree/master/lib/wasm-micro-runtime-WAMR-1.3.0 |

View File

@ -126,11 +126,9 @@ include (${WAMR_ROOT_DIR}/build-scripts/runtime_lib.cmake)
if (NOT WIN32) if (NOT WIN32)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wformat -Wformat-security \ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wformat -Wformat-security \
-ffunction-sections -fdata-sections \ -ffunction-sections -fdata-sections \
-Wno-unused-parameter -Wno-pedantic \
-fvisibility=hidden") -fvisibility=hidden")
# Remove the extra spaces for better make log # Remove the extra spaces for better make log
string (REGEX REPLACE " *" " " CMAKE_C_FLAGS ${CMAKE_C_FLAGS}) string (REGEX REPLACE " *" " " CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wformat -Wformat-security -Wno-unused")
endif() endif()
if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64") if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64")

View File

@ -18,8 +18,12 @@ Code changes
=================== ===================
We Use Github Flow, So All Code Changes Happen Through Pull Requests. Pull requests are the best way to propose changes to the codebase. We actively welcome your pull requests: We Use Github Flow, So All Code Changes Happen Through Pull Requests. Pull requests are the best way to propose changes to the codebase. We actively welcome your pull requests:
- If you've added code that should be tested, add tests. Ensure the test suite passes. - If you've added / modified code:
- Avoid use macros for different platforms. Use separate folder of source files to host different platform logic. - Please provide tests to the test suite to validate the operation of your code, or point to existing test cases which do the same.
- Ensure that your new tests pass. This way we ensure that your contribution continues to work as you expected as future contributions are made by other contributors.
- Ensure all the existing tests in the test suite pass. This way we can verify that your contribution doesnt accidentally impact other contributions.
- If your contribution is minor and you feel it does not need an additional test case, i.e. updating comments, formatting, simple refactoring, etc. then provide an explanation in your PR comment, i.e. “this is a minor change *explain the change*, and as such [ “is covered by” *list existing test cases* | “is except from addition test contribution”].
- Avoid using macros for different platforms. Use separate folders for source files to collect together different host platform logic.
- Put macro definitions inside share_lib/include/config.h if you have to use macro. - Put macro definitions inside share_lib/include/config.h if you have to use macro.
- Make sure your code lints and compliant to our coding style. - Make sure your code lints and compliant to our coding style.
- Extend the application library is highly welcome. - Extend the application library is highly welcome.

View File

@ -47,7 +47,7 @@ WebAssembly Micro Runtime (WAMR) is a lightweight standalone WebAssembly (Wasm)
- [128-bit SIMD](https://github.com/WebAssembly/simd), ref to [samples/workload](samples/workload) - [128-bit SIMD](https://github.com/WebAssembly/simd), ref to [samples/workload](samples/workload)
- [Reference Types](https://github.com/WebAssembly/reference-types), ref to [document](doc/ref_types.md) and [sample](samples/ref-types) - [Reference Types](https://github.com/WebAssembly/reference-types), ref to [document](doc/ref_types.md) and [sample](samples/ref-types)
- [Bulk memory operations](https://github.com/WebAssembly/bulk-memory-operations), [Shared memory](https://github.com/WebAssembly/threads/blob/main/proposals/threads/Overview.md#shared-linear-memory), [Memory64](https://github.com/WebAssembly/memory64) - [Bulk memory operations](https://github.com/WebAssembly/bulk-memory-operations), [Shared memory](https://github.com/WebAssembly/threads/blob/main/proposals/threads/Overview.md#shared-linear-memory), [Memory64](https://github.com/WebAssembly/memory64)
- [Tail-call](https://github.com/WebAssembly/tail-call), [Garbage Collection](https://github.com/WebAssembly/gc), [Exception Handling](https://github.com/WebAssembly/exception-handling) - [Tail-call](https://github.com/WebAssembly/tail-call), [Garbage Collection](https://github.com/WebAssembly/gc), [Exception Handling](https://github.com/WebAssembly/exception-handling), [Branch Hinting](https://github.com/WebAssembly/branch-hinting)
- [Extended Constant Expressions](https://github.com/WebAssembly/extended-const) - [Extended Constant Expressions](https://github.com/WebAssembly/extended-const)
### Supported architectures and platforms ### Supported architectures and platforms
@ -117,4 +117,3 @@ Any contributions you make will be under the same license.
- [WAMR Blogs](https://bytecodealliance.github.io/wamr.dev/blog/) - [WAMR Blogs](https://bytecodealliance.github.io/wamr.dev/blog/)
- [Community news and events](https://bytecodealliance.github.io/wamr.dev/events/) - [Community news and events](https://bytecodealliance.github.io/wamr.dev/events/)
- [WAMR TSC meetings](https://github.com/bytecodealliance/wasm-micro-runtime/wiki/TSC-meeting-notes) - [WAMR TSC meetings](https://github.com/bytecodealliance/wasm-micro-runtime/wiki/TSC-meeting-notes)

View File

@ -1,3 +1,35 @@
## WAMR-2.4.3
### Breaking Changes
### New Features
### Bug Fixes
- libc-wasi: add missing pointer validations to socket functions (#4611) (#4665)
### Enhancements
### Others
---
## WAMR-2.4.2
### Breaking Changes
### New Features
### Bug Fixes
- CVE-2025-58749. Fix a potential hang issue in LLVMJIT mode
### Enhancements
### Others
---
## WAMR-2.4.1 ## WAMR-2.4.1
### Breaking Changes ### Breaking Changes

90
SUMMARY.md Normal file
View File

@ -0,0 +1,90 @@
# Summary: structure of chapters and subchapters of the book
* [WAMR Document Home Page](gitbook/home_page.md)
## Basics
* [Introduction](gitbook/basics/introduction/README.md)
* [WebAssembly](gitbook/basics/introduction/webassembly.md)
* [WAMR Project](gitbook/basics/introduction/wamr_project.md)
* [Security Feature](gitbook/basics/introduction/security_feature.md)
* [Getting Started](gitbook/basics/getting-started/README.md)
* [Host Environment Preparation](gitbook/basics/getting-started/host_prerequsites.md)
* [Hello-world Program On Host](gitbook/basics/getting-started/on_host.md)
* [Docker Environment Preparation](doc/devcontainer.md)
* [Hello-world Program On Docker](gitbook/basics/getting-started/on_docker.md)
* [Build And Run WASM Application](doc/build_wasm_app.md)
* [More Tools To Create WASM Application](doc/other_wasm_compilers.md)
## WAMR In Practice
* [Tutorial](gitbook/tutorial/README.md)
* [WAMR Running Modes](gitbook/tutorial/running-modes/README.md)
* [Build Tutorial](gitbook/tutorial/build-tutorial/README.md)
* [Build iwasm](doc/build_wamr.md)
* [Build wamrc](gitbook/tutorial/build-tutorial/build_wamrc.md)
* [Language Embedding](gitbook/tutorial/language-embedding/README.md)
* [C/C++](doc/embed_wamr.md)
* [Python](language-bindings/python/README.md)
* [Go](language-bindings/go/README.md)
* [Debugging & IDE Support](gitbook/tutorial/debugging%26IDE-support/README.md)
* [WAMR Source Debugging With LLDB](doc/source_debugging.md)
* [VS Code Support](test-tools/wamr-ide/README.md)
* [Enable Debugging In VS Code](test-tools/wamr-ide/VSCode-Extension/README.md)
* [Move LLDB Binaries](test-tools/wamr-ide/VSCode-Extension/resource/debug/README.md)
* [Advance Tutorial](gitbook/advance-tutorial/README.md)
* [Performance Test](gitbook/advance-tutorial/performance-benchmark/README.md)
* [PolyBench](tests/benchmarks/polybench/README.md)
* [CoreMark](tests/benchmarks/coremark/README.md)
* [Sightglass](tests/benchmarks/sightglass/README.md)
* [JetStream2](tests/benchmarks/jetstream/README.md)
* [Memory Usage Tunning](doc/memory_tune.md)
* [WAMR Porting Guide](doc/port_wamr.md)
* [Features](gitbook/features/README.md)
* [Export Native APIs To WASM Applications](doc/export_native_api.md)
* [Example 1: Export C Functions to WASM](samples/basic/README.md)
* [Example 2: Using "native-lib"](samples/native-lib/README.md)
* [Multiple Modules As Dependencies](doc/multi_module.md)
* [Multi-modules Example](samples/multi-module/README.md)
* [Multi-thread, Pthread APIs And Thread Management](doc/pthread_library.md)
* [Multi-thread Example](samples/multi-thread/README.md)
* [Linux SGX(Intel Software Guard Extension) Support](doc/linux_sgx.md)
* [Linux SGX Remote Attestation](samples/sgx-ra/README.md)
* [XIP(Execution In Place) Support](doc/xip.md)
* [Socket Support](doc/socket_api.md)
* [Example: Use Socket Api in WAMR](samples/socket-api/README.md)
* [Post-MVP Features](gitbook/features/demo-examples/README.md)
* [WASM C API](samples/wasm-c-api/README.md)
* [128-bit SIMD](samples/workload/README.md)
* [Reference Types](samples/ref-types/README.md)
* [More Examples](gitbook/examples/README.md)
* [File Interaction Of WASI](samples/file/README.md)
* [Same WASM Program Executing Concurrently](samples/spawn-thread/README.md)
* [Build And Run Workload](samples/workload/README.md)
* [User Case](gitbook/features/user-case/README.md)
## Programmer's Manual
* [Programmer's Manual](gitbook/programmer's-manual/README.md)
* [C API Lists](gitbook/programmer's-manual/C_API_Lists.md)
## Community
* [How To Contribute](CONTRIBUTING.md)
* [WAMR On Github](https://github.com/bytecodealliance/wasm-micro-runtime)
* [WAMR Blogs](https://bytecodealliance.github.io/wamr.dev/)
## Appendix
* [Appendix A. Background Knowledge And Glossary Of Terms](gitbook/appendix/background_knowledge.md)
* [Appendix B. WebAssembly Details](gitbook/appendix/webassembly_details.md)
* [Appendix C. Complete WAMR Guide](README.md)

View File

@ -0,0 +1,37 @@
# Copyright (C) 2019 Intel Corporation. All rights reserved.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
function(check_ubuntu_version)
# ubuntu 2204 is the recommended environment for collecting coverage data for now
# otherwise, there will be ERRORs, when using 2404, like below and
#
# geninfo: ERROR: ('mismatch') mismatched end line for _ZN63compilation_aot_emit_memory_test_aot_check_memory_overflow_Test8TestBodyEv at /workspaces/wasm-micro-runtime/tests/unit/compilation/aot_emit_memory_test.cc:96: 96 -> 106
# (use "geninfo --ignore-errors mismatch,mismatch ..." to suppress this warning)
# geninfo: ERROR: ('negative') Unexpected negative count '-3' for /workspaces/wasm-micro-runtime/core/iwasm/interpreter/wasm_interp_classic.c:5473.
# Perhaps you need to compile with '-fprofile-update=atomic
# (use "geninfo --ignore-errors negative,negative ..." to suppress this warning)
#
# For sure, `--ignore-errors` can be used to ignore these errors, but better to use the recommended environment.
file(READ "/etc/os-release" OS_RELEASE_CONTENT)
string(REGEX MATCH "VERSION_ID=\"([0-9]+)\\.([0-9]+)\"" _ ${OS_RELEASE_CONTENT})
if(NOT DEFINED CMAKE_MATCH_1 OR NOT DEFINED CMAKE_MATCH_2)
message(WARNING "Unable to detect Ubuntu version. Please ensure you are using Ubuntu 22.04.")
return()
endif()
set(UBUNTU_MAJOR_VERSION ${CMAKE_MATCH_1})
set(UBUNTU_MINOR_VERSION ${CMAKE_MATCH_2})
if(NOT (UBUNTU_MAJOR_VERSION EQUAL 22 AND UBUNTU_MINOR_VERSION EQUAL 04))
message(WARNING "Ubuntu ${UBUNTU_MAJOR_VERSION}.${UBUNTU_MINOR_VERSION} detected. Ubuntu 22.04 is recommended for collecting coverage data.")
else()
message(STATUS "Ubuntu 22.04 detected. Proceeding with coverage data collection.")
endif()
endfunction()
check_ubuntu_version()
# add compile options for code coverage globally
add_compile_options(--coverage -O0 -g)
link_libraries(gcov)
add_definitions (-DCOLLECT_CODE_COVERAGE)

View File

@ -81,6 +81,8 @@ elseif (WAMR_BUILD_TARGET MATCHES "THUMB.*")
set (CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wa,-mthumb") set (CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wa,-mthumb")
endif () endif ()
include (${CMAKE_CURRENT_LIST_DIR}/warnings.cmake)
if (NOT WAMR_BUILD_INTERP EQUAL 1) if (NOT WAMR_BUILD_INTERP EQUAL 1)
if (NOT WAMR_BUILD_AOT EQUAL 1) if (NOT WAMR_BUILD_AOT EQUAL 1)
message (FATAL_ERROR "-- WAMR Interpreter and AOT must be enabled at least one") message (FATAL_ERROR "-- WAMR Interpreter and AOT must be enabled at least one")
@ -99,6 +101,12 @@ if (WAMR_BUILD_JIT EQUAL 1)
# Enable Lazy JIT by default # Enable Lazy JIT by default
set (WAMR_BUILD_LAZY_JIT 1) set (WAMR_BUILD_LAZY_JIT 1)
endif () endif ()
# In Debug mode, always use release builds of pre-built dependency libraries
if (WAMR_BUILD_PLATFORM STREQUAL "windows" AND MSVC)
add_compile_options($<$<CONFIG:Debug>:/MD>)
endif()
if (NOT DEFINED LLVM_DIR) if (NOT DEFINED LLVM_DIR)
set (LLVM_SRC_ROOT "${WAMR_ROOT_DIR}/core/deps/llvm") set (LLVM_SRC_ROOT "${WAMR_ROOT_DIR}/core/deps/llvm")
set (LLVM_BUILD_ROOT "${LLVM_SRC_ROOT}/build") set (LLVM_BUILD_ROOT "${LLVM_SRC_ROOT}/build")
@ -140,30 +148,60 @@ include (${WAMR_ROOT_DIR}/build-scripts/package.cmake)
# Sanitizers # Sanitizers
if (NOT DEFINED WAMR_BUILD_SANITIZER) if (NOT DEFINED WAMR_BUILD_SANITIZER)
set(WAMR_BUILD_SANITIZER $ENV{WAMR_BUILD_SANITIZER}) set(WAMR_BUILD_SANITIZER "$ENV{WAMR_BUILD_SANITIZER}")
endif ()
if (NOT DEFINED WAMR_BUILD_SANITIZER)
set(WAMR_BUILD_SANITIZER "")
elseif (WAMR_BUILD_SANITIZER STREQUAL "ubsan")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fno-omit-frame-pointer -fsanitize=undefined -fno-sanitize-recover=all -fno-sanitize=alignment" )
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=undefined")
elseif (WAMR_BUILD_SANITIZER STREQUAL "asan")
if (NOT WAMR_BUILD_JIT EQUAL 1)
set (ASAN_OPTIONS "verbosity=2 debug=true ")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fno-omit-frame-pointer -fsanitize=address -fno-sanitize-recover=all" )
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")
endif()
elseif (WAMR_BUILD_SANITIZER STREQUAL "tsan")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fno-omit-frame-pointer -fsanitize=thread -fno-sanitize-recover=all" )
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=thread")
elseif (WAMR_BUILD_SANITIZER STREQUAL "posan")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fno-omit-frame-pointer -fsanitize=pointer-overflow -fno-sanitize-recover=all" )
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=pointer-overflow")
elseif (NOT (WAMR_BUILD_SANITIZER STREQUAL "") )
message(SEND_ERROR "Unsupported sanitizer: ${WAMR_BUILD_SANITIZER}")
endif() endif()
if (NOT WAMR_BUILD_SANITIZER STREQUAL "")
set(SUPPORTED_SANITIZERS "ubsan;asan;tsan;posan")
string(REPLACE "," ";" SANITIZER_LIST "${WAMR_BUILD_SANITIZER}")
# Check uncompabile sanitizers
if("tsan" IN_LIST SANITIZER_LIST AND "asan" IN_LIST SANITIZER_LIST)
message(FATAL_ERROR "ThreadSanitizer (tsan) and AddressSanitizer (asan) cannot be used together!")
endif()
# Check every sanitizer in the list
set(INVALID_SANITIZERS "")
list(REMOVE_DUPLICATES SANITIZER_LIST)
set(SANITIZER_FLAGS)
set(NO_SANITIZER_FLAGS)
foreach(sanitizer ${SANITIZER_LIST})
string(STRIP "${sanitizer}" sanitizer)
if(NOT sanitizer IN_LIST SUPPORTED_SANITIZERS)
list(APPEND INVALID_SANITIZERS "${sanitizer}")
elseif(sanitizer STREQUAL "ubsan")
list(APPEND SANITIZER_FLAGS "undefined")
list(APPEND NO_SANITIZER_FLAGS "alignment")
elseif(sanitizer STREQUAL "asan")
if (NOT WAMR_BUILD_JIT EQUAL 1)
set(ENV{ASAN_OPTIONS} "verbosity=2 debug=true")
list(APPEND SANITIZER_FLAGS "address")
else()
message(WARNING "AddressSanitizer is not supported in LLVM JIT mode, skip it")
endif()
elseif(sanitizer STREQUAL "tsan")
list(APPEND SANITIZER_FLAGS "thread")
elseif(sanitizer STREQUAL "posan")
list(APPEND SANITIZER_FLAGS "pointer-overflow")
endif()
endforeach()
if(INVALID_SANITIZERS)
message(FATAL_ERROR "Unsupported sanitizers: ${INVALID_SANITIZERS}")
endif()
# common flags for all sanitizers
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fno-omit-frame-pointer -fno-sanitize-recover=all")
if(SANITIZER_FLAGS)
string(REPLACE ";" "," SANITIZER_FLAGS_STR "${SANITIZER_FLAGS}")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=${SANITIZER_FLAGS_STR}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=${SANITIZER_FLAGS_STR}")
endif()
if(NO_SANITIZER_FLAGS)
string(REPLACE ";" "," NO_SANITIZER_FLAGS_STR "${NO_SANITIZER_FLAGS}")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-sanitize=${NO_SANITIZER_FLAGS_STR}")
endif()
endif ()
if (WAMR_BUILD_LINUX_PERF EQUAL 1) if (WAMR_BUILD_LINUX_PERF EQUAL 1)
if (NOT WAMR_BUILD_JIT AND NOT WAMR_BUILD_AOT) if (NOT WAMR_BUILD_JIT AND NOT WAMR_BUILD_AOT)
message(WARNING "only support perf in aot and llvm-jit") message(WARNING "only support perf in aot and llvm-jit")
@ -183,6 +221,14 @@ if (NOT DEFINED WAMR_BUILD_BULK_MEMORY)
set (WAMR_BUILD_BULK_MEMORY 1) set (WAMR_BUILD_BULK_MEMORY 1)
endif () endif ()
if (NOT DEFINED WAMR_BUILD_BULK_MEMORY_OPT)
set (WAMR_BUILD_BULK_MEMORY_OPT 0)
endif ()
if (NOT DEFINED WAMR_BUILD_CALL_INDIRECT_OVERLONG)
set (WAMR_BUILD_CALL_INDIRECT_OVERLONG 0)
endif ()
if (NOT DEFINED WAMR_BUILD_EXCE_HANDLING) if (NOT DEFINED WAMR_BUILD_EXCE_HANDLING)
set (WAMR_BUILD_EXCE_HANDLING 0) set (WAMR_BUILD_EXCE_HANDLING 0)
endif () endif ()
@ -215,10 +261,27 @@ if (NOT DEFINED WAMR_BUILD_EXTENDED_CONST_EXPR)
set (WAMR_BUILD_EXTENDED_CONST_EXPR 0) set (WAMR_BUILD_EXTENDED_CONST_EXPR 0)
endif () endif ()
if (NOT DEFINED WAMR_BUILD_LIME1)
set (WAMR_BUILD_LIME1 0)
endif ()
######################################## ########################################
# Compilation options to marco # Compilation options to marco
######################################## ########################################
if (WAMR_BUILD_LIME1 EQUAL 1)
set (WAMR_BUILD_BULK_MEMORY_OPT 1)
set (WAMR_BUILD_CALL_INDIRECT_OVERLONG 1)
set (WAMR_BUILD_EXTENDED_CONST_EXPR 1)
endif ()
if (WAMR_BUILD_BULK_MEMORY EQUAL 1)
set (WAMR_BUILD_BULK_MEMORY_OPT 1)
endif ()
if (WAMR_BUILD_REF_TYPES EQUAL 1)
set (WAMR_BUILD_CALL_INDIRECT_OVERLONG 1)
endif ()
message ("-- Build Configurations:") message ("-- Build Configurations:")
message (" Build as target ${WAMR_BUILD_TARGET}") message (" Build as target ${WAMR_BUILD_TARGET}")
message (" Build for platform ${WAMR_BUILD_PLATFORM}") message (" Build for platform ${WAMR_BUILD_PLATFORM}")
@ -328,6 +391,11 @@ if (WAMR_BUILD_BULK_MEMORY EQUAL 1)
else () else ()
add_definitions (-DWASM_ENABLE_BULK_MEMORY=0) add_definitions (-DWASM_ENABLE_BULK_MEMORY=0)
endif () endif ()
if (WAMR_BUILD_BULK_MEMORY_OPT EQUAL 1)
add_definitions (-DWASM_ENABLE_BULK_MEMORY_OPT=1)
else()
add_definitions (-DWASM_ENABLE_BULK_MEMORY_OPT=0)
endif ()
if (WAMR_BUILD_SHARED_MEMORY EQUAL 1) if (WAMR_BUILD_SHARED_MEMORY EQUAL 1)
add_definitions (-DWASM_ENABLE_SHARED_MEMORY=1) add_definitions (-DWASM_ENABLE_SHARED_MEMORY=1)
message (" Shared memory enabled") message (" Shared memory enabled")
@ -419,6 +487,11 @@ endif ()
if (WAMR_BUILD_REF_TYPES EQUAL 1) if (WAMR_BUILD_REF_TYPES EQUAL 1)
add_definitions (-DWASM_ENABLE_REF_TYPES=1) add_definitions (-DWASM_ENABLE_REF_TYPES=1)
endif () endif ()
if (WAMR_BUILD_CALL_INDIRECT_OVERLONG EQUAL 1)
add_definitions (-DWASM_ENABLE_CALL_INDIRECT_OVERLONG=1)
else ()
add_definitions(-DWASM_ENABLE_CALL_INDIRECT_OVERLONG=0)
endif ()
if (WAMR_BUILD_GC EQUAL 1) if (WAMR_BUILD_GC EQUAL 1)
if (WAMR_TEST_GC EQUAL 1) if (WAMR_TEST_GC EQUAL 1)
message(" GC testing enabled") message(" GC testing enabled")
@ -510,7 +583,8 @@ if (WAMR_BUILD_WASI_NN EQUAL 1)
# Variant backends # Variant backends
if (NOT WAMR_BUILD_WASI_NN_TFLITE EQUAL 1 AND if (NOT WAMR_BUILD_WASI_NN_TFLITE EQUAL 1 AND
NOT WAMR_BUILD_WASI_NN_OPENVINO EQUAL 1 AND NOT WAMR_BUILD_WASI_NN_OPENVINO EQUAL 1 AND
NOT WAMR_BUILD_WASI_NN_LLAMACPP EQUAL 1) NOT WAMR_BUILD_WASI_NN_LLAMACPP EQUAL 1 AND
NOT WAMR_BUILD_WASI_NN_ONNX EQUAL 1)
message (FATAL_ERROR " Need to select a backend for WASI-NN") message (FATAL_ERROR " Need to select a backend for WASI-NN")
endif () endif ()
@ -526,6 +600,10 @@ if (WAMR_BUILD_WASI_NN EQUAL 1)
message (" WASI-NN: backend llamacpp enabled") message (" WASI-NN: backend llamacpp enabled")
add_definitions (-DWASM_ENABLE_WASI_NN_LLAMACPP) add_definitions (-DWASM_ENABLE_WASI_NN_LLAMACPP)
endif () endif ()
if (WAMR_BUILD_WASI_NN_ONNX EQUAL 1)
message (" WASI-NN: backend onnx enabled")
add_definitions (-DWASM_ENABLE_WASI_NN_ONNX)
endif ()
# Variant devices # Variant devices
if (WAMR_BUILD_WASI_NN_ENABLE_GPU EQUAL 1) if (WAMR_BUILD_WASI_NN_ENABLE_GPU EQUAL 1)
message (" WASI-NN: GPU enabled") message (" WASI-NN: GPU enabled")
@ -562,9 +640,7 @@ if (WAMR_BUILD_GC_HEAP_VERIFY EQUAL 1)
message (" GC heap verification enabled") message (" GC heap verification enabled")
endif () endif ()
if ("$ENV{COLLECT_CODE_COVERAGE}" STREQUAL "1" OR COLLECT_CODE_COVERAGE EQUAL 1) if ("$ENV{COLLECT_CODE_COVERAGE}" STREQUAL "1" OR COLLECT_CODE_COVERAGE EQUAL 1)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage") include(${CMAKE_CURRENT_LIST_DIR}/code_coverage.cmake)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage")
add_definitions (-DCOLLECT_CODE_COVERAGE)
message (" Collect code coverage enabled") message (" Collect code coverage enabled")
endif () endif ()
if (WAMR_BUILD_STATIC_PGO EQUAL 1) if (WAMR_BUILD_STATIC_PGO EQUAL 1)
@ -684,6 +760,9 @@ else()
message (" Extended constant expression disabled") message (" Extended constant expression disabled")
add_definitions(-DWASM_ENABLE_EXTENDED_CONST_EXPR=0) add_definitions(-DWASM_ENABLE_EXTENDED_CONST_EXPR=0)
endif () endif ()
if (WAMR_BUILD_LIME1 EQUAL 1)
message (" Lime1 enabled")
endif ()
######################################## ########################################
# Show Phase4 Wasm proposals status. # Show Phase4 Wasm proposals status.
######################################## ########################################
@ -691,28 +770,30 @@ endif ()
message ( message (
"-- About Wasm Proposals:\n" "-- About Wasm Proposals:\n"
" Always-on:\n" " Always-on:\n"
" \"Import/Export of Mutable Globals\"\n"
" \"Multi-value\"\n" " \"Multi-value\"\n"
" \"Non-trapping float-to-int conversions\"\n" " \"Non-trapping float-to-int Conversions\"\n"
" \"Sign-extension operators\"\n" " \"Sign-extension Operators\"\n"
" \"WebAssembly C and C++ API\"\n" " \"WebAssembly C and C++ API\"\n"
" \"Branch Hinting\"\n"
" Configurable. 0 is OFF. 1 is ON:\n" " Configurable. 0 is OFF. 1 is ON:\n"
" \"Bulk Memory Operation\" via WAMR_BUILD_BULK_MEMORY: ${WAMR_BUILD_BULK_MEMORY}\n" " \"Bulk Memory Operation\" via WAMR_BUILD_BULK_MEMORY: ${WAMR_BUILD_BULK_MEMORY}\n"
" \"Bulk-memory-opt\" via WAMR_BUILD_BULK_MEMORY_OPT: ${WAMR_BUILD_BULK_MEMORY_OPT}\n"
" \"Call-indirect-overlong\" via WAMR_BUILD_CALL_INDIRECT_OVERLONG: ${WAMR_BUILD_CALL_INDIRECT_OVERLONG}\n"
" \"Extended Constant Expressions\" via WAMR_BUILD_EXTENDED_CONST_EXPR: ${WAMR_BUILD_EXTENDED_CONST_EXPR}\n" " \"Extended Constant Expressions\" via WAMR_BUILD_EXTENDED_CONST_EXPR: ${WAMR_BUILD_EXTENDED_CONST_EXPR}\n"
" \"Fixed-width SIMD\" via WAMR_BUILD_SIMD: ${WAMR_BUILD_SIMD}\n" " \"Fixed-width SIMD\" via WAMR_BUILD_SIMD: ${WAMR_BUILD_SIMD}\n"
" \"Garbage collection\" via WAMR_BUILD_GC: ${WAMR_BUILD_GC}\n" " \"Garbage Collection\" via WAMR_BUILD_GC: ${WAMR_BUILD_GC}\n"
" \"Legacy Exception handling\" via WAMR_BUILD_EXCE_HANDLING: ${WAMR_BUILD_EXCE_HANDLING}\n" " \"Legacy Exception Handling\" via WAMR_BUILD_EXCE_HANDLING: ${WAMR_BUILD_EXCE_HANDLING}\n"
" \"Memory64\" via WAMR_BUILD_MEMORY64: ${WAMR_BUILD_MEMORY64}\n" " \"Memory64\" via WAMR_BUILD_MEMORY64: ${WAMR_BUILD_MEMORY64}\n"
" \"Multiple memories\" via WAMR_BUILD_MULTI_MEMORY: ${WAMR_BUILD_MULTI_MEMORY}\n" " \"Multiple Memories\" via WAMR_BUILD_MULTI_MEMORY: ${WAMR_BUILD_MULTI_MEMORY}\n"
" \"Reference Types\" via WAMR_BUILD_REF_TYPES: ${WAMR_BUILD_REF_TYPES}\n" " \"Reference Types\" via WAMR_BUILD_REF_TYPES: ${WAMR_BUILD_REF_TYPES}\n"
" \"Reference-Typed Strings\" via WAMR_BUILD_STRINGREF: ${WAMR_BUILD_STRINGREF}\n" " \"Reference-Typed Strings\" via WAMR_BUILD_STRINGREF: ${WAMR_BUILD_STRINGREF}\n"
" \"Tail call\" via WAMR_BUILD_TAIL_CALL: ${WAMR_BUILD_TAIL_CALL}\n" " \"Tail Call\" via WAMR_BUILD_TAIL_CALL: ${WAMR_BUILD_TAIL_CALL}\n"
" \"Threads\" via WAMR_BUILD_SHARED_MEMORY: ${WAMR_BUILD_SHARED_MEMORY}\n" " \"Threads\" via WAMR_BUILD_SHARED_MEMORY: ${WAMR_BUILD_SHARED_MEMORY}\n"
" \"Typed Function References\" via WAMR_BUILD_GC: ${WAMR_BUILD_GC}\n" " \"Typed Function References\" via WAMR_BUILD_GC: ${WAMR_BUILD_GC}\n"
" Unsupported (>= Phase4):\n" " Unsupported (>= Phase4):\n"
" \"Branch Hinting\"\n"
" \"Custom Annotation Syntax in the Text Format\"\n" " \"Custom Annotation Syntax in the Text Format\"\n"
" \"Exception handling\"\n" " \"Exception Handling\"\n"
" \"Import/Export of Mutable Globals\"\n"
" \"JS String Builtins\"\n" " \"JS String Builtins\"\n"
" \"Relaxed SIMD\"\n" " \"Relaxed SIMD\"\n"
) )

View File

@ -1 +1 @@
requests==2.32.4 requests==2.32.5

View File

@ -162,8 +162,7 @@ endif ()
####################### Common sources ####################### ####################### Common sources #######################
if (NOT MSVC) if (NOT MSVC)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -ffunction-sections -fdata-sections \ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -ffunction-sections -fdata-sections")
-Wall -Wno-unused-parameter -Wno-pedantic")
endif () endif ()
# include the build config template file # include the build config template file

View File

@ -8,7 +8,7 @@ endif()
set(WAMR_VERSION_MAJOR 2) set(WAMR_VERSION_MAJOR 2)
set(WAMR_VERSION_MINOR 4) set(WAMR_VERSION_MINOR 4)
set(WAMR_VERSION_PATCH 1) set(WAMR_VERSION_PATCH 3)
message("-- WAMR version: ${WAMR_VERSION_MAJOR}.${WAMR_VERSION_MINOR}.${WAMR_VERSION_PATCH}") message("-- WAMR version: ${WAMR_VERSION_MAJOR}.${WAMR_VERSION_MINOR}.${WAMR_VERSION_PATCH}")

View File

@ -0,0 +1,46 @@
# Copyright (C) 2019 Intel Corporation. All rights reserved.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
# global additional warnings.
if (MSVC)
# warning level 4
add_compile_options(/W4)
else ()
# refer to https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
add_compile_options(
-Wall -Wextra -Wformat -Wformat-security
$<$<COMPILE_LANGUAGE:C>:-Wshadow>
)
# -pedantic causes warnings like "ISO C forbids initialization between function pointer and void *" which
# is widely used in the codebase.
#
# -fpermissive causes warnings like "-fpermissive is valid for C++/ObjC++ but not for C"
#
# Reference:
# - gcc-4.8 https://gcc.gnu.org/onlinedocs/gcc-4.8.4/gcc/Warning-Options.html
# - gcc-11.5 https://gcc.gnu.org/onlinedocs/gcc-11.5.0/gcc/Warning-Options.html
add_compile_options (
$<$<COMPILE_LANGUAGE:C>:-Wimplicit-function-declaration>
)
# https://gcc.gnu.org/gcc-5/changes.html introduces incompatible-pointer-types
# https://releases.llvm.org/7.0.0/tools/clang/docs/DiagnosticsReference.html#wincompatible-pointer-types
# is the earliest version that supports this option I can found.
# Assume AppClang versioning is compatible with Clang.
if ((CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "5.1")
OR (CMAKE_C_COMPILER_ID STREQUAL "Clang" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "7.0.0")
OR (CMAKE_C_COMPILER_ID STREQUAL "AppClang" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "7.0.0"))
add_compile_options($<$<COMPILE_LANGUAGE:C>:-Wincompatible-pointer-types>)
endif()
# options benefit embedded system.
add_compile_options (
-Wdouble-promotion
)
# waivers
add_compile_options (
-Wno-unused
-Wno-unused-parameter
)
endif ()

View File

@ -214,6 +214,10 @@
#define WASM_ENABLE_BULK_MEMORY 0 #define WASM_ENABLE_BULK_MEMORY 0
#endif #endif
#ifndef WASM_ENABLE_BULK_MEMORY_OPT
#define WASM_ENABLE_BULK_MEMORY_OPT 0
#endif
/* Shared memory */ /* Shared memory */
#ifndef WASM_ENABLE_SHARED_MEMORY #ifndef WASM_ENABLE_SHARED_MEMORY
#define WASM_ENABLE_SHARED_MEMORY 0 #define WASM_ENABLE_SHARED_MEMORY 0
@ -579,6 +583,14 @@ unless used elsewhere */
#define WASM_ENABLE_REF_TYPES 0 #define WASM_ENABLE_REF_TYPES 0
#endif #endif
#ifndef WASM_ENABLE_CALL_INDIRECT_OVERLONG
#define WASM_ENABLE_CALL_INDIRECT_OVERLONG 0
#endif
#ifndef WASM_ENABLE_BRANCH_HINTS
#define WASM_ENABLE_BRANCH_HINTS 0
#endif
#ifndef WASM_ENABLE_GC #ifndef WASM_ENABLE_GC
#define WASM_ENABLE_GC 0 #define WASM_ENABLE_GC 0
#endif #endif

View File

@ -152,7 +152,7 @@ float64
aot_intrinsic_fmin_f64(float64 a, float64 b) aot_intrinsic_fmin_f64(float64 a, float64 b)
{ {
if (isnan(a) || isnan(b)) if (isnan(a) || isnan(b))
return NAN; return (float64)NAN;
else if (a == 0 && a == b) else if (a == 0 && a == b)
return signbit(a) ? a : b; return signbit(a) ? a : b;
else else
@ -174,7 +174,7 @@ float64
aot_intrinsic_fmax_f64(float64 a, float64 b) aot_intrinsic_fmax_f64(float64 a, float64 b)
{ {
if (isnan(a) || isnan(b)) if (isnan(a) || isnan(b))
return NAN; return (float64)NAN;
else if (a == 0 && a == b) else if (a == 0 && a == b)
return signbit(a) ? b : a; return signbit(a) ? b : a;
else else

View File

@ -1786,7 +1786,8 @@ load_types(const uint8 **p_buf, const uint8 *buf_end, AOTModule *module,
read_uint32(buf, buf_end, j); read_uint32(buf, buf_end, j);
#if WASM_ENABLE_AOT_VALIDATOR != 0 #if WASM_ENABLE_AOT_VALIDATOR != 0
if (j >= module->type_count) { /* an equivalence type should be before the type it refers to */
if (j >= i) {
set_error_buf(error_buf, error_buf_size, "invalid type index"); set_error_buf(error_buf, error_buf_size, "invalid type index");
goto fail; goto fail;
} }
@ -1805,7 +1806,22 @@ load_types(const uint8 **p_buf, const uint8 *buf_end, AOTModule *module,
read_uint32(buf, buf_end, parent_type_idx); read_uint32(buf, buf_end, parent_type_idx);
read_uint16(buf, buf_end, rec_count); read_uint16(buf, buf_end, rec_count);
read_uint16(buf, buf_end, rec_idx); read_uint16(buf, buf_end, rec_idx);
#if WASM_ENABLE_AOT_VALIDATOR != 0
if (rec_count > module->type_count) {
set_error_buf(error_buf, error_buf_size, "invalid rec count");
goto fail;
}
if (rec_idx > i || rec_idx >= rec_count) {
set_error_buf(error_buf, error_buf_size, "invalid rec idx");
goto fail;
}
if (parent_type_idx >= i) {
set_error_buf(
error_buf, error_buf_size,
"parent type index must be smaller than current type index");
goto fail;
}
#endif
if (type_flag == WASM_TYPE_FUNC) { if (type_flag == WASM_TYPE_FUNC) {
AOTFuncType *func_type; AOTFuncType *func_type;
@ -1958,6 +1974,13 @@ load_types(const uint8 **p_buf, const uint8 *buf_end, AOTModule *module,
read_uint8(buf, buf_end, struct_type->fields[j].field_flags); read_uint8(buf, buf_end, struct_type->fields[j].field_flags);
read_uint8(buf, buf_end, field_type); read_uint8(buf, buf_end, field_type);
#if WASM_ENABLE_AOT_VALIDATOR != 0
if (!is_valid_field_type(field_type)) {
set_error_buf(error_buf, error_buf_size,
"invalid field type");
goto fail;
}
#endif
struct_type->fields[j].field_type = field_type; struct_type->fields[j].field_type = field_type;
struct_type->fields[j].field_size = field_size = struct_type->fields[j].field_size = field_size =
(uint8)wasm_reftype_size(field_type); (uint8)wasm_reftype_size(field_type);
@ -2054,13 +2077,6 @@ load_types(const uint8 **p_buf, const uint8 *buf_end, AOTModule *module,
AOTType *cur_type = module->types[j]; AOTType *cur_type = module->types[j];
parent_type_idx = cur_type->parent_type_idx; parent_type_idx = cur_type->parent_type_idx;
if (parent_type_idx != (uint32)-1) { /* has parent */ if (parent_type_idx != (uint32)-1) { /* has parent */
#if WASM_ENABLE_AOT_VALIDATOR != 0
if (parent_type_idx >= module->type_count) {
set_error_buf(error_buf, error_buf_size,
"invalid parent type index");
goto fail;
}
#endif
AOTType *parent_type = module->types[parent_type_idx]; AOTType *parent_type = module->types[parent_type_idx];
module->types[j]->parent_type = parent_type; module->types[j]->parent_type = parent_type;
@ -2084,13 +2100,6 @@ load_types(const uint8 **p_buf, const uint8 *buf_end, AOTModule *module,
AOTType *cur_type = module->types[j]; AOTType *cur_type = module->types[j];
parent_type_idx = cur_type->parent_type_idx; parent_type_idx = cur_type->parent_type_idx;
if (parent_type_idx != (uint32)-1) { /* has parent */ if (parent_type_idx != (uint32)-1) { /* has parent */
#if WASM_ENABLE_AOT_VALIDATOR != 0
if (parent_type_idx >= module->type_count) {
set_error_buf(error_buf, error_buf_size,
"invalid parent type index");
goto fail;
}
#endif
AOTType *parent_type = module->types[parent_type_idx]; AOTType *parent_type = module->types[parent_type_idx];
/* subtyping has been checked during compilation */ /* subtyping has been checked during compilation */
bh_assert(wasm_type_is_subtype_of( bh_assert(wasm_type_is_subtype_of(
@ -3161,6 +3170,8 @@ str2uint64(const char *buf, uint64 *p_res)
} }
#define R_X86_64_GOTPCREL 9 /* 32 bit signed PC relative offset to GOT */ #define R_X86_64_GOTPCREL 9 /* 32 bit signed PC relative offset to GOT */
#define R_X86_64_GOTPCRELX 41 /* relaxable GOTPCREL */
#define R_X86_64_REX_GOTPCRELX 42 /* relaxable GOTPCREL with REX prefix */
static bool static bool
is_text_section(const char *section_name) is_text_section(const char *section_name)
@ -3223,7 +3234,9 @@ do_text_relocation(AOTModule *module, AOTRelocationGroup *group,
} }
#if (defined(BUILD_TARGET_X86_64) || defined(BUILD_TARGET_AMD_64)) \ #if (defined(BUILD_TARGET_X86_64) || defined(BUILD_TARGET_AMD_64)) \
&& !defined(BH_PLATFORM_WINDOWS) && !defined(BH_PLATFORM_WINDOWS)
if (relocation->relocation_type == R_X86_64_GOTPCREL) { if (relocation->relocation_type == R_X86_64_GOTPCREL
|| relocation->relocation_type == R_X86_64_GOTPCRELX
|| relocation->relocation_type == R_X86_64_REX_GOTPCRELX) {
GOTItem *got_item = module->got_item_list; GOTItem *got_item = module->got_item_list;
uint32 got_item_idx = 0; uint32 got_item_idx = 0;
@ -3730,7 +3743,9 @@ load_relocation_section(const uint8 *buf, const uint8 *buf_end,
bh_memcpy_s(symbol_name_buf, (uint32)sizeof(symbol_name_buf), bh_memcpy_s(symbol_name_buf, (uint32)sizeof(symbol_name_buf),
symbol_name, symbol_name_len); symbol_name, symbol_name_len);
if (relocation.relocation_type == R_X86_64_GOTPCREL if ((relocation.relocation_type == R_X86_64_GOTPCREL
|| relocation.relocation_type == R_X86_64_GOTPCRELX
|| relocation.relocation_type == R_X86_64_REX_GOTPCRELX)
&& !strncmp(symbol_name_buf, AOT_FUNC_PREFIX, && !strncmp(symbol_name_buf, AOT_FUNC_PREFIX,
strlen(AOT_FUNC_PREFIX))) { strlen(AOT_FUNC_PREFIX))) {
uint32 func_idx = uint32 func_idx =
@ -3885,7 +3900,8 @@ load_relocation_section(const uint8 *buf, const uint8 *buf_end,
#endif #endif
) { ) {
#if !defined(BH_PLATFORM_LINUX) && !defined(BH_PLATFORM_LINUX_SGX) \ #if !defined(BH_PLATFORM_LINUX) && !defined(BH_PLATFORM_LINUX_SGX) \
&& !defined(BH_PLATFORM_DARWIN) && !defined(BH_PLATFORM_WINDOWS) && !defined(BH_PLATFORM_DARWIN) && !defined(BH_PLATFORM_WINDOWS) \
&& !defined(BH_PLATFORM_ANDROID)
if (module->is_indirect_mode) { if (module->is_indirect_mode) {
set_error_buf(error_buf, error_buf_size, set_error_buf(error_buf, error_buf_size,
"cannot apply relocation to text section " "cannot apply relocation to text section "
@ -4210,15 +4226,7 @@ create_module(char *name, char *error_buf, uint32 error_buf_size)
#endif #endif
#if WASM_ENABLE_LIBC_WASI != 0 #if WASM_ENABLE_LIBC_WASI != 0
#if WASM_ENABLE_UVWASI == 0 wasi_args_set_defaults(&module->wasi_args);
module->wasi_args.stdio[0] = os_invalid_raw_handle();
module->wasi_args.stdio[1] = os_invalid_raw_handle();
module->wasi_args.stdio[2] = os_invalid_raw_handle();
#else
module->wasi_args.stdio[0] = os_get_invalid_handle();
module->wasi_args.stdio[1] = os_get_invalid_handle();
module->wasi_args.stdio[2] = os_get_invalid_handle();
#endif /* WASM_ENABLE_UVWASI == 0 */
#endif /* WASM_ENABLE_LIBC_WASI != 0 */ #endif /* WASM_ENABLE_LIBC_WASI != 0 */
return module; return module;

View File

@ -114,6 +114,13 @@ set_error_buf_v(char *error_buf, uint32 error_buf_size, const char *format, ...)
} }
} }
static void
aot_unlinked_import_func_trap(WASMExecEnv *exec_env)
{
AOTModuleInstance *module_inst = (AOTModuleInstance *)exec_env->module_inst;
aot_set_exception_with_id(module_inst, EXCE_CALL_UNLINKED_IMPORT_FUNC);
}
static void * static void *
runtime_malloc(uint64 size, char *error_buf, uint32 error_buf_size) runtime_malloc(uint64 size, char *error_buf, uint32 error_buf_size)
{ {
@ -1026,14 +1033,14 @@ memory_instantiate(AOTModuleInstance *module_inst, AOTModuleInstance *parent,
/* If only one page and at most one page, we just append /* If only one page and at most one page, we just append
the app heap to the end of linear memory, enlarge the the app heap to the end of linear memory, enlarge the
num_bytes_per_page, and don't change the page count */ num_bytes_per_page, and don't change the page count */
heap_offset = num_bytes_per_page; if (heap_size > UINT32_MAX - num_bytes_per_page) {
num_bytes_per_page += heap_size;
if (num_bytes_per_page < heap_size) {
set_error_buf(error_buf, error_buf_size, set_error_buf(error_buf, error_buf_size,
"failed to insert app heap into linear memory, " "failed to insert app heap into linear memory, "
"try using `--heap-size=0` option"); "try using `--heap-size=0` option");
return NULL; return NULL;
} }
heap_offset = num_bytes_per_page;
num_bytes_per_page += heap_size;
} }
else if (heap_size > 0) { else if (heap_size > 0) {
if (init_page_count == max_page_count && init_page_count == 0) { if (init_page_count == max_page_count && init_page_count == 0) {
@ -1385,8 +1392,19 @@ init_func_ptrs(AOTModuleInstance *module_inst, AOTModule *module,
if (!*func_ptrs) { if (!*func_ptrs) {
const char *module_name = module->import_funcs[i].module_name; const char *module_name = module->import_funcs[i].module_name;
const char *field_name = module->import_funcs[i].func_name; const char *field_name = module->import_funcs[i].func_name;
/* AOT mode: If linking an imported function fails, we only issue
* a warning here instead of throwing an error. However, during the
* subsequent `invoke_native` stage, calling this unresolved import
* will likely crash.
*
* See:
* https://github.com/bytecodealliance/wasm-micro-runtime/issues/4539
*
* Debugging: Check if the import is resolved at link time */
LOG_WARNING("warning: failed to link import function (%s, %s)", LOG_WARNING("warning: failed to link import function (%s, %s)",
module_name, field_name); module_name, field_name);
*func_ptrs = (void *)aot_unlinked_import_func_trap;
} }
} }
@ -1879,8 +1897,9 @@ check_linked_symbol(AOTModule *module, char *error_buf, uint32 error_buf_size)
AOTModuleInstance * AOTModuleInstance *
aot_instantiate(AOTModule *module, AOTModuleInstance *parent, aot_instantiate(AOTModule *module, AOTModuleInstance *parent,
WASMExecEnv *exec_env_main, uint32 stack_size, uint32 heap_size, WASMExecEnv *exec_env_main,
uint32 max_memory_pages, char *error_buf, uint32 error_buf_size) const struct InstantiationArgs2 *args, char *error_buf,
uint32 error_buf_size)
{ {
AOTModuleInstance *module_inst; AOTModuleInstance *module_inst;
#if WASM_ENABLE_BULK_MEMORY != 0 || WASM_ENABLE_REF_TYPES != 0 #if WASM_ENABLE_BULK_MEMORY != 0 || WASM_ENABLE_REF_TYPES != 0
@ -1898,6 +1917,9 @@ aot_instantiate(AOTModule *module, AOTModuleInstance *parent,
#if WASM_ENABLE_MULTI_MODULE != 0 #if WASM_ENABLE_MULTI_MODULE != 0
bool ret = false; bool ret = false;
#endif #endif
uint32 stack_size = args->v1.default_stack_size;
uint32 heap_size = args->v1.host_managed_heap_size;
uint32 max_memory_pages = args->v1.max_memory_pages;
/* Align and validate heap size */ /* Align and validate heap size */
heap_size = align_uint(heap_size, 8); heap_size = align_uint(heap_size, 8);
@ -1979,7 +2001,7 @@ aot_instantiate(AOTModule *module, AOTModuleInstance *parent,
ret = wasm_runtime_sub_module_instantiate( ret = wasm_runtime_sub_module_instantiate(
(WASMModuleCommon *)module, (WASMModuleInstanceCommon *)module_inst, (WASMModuleCommon *)module, (WASMModuleInstanceCommon *)module_inst,
stack_size, heap_size, max_memory_pages, error_buf, error_buf_size); args, error_buf, error_buf_size);
if (!ret) { if (!ret) {
LOG_DEBUG("build a sub module list failed"); LOG_DEBUG("build a sub module list failed");
goto fail; goto fail;
@ -2059,17 +2081,25 @@ aot_instantiate(AOTModule *module, AOTModuleInstance *parent,
#if WASM_ENABLE_LIBC_WASI != 0 #if WASM_ENABLE_LIBC_WASI != 0
if (!is_sub_inst) { if (!is_sub_inst) {
const WASIArguments *wasi_args = &args->wasi;
if (module->wasi_args.set_by_user) {
if (wasi_args->set_by_user) {
set_error_buf(error_buf, error_buf_size,
"WASI configuration was given via both of module "
"and InstantiationArgs2");
goto fail;
}
wasi_args = &module->wasi_args;
}
if (!wasm_runtime_init_wasi( if (!wasm_runtime_init_wasi(
(WASMModuleInstanceCommon *)module_inst, (WASMModuleInstanceCommon *)module_inst, wasi_args->dir_list,
module->wasi_args.dir_list, module->wasi_args.dir_count, wasi_args->dir_count, wasi_args->map_dir_list,
module->wasi_args.map_dir_list, module->wasi_args.map_dir_count, wasi_args->map_dir_count, wasi_args->env, wasi_args->env_count,
module->wasi_args.env, module->wasi_args.env_count, wasi_args->addr_pool, wasi_args->addr_count,
module->wasi_args.addr_pool, module->wasi_args.addr_count, wasi_args->ns_lookup_pool, wasi_args->ns_lookup_count,
module->wasi_args.ns_lookup_pool, wasi_args->argv, wasi_args->argc, wasi_args->stdio[0],
module->wasi_args.ns_lookup_count, module->wasi_args.argv, wasi_args->stdio[1], wasi_args->stdio[2], error_buf,
module->wasi_args.argc, module->wasi_args.stdio[0], error_buf_size))
module->wasi_args.stdio[1], module->wasi_args.stdio[2],
error_buf, error_buf_size))
goto fail; goto fail;
} }
#endif #endif
@ -2460,6 +2490,14 @@ invoke_native_with_hw_bound_check(WASMExecEnv *exec_env, void *func_ptr,
wasm_exec_env_push_jmpbuf(exec_env, &jmpbuf_node); wasm_exec_env_push_jmpbuf(exec_env, &jmpbuf_node);
/* In AOT mode, this is primarily a design choice for performance reasons.
* Before invoke_native, we do not check whether every imported caller is
* NULL, unlike wasm_interp_call_func_import() and
* wasm_interp_call_func_native().
*
* See: https://github.com/bytecodealliance/wasm-micro-runtime/issues/4539
*/
if (os_setjmp(jmpbuf_node.jmpbuf) == 0) { if (os_setjmp(jmpbuf_node.jmpbuf) == 0) {
#if WASM_ENABLE_QUICK_AOT_ENTRY != 0 #if WASM_ENABLE_QUICK_AOT_ENTRY != 0
/* Quick call if the quick aot entry is registered */ /* Quick call if the quick aot entry is registered */
@ -4477,7 +4515,7 @@ aot_create_call_stack(struct WASMExecEnv *exec_env)
frame.frame_ref = (uint8 *)frame.lp + (frame_ref - (uint8 *)lp); frame.frame_ref = (uint8 *)frame.lp + (frame_ref - (uint8 *)lp);
/* copy local ref flags from AOT module */ /* copy local ref flags from AOT module */
bh_memcpy_s(frame.frame_ref, local_ref_flags_cell_num, bh_memcpy_s(frame.frame_ref, local_ref_flags_cell_num,
local_ref_flags, lp_size); local_ref_flags, local_ref_flags_cell_num);
#endif #endif
} }
@ -4589,16 +4627,16 @@ aot_dump_perf_profiling(const AOTModuleInstance *module_inst)
os_printf( os_printf(
" func %s, execution time: %.3f ms, execution count: %" PRIu32 " func %s, execution time: %.3f ms, execution count: %" PRIu32
" times, children execution time: %.3f ms\n", " times, children execution time: %.3f ms\n",
func_name, perf_prof->total_exec_time / 1000.0f, func_name, perf_prof->total_exec_time / 1000.0,
perf_prof->total_exec_cnt, perf_prof->total_exec_cnt,
perf_prof->children_exec_time / 1000.0f); perf_prof->children_exec_time / 1000.0);
else else
os_printf(" func %" PRIu32 os_printf(" func %" PRIu32
", execution time: %.3f ms, execution count: %" PRIu32 ", execution time: %.3f ms, execution count: %" PRIu32
" times, children execution time: %.3f ms\n", " times, children execution time: %.3f ms\n",
i, perf_prof->total_exec_time / 1000.0f, i, perf_prof->total_exec_time / 1000.0,
perf_prof->total_exec_cnt, perf_prof->total_exec_cnt,
perf_prof->children_exec_time / 1000.0f); perf_prof->children_exec_time / 1000.0);
} }
} }
@ -4614,7 +4652,7 @@ aot_summarize_wasm_execute_time(const AOTModuleInstance *inst)
AOTFuncPerfProfInfo *perf_prof = AOTFuncPerfProfInfo *perf_prof =
(AOTFuncPerfProfInfo *)inst->func_perf_profilings + i; (AOTFuncPerfProfInfo *)inst->func_perf_profilings + i;
ret += (perf_prof->total_exec_time - perf_prof->children_exec_time) ret += (perf_prof->total_exec_time - perf_prof->children_exec_time)
/ 1000.0f; / 1000.0;
} }
return ret; return ret;
@ -4633,7 +4671,7 @@ aot_get_wasm_func_exec_time(const AOTModuleInstance *inst,
AOTFuncPerfProfInfo *perf_prof = AOTFuncPerfProfInfo *perf_prof =
(AOTFuncPerfProfInfo *)inst->func_perf_profilings + i; (AOTFuncPerfProfInfo *)inst->func_perf_profilings + i;
return (perf_prof->total_exec_time - perf_prof->children_exec_time) return (perf_prof->total_exec_time - perf_prof->children_exec_time)
/ 1000.0f; / 1000.0;
} }
} }

View File

@ -544,10 +544,7 @@ aot_resolve_import_func(AOTModule *module, AOTImportFunc *import_func);
* *
* @param module the AOT module to instantiate * @param module the AOT module to instantiate
* @param parent the parent module instance * @param parent the parent module instance
* @param heap_size the default heap size of the module instance, a heap will * @param args the instantiation parameters
* be created besides the app memory space. Both wasm app and native
* function can allocate memory from the heap. If heap_size is 0, the
* default heap size will be used.
* @param error_buf buffer to output the error info if failed * @param error_buf buffer to output the error info if failed
* @param error_buf_size the size of the error buffer * @param error_buf_size the size of the error buffer
* *
@ -555,8 +552,8 @@ aot_resolve_import_func(AOTModule *module, AOTImportFunc *import_func);
*/ */
AOTModuleInstance * AOTModuleInstance *
aot_instantiate(AOTModule *module, AOTModuleInstance *parent, aot_instantiate(AOTModule *module, AOTModuleInstance *parent,
WASMExecEnv *exec_env_main, uint32 stack_size, uint32 heap_size, WASMExecEnv *exec_env_main,
uint32 max_memory_pages, char *error_buf, const struct InstantiationArgs2 *args, char *error_buf,
uint32 error_buf_size); uint32 error_buf_size);
/** /**

View File

@ -310,6 +310,80 @@ apply_relocation(AOTModule *module, uint8 *target_section_addr,
int32 symbol_index, char *error_buf, uint32 error_buf_size) int32 symbol_index, char *error_buf, uint32 error_buf_size)
{ {
switch (reloc_type) { switch (reloc_type) {
case R_ARC_S21H_PCREL:
{
uint32 insn = LOAD_I32(target_section_addr + reloc_offset);
int32 addend, value;
uintptr_t S, P;
intptr_t A;
CHECK_RELOC_OFFSET(sizeof(void *));
/* Convert from middle endian */
insn = middle_endian_convert(insn);
/* Extract the first 10 bits from Position 6 to 15 in insn */
addend = (insn << 16) >> 22;
addend = addend << 10;
/* Extract the remaining 10 bits from Position 17 to 26 in insn */
addend |= ((insn << 5) >> 22);
/* Fill in 1 bits to get the 21 bit Offset Value */
addend = addend << 1;
/* (S + A) - P */
S = (uintptr_t)(uint8 *)symbol_addr;
A = (intptr_t)reloc_addend;
P = (uintptr_t)(target_section_addr + reloc_offset);
P &= (uintptr_t)~1;
value = (int32)(S + A + addend - P);
insn = insn & 0xf801003f;
insn |= ((((value >> 1) & 0x3ff) << 17)
| (((value >> 1) & 0xffc00) >> 4));
/* Convert to middle endian */
insn = middle_endian_convert(insn);
STORE_U32(target_section_addr + reloc_offset, insn);
break;
}
case R_ARC_S21W_PCREL:
{
uint32 insn = LOAD_I32(target_section_addr + reloc_offset);
int32 addend, value;
uintptr_t S, P;
intptr_t A;
CHECK_RELOC_OFFSET(sizeof(void *));
/* Convert from middle endian */
insn = middle_endian_convert(insn);
/* Extract the first 10 bits from Position 6 to 15 in insn */
addend = (insn << 16) >> 22;
addend = addend << 9;
/* Extract the remaining 9 bits from Position 18 to 26 in insn */
addend |= ((insn << 5) >> 23);
/* Fill in 2 bits to get the 21 bit Offset Value */
addend = addend << 2;
/* (S + A) - P */
S = (uintptr_t)(uint8 *)symbol_addr;
A = (intptr_t)reloc_addend;
P = (uintptr_t)(target_section_addr + reloc_offset);
P &= (uintptr_t)~3;
value = (int32)(S + A + addend - P);
insn = insn & 0xf803003f;
insn |= ((((value >> 2) & 0x1ff) << 18)
| (((value >> 2) & 0x7fe00) >> 3));
/* Convert to middle endian */
insn = middle_endian_convert(insn);
STORE_U32(target_section_addr + reloc_offset, insn);
break;
}
case R_ARC_S25H_PCREL: case R_ARC_S25H_PCREL:
{ {
uint32 insn = LOAD_I32(target_section_addr + reloc_offset); uint32 insn = LOAD_I32(target_section_addr + reloc_offset);
@ -340,8 +414,8 @@ apply_relocation(AOTModule *module, uint8 *target_section_addr,
insn = insn & 0xf8010030; insn = insn & 0xf8010030;
insn |= ((((value >> 1) & 0x3ff) << 17) insn |= ((((value >> 1) & 0x3ff) << 17)
| (((value >> 1) & 0xffc00) >> 3) | (((value >> 1) & 0xffc00) >> 4)
| (((value >> 1) & 0xf00000) >> 19)); | (((value >> 1) & 0xf00000) >> 20));
/* Convert to middle endian */ /* Convert to middle endian */
insn = middle_endian_convert(insn); insn = middle_endian_convert(insn);

View File

@ -52,6 +52,10 @@ void __aeabi_idivmod(void);
void __aeabi_l2d(void); void __aeabi_l2d(void);
void __aeabi_l2f(void); void __aeabi_l2f(void);
void __aeabi_ldivmod(void); void __aeabi_ldivmod(void);
void __aeabi_memclr(void);
void __aeabi_memcpy(void);
void __aeabi_memmove(void);
void __aeabi_memset(void);
void __aeabi_llsl(void); void __aeabi_llsl(void);
void __aeabi_llsr(void); void __aeabi_llsr(void);
void __aeabi_lmul(void); void __aeabi_lmul(void);
@ -171,6 +175,10 @@ static SymbolMap target_sym_map[] = {
REG_SYM(__aeabi_l2d), REG_SYM(__aeabi_l2d),
REG_SYM(__aeabi_l2f), REG_SYM(__aeabi_l2f),
REG_SYM(__aeabi_ldivmod), REG_SYM(__aeabi_ldivmod),
REG_SYM(__aeabi_memclr),
REG_SYM(__aeabi_memcpy),
REG_SYM(__aeabi_memmove),
REG_SYM(__aeabi_memset),
REG_SYM(__aeabi_llsl), REG_SYM(__aeabi_llsl),
REG_SYM(__aeabi_llsr), REG_SYM(__aeabi_llsr),
REG_SYM(__aeabi_lmul), REG_SYM(__aeabi_lmul),

View File

@ -13,6 +13,8 @@
#define R_X86_64_32 10 /* Direct 32 bit zero extended */ #define R_X86_64_32 10 /* Direct 32 bit zero extended */
#define R_X86_64_32S 11 /* Direct 32 bit sign extended */ #define R_X86_64_32S 11 /* Direct 32 bit sign extended */
#define R_X86_64_PC64 24 /* PC relative 64 bit */ #define R_X86_64_PC64 24 /* PC relative 64 bit */
#define R_X86_64_GOTPCRELX 41 /* relaxable GOTPCREL */
#define R_X86_64_REX_GOTPCRELX 42 /* relaxable GOTPCREL with REX prefix */
#else #else
#ifndef IMAGE_REL_AMD64_ADDR64 #ifndef IMAGE_REL_AMD64_ADDR64
#define IMAGE_REL_AMD64_ADDR64 1 /* The 64-bit VA of the relocation target */ #define IMAGE_REL_AMD64_ADDR64 1 /* The 64-bit VA of the relocation target */
@ -152,6 +154,8 @@ apply_relocation(AOTModule *module, uint8 *target_section_addr,
#if !defined(BH_PLATFORM_WINDOWS) #if !defined(BH_PLATFORM_WINDOWS)
case R_X86_64_PC32: case R_X86_64_PC32:
case R_X86_64_GOTPCREL: /* GOT + G has been calculated as symbol_addr */ case R_X86_64_GOTPCREL: /* GOT + G has been calculated as symbol_addr */
case R_X86_64_GOTPCRELX:
case R_X86_64_REX_GOTPCRELX:
{ {
intptr_t target_addr = (intptr_t) /* S + A - P */ intptr_t target_addr = (intptr_t) /* S + A - P */
((uintptr_t)symbol_addr + reloc_addend ((uintptr_t)symbol_addr + reloc_addend

View File

@ -0,0 +1,3 @@
#if defined(__linux__) && defined(__ELF__)
.section .note.GNU-stack,"",%progbits
#endif

View File

@ -79,3 +79,6 @@ return:
add sp, sp, #0x30 /* restore sp */ add sp, sp, #0x30 /* restore sp */
ret ret
#if defined(__linux__) && defined(__ELF__)
.section .note.GNU-stack,"",%progbits
#endif

View File

@ -77,3 +77,6 @@ return:
add sp, sp, #0x30 /* restore sp */ add sp, sp, #0x30 /* restore sp */
ret ret
#if defined(__linux__) && defined(__ELF__)
.section .note.GNU-stack,"",%progbits
#endif

View File

@ -67,3 +67,6 @@ call_func:
j_s [blink] /* ret */ j_s [blink] /* ret */
nop_s nop_s
#if defined(__linux__) && defined(__ELF__)
.section .note.GNU-stack,"",%progbits
#endif

View File

@ -73,3 +73,6 @@ return:
add sp, sp, #4 add sp, sp, #4
ldmfd sp!, {r4, r5, r6, r7, lr} ldmfd sp!, {r4, r5, r6, r7, lr}
bx lr bx lr
#if defined(__linux__) && defined(__ELF__)
.section .note.GNU-stack,"",%progbits
#endif

View File

@ -84,3 +84,6 @@ return:
ldmfd sp!, {r4, r5, r6, r7, lr} ldmfd sp!, {r4, r5, r6, r7, lr}
bx lr bx lr
#if defined(__linux__) && defined(__ELF__)
.section .note.GNU-stack,"",%progbits
#endif

View File

@ -0,0 +1,73 @@
; Copyright (C) 2019 Intel Corporation. All rights reserved.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
AREA |.text|, CODE, READONLY, ALIGN=2
EXPORT invokeNative
; ------------------------ direct call path ------------------------
call_func
mov x20, x30 ; save x30(lr)
blr x19
mov sp, x22 ; restore sp saved before function call
return_label
mov x30, x20 ; restore x30(lr)
ldp x19, x20, [sp, #0x20]
ldp x21, x22, [sp, #0x10]
ldp x23, x24, [sp, #0x0]
add sp, sp, #0x30
ret
; ------------------------ stack-args path ------------------------
handle_stack
; Reserve aligned stack space for stack arguments and copy them
mov x23, sp
bic sp, x23, #15 ; Ensure 16-byte alignment
lsl x23, x21, #3 ; x23 = nstacks * 8
add x23, x23, #15
bic x23, x23, #15
sub sp, sp, x23
mov x23, sp
copy_loop
cmp x21, #0
b.eq call_func ; when done, branch back to call path
ldr x24, [x20], #8
str x24, [x23], #8
sub x21, x21, #1
b copy_loop
; ------------------------ function entry ------------------------
invokeNative
sub sp, sp, #0x30
stp x19, x20, [sp, #0x20] ; save the registers
stp x21, x22, [sp, #0x10]
stp x23, x24, [sp, #0x0]
mov x19, x0 ; x19 = function ptr
mov x20, x1 ; x20 = argv
mov x21, x2 ; x21 = nstacks
mov x22, sp ; save the sp before call function
; Fill in floating-point registers
ldp d0, d1, [x20], #16
ldp d2, d3, [x20], #16
ldp d4, d5, [x20], #16
ldp d6, d7, [x20], #16
; Fill integer registers
ldp x0, x1, [x20], #16 ; x0 = argv[8] = exec_env, x1 = argv[9]
ldp x2, x3, [x20], #16
ldp x4, x5, [x20], #16
ldp x6, x7, [x20], #16
; Now x20 points to stack args
cmp x21, #0
b.ne handle_stack ; backward: there are stack args
b call_func ; backward: no stack args
END

View File

@ -0,0 +1,73 @@
; Copyright (C) 2019 Intel Corporation. All rights reserved.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
AREA |.text|, CODE, READONLY, ALIGN=2
EXPORT invokeNative
; ------------------------ direct call path ------------------------
call_func
mov x20, x30 ; save x30(lr)
blr x19
mov sp, x22 ; restore sp saved before function call
return_label
mov x30, x20 ; restore x30(lr)
ldp x19, x20, [sp, #0x20]
ldp x21, x22, [sp, #0x10]
ldp x23, x24, [sp, #0x0]
add sp, sp, #0x30
ret
; ------------------------ stack-args path ------------------------
handle_stack
; Reserve aligned stack space for stack arguments and copy them
mov x23, sp
bic sp, x23, #15 ; Ensure 16-byte alignment
lsl x23, x21, #3 ; x23 = nstacks * 8
add x23, x23, #15
bic x23, x23, #15
sub sp, sp, x23
mov x23, sp
copy_loop
cmp x21, #0
b.eq call_func ; when done, branch back to call path
ldr x24, [x20], #8
str x24, [x23], #8
sub x21, x21, #1
b copy_loop
; ------------------------ function entry ------------------------
invokeNative
sub sp, sp, #0x30
stp x19, x20, [sp, #0x20] ; save the registers
stp x21, x22, [sp, #0x10]
stp x23, x24, [sp, #0x0]
mov x19, x0 ; x19 = function ptr
mov x20, x1 ; x20 = argv
mov x21, x2 ; x21 = nstacks
mov x22, sp ; save the sp before call function
; Fill in floating-point registers
; v0 = argv[0], v1 = argv[1], v2 = argv[2], v3 = argv[3]
ld1 {v0.2D, v1.2D, v2.2D, v3.2D}, [x20], #64
; v4 = argv[4], v5 = argv[5], v6 = argv[6], v7 = argv[7]
ld1 {v4.2D, v5.2D, v6.2D, v7.2D}, [x20], #64
; Fill integer registers
ldp x0, x1, [x20], #16 ; x0 = argv[8] = exec_env, x1 = argv[9]
ldp x2, x3, [x20], #16
ldp x4, x5, [x20], #16
ldp x6, x7, [x20], #16
; Now x20 points to stack args
cmp x21, #0
b.ne handle_stack ; (backward) there are stack args
b call_func ; (backward) no stack args
END

View File

@ -62,3 +62,6 @@ push_args_end:
leave leave
ret ret
#if defined(__linux__) && defined(__ELF__)
.section .note.GNU-stack,"",%progbits
#endif

View File

@ -62,3 +62,6 @@ push_args_end:
leave leave
ret ret
#if defined(__linux__) && defined(__ELF__)
.section .note.GNU-stack,"",%progbits
#endif

View File

@ -35,3 +35,6 @@ skip_push_args:
leave leave
ret ret
#if defined(__linux__) && defined(__ELF__)
.section .note.GNU-stack,"",%progbits
#endif

View File

@ -72,3 +72,6 @@ done:
j $31 j $31
.end invokeNative .end invokeNative
#if defined(__linux__) && defined(__ELF__)
.section .note.GNU-stack,"",%progbits
#endif

View File

@ -12,7 +12,7 @@ invokeNative:
.globl _invokeNative .globl _invokeNative
_invokeNative: _invokeNative:
#endif /* end of BH_PLATFORM_DARWIN */ #endif /* end of BH_PLATFORM_DARWIN */
.cfi_startproc
/* /*
* Arguments passed in: * Arguments passed in:
* *
@ -24,34 +24,40 @@ _invokeNative:
push {r4, r5, r6, r7} push {r4, r5, r6, r7}
push {lr} push {lr}
sub sp, sp, #4 /* make sp 8 byte aligned */ sub sp, sp, #4 /* make sp 8 byte aligned */
.cfi_def_cfa_offset 24
.cfi_offset lr, -20
.cfi_offset r4, -16
.cfi_offset r5, -12
.cfi_offset r6, -8
.cfi_offset r7, -4
mov ip, r0 /* ip = function ptr */ mov ip, r0 /* ip = function ptr */
mov r4, r1 /* r4 = argv */ mov r4, r1 /* r4 = argv */
mov r5, r2 /* r5 = argc */ mov r5, r2 /* r5 = argc */
cmp r5, #1 /* at least one argument required: exec_env */ cmp r5, #1 /* at least one argument required: exec_env */
blt return blt .Lreturn
mov r6, #0 /* increased stack size */ mov r6, #0 /* increased stack size */
ldr r0, [r4] /* r0 = argv[0] = exec_env */ ldr r0, [r4] /* r0 = argv[0] = exec_env */
add r4, r4, #4 /* r4 += 4 */ add r4, r4, #4 /* r4 += 4 */
cmp r5, #1 cmp r5, #1
beq call_func beq .Lcall_func
ldr r1, [r4] /* r1 = argv[1] */ ldr r1, [r4] /* r1 = argv[1] */
add r4, r4, #4 add r4, r4, #4
cmp r5, #2 cmp r5, #2
beq call_func beq .Lcall_func
ldr r2, [r4] /* r2 = argv[2] */ ldr r2, [r4] /* r2 = argv[2] */
add r4, r4, #4 add r4, r4, #4
cmp r5, #3 cmp r5, #3
beq call_func beq .Lcall_func
ldr r3, [r4] /* r3 = argv[3] */ ldr r3, [r4] /* r3 = argv[3] */
add r4, r4, #4 add r4, r4, #4
cmp r5, #4 cmp r5, #4
beq call_func beq .Lcall_func
sub r5, r5, #4 /* argc -= 4, now we have r0 ~ r3 */ sub r5, r5, #4 /* argc -= 4, now we have r0 ~ r3 */
@ -66,26 +72,31 @@ _invokeNative:
mov sp, r7 mov sp, r7
mov lr, r2 /* save r2 */ mov lr, r2 /* save r2 */
loop_args: /* copy left arguments to stack */
.Lloop_args: /* copy left arguments to stack */
cmp r5, #0 cmp r5, #0
beq call_func1 beq .Lcall_func1
ldr r2, [r4] ldr r2, [r4]
add r4, r4, #4 add r4, r4, #4
str r2, [r7] str r2, [r7]
add r7, r7, #4 add r7, r7, #4
sub r5, r5, #1 sub r5, r5, #1
b loop_args b .Lloop_args
call_func1: .Lcall_func1:
mov r2, lr /* restore r2 */ mov r2, lr /* restore r2 */
call_func: .Lcall_func:
blx ip blx ip
add sp, sp, r6 /* restore sp */ add sp, sp, r6 /* restore sp */
return: .Lreturn:
add sp, sp, #4 /* make sp 8 byte aligned */ add sp, sp, #4 /* make sp 8 byte aligned */
pop {r3} pop {r3}
pop {r4, r5, r6, r7} pop {r4, r5, r6, r7}
mov lr, r3 mov lr, r3
bx lr bx lr
.cfi_endproc
#if defined(__linux__) && defined(__ELF__)
.section .note.GNU-stack,"",%progbits
#endif

View File

@ -12,7 +12,7 @@ invokeNative:
.globl _invokeNative .globl _invokeNative
_invokeNative: _invokeNative:
#endif /* end of BH_PLATFORM_DARWIN */ #endif /* end of BH_PLATFORM_DARWIN */
.cfi_startproc
/* /*
* Arguments passed in: * Arguments passed in:
* *
@ -24,10 +24,17 @@ _invokeNative:
push {r4, r5, r6, r7} push {r4, r5, r6, r7}
push {lr} push {lr}
sub sp, sp, #4 /* make sp 8 byte aligned */ sub sp, sp, #4 /* make sp 8 byte aligned */
.cfi_def_cfa_offset 24
.cfi_offset lr, -20
.cfi_offset r4, -16
.cfi_offset r5, -12
.cfi_offset r6, -8
.cfi_offset r7, -4
mov ip, r0 /* ip = function ptr */ mov ip, r0 /* ip = function ptr */
mov r4, r1 /* r4 = argv */ mov r4, r1 /* r4 = argv */
mov r5, r2 /* r5 = nstacks */ mov r5, r2 /* r5 = nstacks */
mov r7, sp mov r7, sp
.cfi_def_cfa r7, 24
/* Fill all int args */ /* Fill all int args */
ldr r0, [r4, #0] /* r0 = *(int*)&argv[0] = exec_env */ ldr r0, [r4, #0] /* r0 = *(int*)&argv[0] = exec_env */
@ -57,7 +64,7 @@ _invokeNative:
vldr s15, [r4, #60] vldr s15, [r4, #60]
/* Directly call the function if no args in stack */ /* Directly call the function if no args in stack */
cmp r5, #0 cmp r5, #0
beq call_func beq .Lcall_func
mov lr, r2 /* save r2 */ mov lr, r2 /* save r2 */
@ -73,28 +80,32 @@ _invokeNative:
mov r7, sp mov r7, sp
mov sp, r6 mov sp, r6
loop_stack_args: /* copy stack arguments to stack */ .Lloop_stack_args: /* copy stack arguments to stack */
cmp r5, #0 cmp r5, #0
beq call_func1 beq .Lcall_func1
ldr r2, [r4] /* Note: caller should insure int64 and */ ldr r2, [r4] /* Note: caller should insure int64 and */
add r4, r4, #4 /* double are placed in 8 bytes aligned address */ add r4, r4, #4 /* double are placed in 8 bytes aligned address */
str r2, [r6] str r2, [r6]
add r6, r6, #4 add r6, r6, #4
sub r5, r5, #1 sub r5, r5, #1
b loop_stack_args b .Lloop_stack_args
call_func1: .Lcall_func1:
mov r2, lr /* restore r2 */ mov r2, lr /* restore r2 */
call_func: .Lcall_func:
blx ip blx ip
mov sp, r7 /* restore sp */ mov sp, r7 /* restore sp */
return: .Lreturn:
add sp, sp, #4 /* make sp 8 byte aligned */ add sp, sp, #4 /* make sp 8 byte aligned */
pop {r3} pop {r3}
pop {r4, r5, r6, r7} pop {r4, r5, r6, r7}
mov lr, r3 mov lr, r3
bx lr bx lr
.cfi_endproc
#if defined(__linux__) && defined(__ELF__)
.section .note.GNU-stack,"",%progbits
#endif

View File

@ -72,3 +72,6 @@ call_func:
return: return:
retw.n retw.n
#if defined(__linux__) && defined(__ELF__)
.section .note.GNU-stack,"",%progbits
#endif

View File

@ -4,6 +4,42 @@
set (IWASM_COMMON_DIR ${CMAKE_CURRENT_LIST_DIR}) set (IWASM_COMMON_DIR ${CMAKE_CURRENT_LIST_DIR})
include_directories (${IWASM_COMMON_DIR}) include_directories (${IWASM_COMMON_DIR})
if (MSVC AND WAMR_BUILD_PLATFORM STREQUAL "windows" AND WAMR_BUILD_TARGET MATCHES "AARCH64.*")
if (DEFINED ENV{VCToolsInstallDir})
# Detect host tool dir
set(_ARMASM64_CANDIDATES
"$ENV{VCToolsInstallDir}/bin/HostX64/ARM64/armasm64.exe"
"$ENV{VCToolsInstallDir}/bin/HostARM64/arm64/armasm64.exe")
set(_ARMASM64_EXE "")
foreach(_p IN LISTS _ARMASM64_CANDIDATES)
if (EXISTS "${_p}")
set(_ARMASM64_EXE "${_p}")
break()
endif()
endforeach()
if (_ARMASM64_EXE STREQUAL "")
message(FATAL_ERROR "armasm64.exe not found under VCToolsInstallDir")
endif()
# Wrapper without spaces to avoid quoting hell on NMake/cmd.exe
set(_WRAP "${CMAKE_BINARY_DIR}/armasm64_wrapper.bat")
file(WRITE "${_WRAP}"
"@echo off\r\n\"${_ARMASM64_EXE}\" %*\r\n")
# Use wrapper as compiler (no spaces in path)
set(CMAKE_ASM_MASM_COMPILER
"${_WRAP}"
CACHE FILEPATH "" FORCE)
# Quote ONLY object and source (compiler path has no spaces now)
set(CMAKE_ASM_MASM_COMPILE_OBJECT
"<CMAKE_ASM_MASM_COMPILER> /nologo -o \"<OBJECT>\" \"<SOURCE>\""
CACHE STRING "" FORCE)
else()
message(FATAL_ERROR "VCToolsInstallDir is not defined. Please run from a Developer Command Prompt or specify armasm64.exe manually.")
endif()
endif()
add_definitions(-DBH_MALLOC=wasm_runtime_malloc) add_definitions(-DBH_MALLOC=wasm_runtime_malloc)
add_definitions(-DBH_FREE=wasm_runtime_free) add_definitions(-DBH_FREE=wasm_runtime_free)
@ -79,9 +115,37 @@ elseif (WAMR_BUILD_TARGET MATCHES "THUMB.*")
endif () endif ()
elseif (WAMR_BUILD_TARGET MATCHES "AARCH64.*") elseif (WAMR_BUILD_TARGET MATCHES "AARCH64.*")
if (NOT WAMR_BUILD_SIMD EQUAL 1) if (NOT WAMR_BUILD_SIMD EQUAL 1)
if (WAMR_BUILD_PLATFORM STREQUAL "windows")
if (MSVC)
set (source_all ${c_source_all} ${IWASM_COMMON_DIR}/arch/invokeNative_armasm64.asm)
set(_WAMR_ARM64_MASM_SOURCES ${IWASM_COMMON_DIR}/arch/invokeNative_armasm64.asm)
set_source_files_properties(${_WAMR_ARM64_MASM_SOURCES}
PROPERTIES
LANGUAGE ASM_MASM
COMPILE_DEFINITIONS ""
INCLUDE_DIRECTORIES ""
COMPILE_OPTIONS "/nologo"
)
endif ()
else ()
set (source_all ${c_source_all} ${IWASM_COMMON_DIR}/arch/invokeNative_aarch64.s) set (source_all ${c_source_all} ${IWASM_COMMON_DIR}/arch/invokeNative_aarch64.s)
endif ()
else() else()
if (WAMR_BUILD_PLATFORM STREQUAL "windows")
if (MSVC)
set (source_all ${c_source_all} ${IWASM_COMMON_DIR}/arch/invokeNative_armasm64_simd.asm)
set(_WAMR_ARM64_MASM_SOURCES_SIMD ${IWASM_COMMON_DIR}/arch/invokeNative_armasm64_simd.asm)
set_source_files_properties(${_WAMR_ARM64_MASM_SOURCES_SIMD}
PROPERTIES
LANGUAGE ASM_MASM
COMPILE_DEFINITIONS ""
INCLUDE_DIRECTORIES ""
COMPILE_OPTIONS "/nologo"
)
endif ()
else ()
set (source_all ${c_source_all} ${IWASM_COMMON_DIR}/arch/invokeNative_aarch64_simd.s) set (source_all ${c_source_all} ${IWASM_COMMON_DIR}/arch/invokeNative_aarch64_simd.s)
endif ()
endif() endif()
elseif (WAMR_BUILD_TARGET STREQUAL "MIPS") elseif (WAMR_BUILD_TARGET STREQUAL "MIPS")
set (source_all ${c_source_all} ${IWASM_COMMON_DIR}/arch/invokeNative_mips.s) set (source_all ${c_source_all} ${IWASM_COMMON_DIR}/arch/invokeNative_mips.s)

View File

@ -712,7 +712,10 @@ execute_func(WASMModuleInstanceCommon *module_inst, const char *name,
} }
case VALUE_TYPE_F32: case VALUE_TYPE_F32:
{ {
os_printf("%.7g:f32", *(float32 *)(argv1 + k)); // Explicit cast to double to avoid warning.
// Float arguments are promoted to double in variadic
// functions per section 6.5.2.2 of the C99 standard.
os_printf("%.7g:f32", (double)*(float32 *)(argv1 + k));
k++; k++;
break; break;
} }

View File

@ -179,6 +179,20 @@ is_valid_func_type(const WASMFuncType *func_type)
return true; return true;
} }
bool
is_valid_packed_type(uint8 packed_type)
{
return packed_type == PACKED_TYPE_I8 || packed_type == PACKED_TYPE_I16;
}
bool
is_valid_field_type(uint8 field_type)
{
if (is_valid_value_type(field_type) || is_valid_packed_type(field_type))
return true;
return false;
}
/* /*
* Indices are represented as a u32. * Indices are represented as a u32.
*/ */

View File

@ -38,6 +38,12 @@ is_valid_value_type_for_interpreter(uint8 value_tpye);
bool bool
is_valid_func_type(const WASMFuncType *func_type); is_valid_func_type(const WASMFuncType *func_type);
bool
is_valid_packed_type(uint8 packed_type);
bool
is_valid_field_type(uint8 field_type);
bool bool
is_indices_overflow(uint32 import, uint32 other, char *error_buf, is_indices_overflow(uint32 import, uint32 other, char *error_buf,
uint32 error_buf_size); uint32 error_buf_size);

View File

@ -199,6 +199,8 @@ wasm_runtime_create_shared_heap(SharedHeapInitArgs *init_args)
heap->heap_handle = NULL; heap->heap_handle = NULL;
heap->base_addr = init_args->pre_allocated_addr; heap->base_addr = init_args->pre_allocated_addr;
LOG_VERBOSE("Create preallocated shared heap %p with size %u",
heap->base_addr, size);
} }
else { else {
if (!(heap->heap_handle = if (!(heap->heap_handle =
@ -225,6 +227,8 @@ wasm_runtime_create_shared_heap(SharedHeapInitArgs *init_args)
LOG_WARNING("init share heap failed"); LOG_WARNING("init share heap failed");
goto fail4; goto fail4;
} }
LOG_VERBOSE("Create pool shared heap %p with size %u", heap->base_addr,
size);
} }
os_mutex_lock(&shared_heap_list_lock); os_mutex_lock(&shared_heap_list_lock);
@ -509,6 +513,8 @@ wasm_runtime_attach_shared_heap_internal(WASMModuleInstanceCommon *module_inst,
os_mutex_lock(&shared_heap_list_lock); os_mutex_lock(&shared_heap_list_lock);
shared_heap->attached_count++; shared_heap->attached_count++;
os_mutex_unlock(&shared_heap_list_lock); os_mutex_unlock(&shared_heap_list_lock);
LOG_VERBOSE("Shared heap %p is attached to module instance %p", shared_heap,
module_inst);
return true; return true;
} }
@ -570,6 +576,7 @@ wasm_runtime_detach_shared_heap_internal(WASMModuleInstanceCommon *module_inst)
e->shared_heap_base_addr_adj = NULL; e->shared_heap_base_addr_adj = NULL;
} }
#endif /* end of WASM_ENABLE_AOT != 0 */ #endif /* end of WASM_ENABLE_AOT != 0 */
LOG_VERBOSE("Shared heap is detached from module instance %p", module_inst);
} }
void void
@ -609,12 +616,12 @@ wasm_runtime_get_shared_heap(WASMModuleInstanceCommon *module_inst_comm)
bool bool
is_app_addr_in_shared_heap(WASMModuleInstanceCommon *module_inst, is_app_addr_in_shared_heap(WASMModuleInstanceCommon *module_inst,
bool is_memory64, uint64 app_offset, uint32 bytes) bool is_memory64, uint64 app_offset, uint64 bytes)
{ {
WASMSharedHeap *heap = get_shared_heap(module_inst), *cur; WASMSharedHeap *heap = get_shared_heap(module_inst), *cur;
uint64 shared_heap_start, shared_heap_end; uint64 shared_heap_start, shared_heap_end;
if (!heap) { if (!heap || bytes > APP_HEAP_SIZE_MAX) {
goto fail; goto fail;
} }
@ -658,12 +665,12 @@ fail:
static bool static bool
is_native_addr_in_shared_heap(WASMModuleInstanceCommon *module_inst, is_native_addr_in_shared_heap(WASMModuleInstanceCommon *module_inst,
bool is_memory64, uint8 *addr, uint32 bytes) bool is_memory64, uint8 *addr, uint64 bytes)
{ {
WASMSharedHeap *cur, *heap = get_shared_heap(module_inst); WASMSharedHeap *cur, *heap = get_shared_heap(module_inst);
uintptr_t base_addr, addr_int, end_addr; uintptr_t base_addr, addr_int, end_addr;
if (!heap) { if (!heap || bytes > APP_HEAP_SIZE_MAX) {
goto fail; goto fail;
} }

View File

@ -84,7 +84,7 @@ SET_LINEAR_MEMORY_SIZE(WASMMemoryInstance *memory, uint64 size)
#if WASM_ENABLE_SHARED_HEAP != 0 #if WASM_ENABLE_SHARED_HEAP != 0
bool bool
is_app_addr_in_shared_heap(WASMModuleInstanceCommon *module_inst, is_app_addr_in_shared_heap(WASMModuleInstanceCommon *module_inst,
bool is_memory64, uint64 app_offset, uint32 bytes); bool is_memory64, uint64 app_offset, uint64 bytes);
WASMSharedHeap * WASMSharedHeap *
wasm_runtime_create_shared_heap(SharedHeapInitArgs *init_args); wasm_runtime_create_shared_heap(SharedHeapInitArgs *init_args);

View File

@ -347,7 +347,8 @@ static dtor_t g_context_dtors[WASM_MAX_INSTANCE_CONTEXTS];
static void static void
dtor_noop(WASMModuleInstanceCommon *inst, void *ctx) dtor_noop(WASMModuleInstanceCommon *inst, void *ctx)
{} {
}
void * void *
wasm_native_create_context_key(void (*dtor)(WASMModuleInstanceCommon *inst, wasm_native_create_context_key(void (*dtor)(WASMModuleInstanceCommon *inst,
@ -485,7 +486,8 @@ wasm_native_init()
|| WASM_ENABLE_LIB_RATS != 0 || WASM_ENABLE_WASI_NN != 0 \ || WASM_ENABLE_LIB_RATS != 0 || WASM_ENABLE_WASI_NN != 0 \
|| WASM_ENABLE_APP_FRAMEWORK != 0 || WASM_ENABLE_LIBC_WASI != 0 \ || WASM_ENABLE_APP_FRAMEWORK != 0 || WASM_ENABLE_LIBC_WASI != 0 \
|| WASM_ENABLE_LIB_PTHREAD != 0 || WASM_ENABLE_LIB_WASI_THREADS != 0 \ || WASM_ENABLE_LIB_PTHREAD != 0 || WASM_ENABLE_LIB_WASI_THREADS != 0 \
|| WASM_ENABLE_WASI_NN != 0 || WASM_ENABLE_WASI_EPHEMERAL_NN != 0 || WASM_ENABLE_WASI_NN != 0 || WASM_ENABLE_WASI_EPHEMERAL_NN != 0 \
|| WASM_ENABLE_SHARED_HEAP != 0
NativeSymbol *native_symbols; NativeSymbol *native_symbols;
uint32 n_native_symbols; uint32 n_native_symbols;
#endif #endif
@ -602,7 +604,8 @@ wasm_native_init()
|| WASM_ENABLE_LIB_RATS != 0 || WASM_ENABLE_WASI_NN != 0 \ || WASM_ENABLE_LIB_RATS != 0 || WASM_ENABLE_WASI_NN != 0 \
|| WASM_ENABLE_APP_FRAMEWORK != 0 || WASM_ENABLE_LIBC_WASI != 0 \ || WASM_ENABLE_APP_FRAMEWORK != 0 || WASM_ENABLE_LIBC_WASI != 0 \
|| WASM_ENABLE_LIB_PTHREAD != 0 || WASM_ENABLE_LIB_WASI_THREADS != 0 \ || WASM_ENABLE_LIB_PTHREAD != 0 || WASM_ENABLE_LIB_WASI_THREADS != 0 \
|| WASM_ENABLE_WASI_NN != 0 || WASM_ENABLE_WASI_EPHEMERAL_NN != 0 || WASM_ENABLE_WASI_NN != 0 || WASM_ENABLE_WASI_EPHEMERAL_NN != 0 \
|| WASM_ENABLE_SHARED_HEAP != 0
goto fail; goto fail;
#else #else
return false; return false;
@ -616,7 +619,8 @@ wasm_native_init()
|| WASM_ENABLE_LIB_RATS != 0 || WASM_ENABLE_WASI_NN != 0 \ || WASM_ENABLE_LIB_RATS != 0 || WASM_ENABLE_WASI_NN != 0 \
|| WASM_ENABLE_APP_FRAMEWORK != 0 || WASM_ENABLE_LIBC_WASI != 0 \ || WASM_ENABLE_APP_FRAMEWORK != 0 || WASM_ENABLE_LIBC_WASI != 0 \
|| WASM_ENABLE_LIB_PTHREAD != 0 || WASM_ENABLE_LIB_WASI_THREADS != 0 \ || WASM_ENABLE_LIB_PTHREAD != 0 || WASM_ENABLE_LIB_WASI_THREADS != 0 \
|| WASM_ENABLE_WASI_NN != 0 || WASM_ENABLE_WASI_EPHEMERAL_NN != 0 || WASM_ENABLE_WASI_NN != 0 || WASM_ENABLE_WASI_EPHEMERAL_NN != 0 \
|| WASM_ENABLE_SHARED_HEAP != 0
fail: fail:
wasm_native_destroy(); wasm_native_destroy();
return false; return false;

View File

@ -582,7 +582,7 @@ fail1:
static bool static bool
wasm_runtime_exec_env_check(WASMExecEnv *exec_env) wasm_runtime_exec_env_check(WASMExecEnv *exec_env)
{ {
return exec_env && exec_env->module_inst && exec_env->wasm_stack_size > 0 return exec_env && exec_env->module_inst
&& exec_env->wasm_stack.top_boundary && exec_env->wasm_stack.top_boundary
== exec_env->wasm_stack.bottom + exec_env->wasm_stack_size == exec_env->wasm_stack.bottom + exec_env->wasm_stack_size
&& exec_env->wasm_stack.top <= exec_env->wasm_stack.top_boundary; && exec_env->wasm_stack.top <= exec_env->wasm_stack.top_boundary;
@ -1623,41 +1623,48 @@ wasm_runtime_get_max_mem(uint32 max_memory_pages, uint32 module_init_page_count,
WASMModuleInstanceCommon * WASMModuleInstanceCommon *
wasm_runtime_instantiate_internal(WASMModuleCommon *module, wasm_runtime_instantiate_internal(WASMModuleCommon *module,
WASMModuleInstanceCommon *parent, WASMModuleInstanceCommon *parent,
WASMExecEnv *exec_env_main, uint32 stack_size, WASMExecEnv *exec_env_main,
uint32 heap_size, uint32 max_memory_pages, const struct InstantiationArgs2 *args,
char *error_buf, uint32 error_buf_size) char *error_buf, uint32 error_buf_size)
{ {
#if WASM_ENABLE_INTERP != 0 #if WASM_ENABLE_INTERP != 0
if (module->module_type == Wasm_Module_Bytecode) if (module->module_type == Wasm_Module_Bytecode)
return (WASMModuleInstanceCommon *)wasm_instantiate( return (WASMModuleInstanceCommon *)wasm_instantiate(
(WASMModule *)module, (WASMModuleInstance *)parent, exec_env_main, (WASMModule *)module, (WASMModuleInstance *)parent, exec_env_main,
stack_size, heap_size, max_memory_pages, error_buf, error_buf_size); args, error_buf, error_buf_size);
#endif #endif
#if WASM_ENABLE_AOT != 0 #if WASM_ENABLE_AOT != 0
if (module->module_type == Wasm_Module_AoT) if (module->module_type == Wasm_Module_AoT)
return (WASMModuleInstanceCommon *)aot_instantiate( return (WASMModuleInstanceCommon *)aot_instantiate(
(AOTModule *)module, (AOTModuleInstance *)parent, exec_env_main, (AOTModule *)module, (AOTModuleInstance *)parent, exec_env_main,
stack_size, heap_size, max_memory_pages, error_buf, error_buf_size); args, error_buf, error_buf_size);
#endif #endif
set_error_buf(error_buf, error_buf_size, set_error_buf(error_buf, error_buf_size,
"Instantiate module failed, invalid module type"); "Instantiate module failed, invalid module type");
return NULL; return NULL;
} }
void
wasm_runtime_instantiation_args_set_defaults(struct InstantiationArgs2 *args)
{
memset(args, 0, sizeof(*args));
#if WASM_ENABLE_LIBC_WASI != 0
wasi_args_set_defaults(&args->wasi);
#endif
}
WASMModuleInstanceCommon * WASMModuleInstanceCommon *
wasm_runtime_instantiate(WASMModuleCommon *module, uint32 stack_size, wasm_runtime_instantiate(WASMModuleCommon *module, uint32 stack_size,
uint32 heap_size, char *error_buf, uint32 heap_size, char *error_buf,
uint32 error_buf_size) uint32 error_buf_size)
{ {
return wasm_runtime_instantiate_internal(module, NULL, NULL, stack_size, struct InstantiationArgs2 args;
heap_size, 0, error_buf, wasm_runtime_instantiation_args_set_defaults(&args);
error_buf_size); wasm_runtime_instantiation_args_set_default_stack_size(&args, stack_size);
} wasm_runtime_instantiation_args_set_host_managed_heap_size(&args,
heap_size);
static void return wasm_runtime_instantiate_internal(module, NULL, NULL, &args,
instantiation_args_set_defaults(struct InstantiationArgs2 *args) error_buf, error_buf_size);
{
memset(args, 0, sizeof(*args));
} }
WASMModuleInstanceCommon * WASMModuleInstanceCommon *
@ -1666,7 +1673,7 @@ wasm_runtime_instantiate_ex(WASMModuleCommon *module,
uint32 error_buf_size) uint32 error_buf_size)
{ {
struct InstantiationArgs2 v2; struct InstantiationArgs2 v2;
instantiation_args_set_defaults(&v2); wasm_runtime_instantiation_args_set_defaults(&v2);
v2.v1 = *args; v2.v1 = *args;
return wasm_runtime_instantiate_ex2(module, &v2, error_buf, error_buf_size); return wasm_runtime_instantiate_ex2(module, &v2, error_buf, error_buf_size);
} }
@ -1678,7 +1685,7 @@ wasm_runtime_instantiation_args_create(struct InstantiationArgs2 **p)
if (args == NULL) { if (args == NULL) {
return false; return false;
} }
instantiation_args_set_defaults(args); wasm_runtime_instantiation_args_set_defaults(args);
*p = args; *p = args;
return true; return true;
} }
@ -1710,15 +1717,91 @@ wasm_runtime_instantiation_args_set_max_memory_pages(
p->v1.max_memory_pages = v; p->v1.max_memory_pages = v;
} }
#if WASM_ENABLE_LIBC_WASI != 0
void
wasm_runtime_instantiation_args_set_wasi_arg(struct InstantiationArgs2 *p,
char *argv[], int argc)
{
WASIArguments *wasi_args = &p->wasi;
wasi_args->argv = argv;
wasi_args->argc = (uint32)argc;
wasi_args->set_by_user = true;
}
void
wasm_runtime_instantiation_args_set_wasi_env(struct InstantiationArgs2 *p,
const char *env[],
uint32 env_count)
{
WASIArguments *wasi_args = &p->wasi;
wasi_args->env = env;
wasi_args->env_count = env_count;
wasi_args->set_by_user = true;
}
void
wasm_runtime_instantiation_args_set_wasi_dir(struct InstantiationArgs2 *p,
const char *dir_list[],
uint32 dir_count,
const char *map_dir_list[],
uint32 map_dir_count)
{
WASIArguments *wasi_args = &p->wasi;
wasi_args->dir_list = dir_list;
wasi_args->dir_count = dir_count;
wasi_args->map_dir_list = map_dir_list;
wasi_args->map_dir_count = map_dir_count;
wasi_args->set_by_user = true;
}
void
wasm_runtime_instantiation_args_set_wasi_stdio(struct InstantiationArgs2 *p,
int64 stdinfd, int64 stdoutfd,
int64 stderrfd)
{
WASIArguments *wasi_args = &p->wasi;
wasi_args->stdio[0] = (os_raw_file_handle)stdinfd;
wasi_args->stdio[1] = (os_raw_file_handle)stdoutfd;
wasi_args->stdio[2] = (os_raw_file_handle)stderrfd;
wasi_args->set_by_user = true;
}
void
wasm_runtime_instantiation_args_set_wasi_addr_pool(struct InstantiationArgs2 *p,
const char *addr_pool[],
uint32 addr_pool_size)
{
WASIArguments *wasi_args = &p->wasi;
wasi_args->addr_pool = addr_pool;
wasi_args->addr_count = addr_pool_size;
wasi_args->set_by_user = true;
}
void
wasm_runtime_instantiation_args_set_wasi_ns_lookup_pool(
struct InstantiationArgs2 *p, const char *ns_lookup_pool[],
uint32 ns_lookup_pool_size)
{
WASIArguments *wasi_args = &p->wasi;
wasi_args->ns_lookup_pool = ns_lookup_pool;
wasi_args->ns_lookup_count = ns_lookup_pool_size;
wasi_args->set_by_user = true;
}
#endif /* WASM_ENABLE_LIBC_WASI != 0 */
WASMModuleInstanceCommon * WASMModuleInstanceCommon *
wasm_runtime_instantiate_ex2(WASMModuleCommon *module, wasm_runtime_instantiate_ex2(WASMModuleCommon *module,
const struct InstantiationArgs2 *args, const struct InstantiationArgs2 *args,
char *error_buf, uint32 error_buf_size) char *error_buf, uint32 error_buf_size)
{ {
return wasm_runtime_instantiate_internal( return wasm_runtime_instantiate_internal(module, NULL, NULL, args,
module, NULL, NULL, args->v1.default_stack_size, error_buf, error_buf_size);
args->v1.host_managed_heap_size, args->v1.max_memory_pages, error_buf,
error_buf_size);
} }
void void
@ -3438,6 +3521,21 @@ wasm_runtime_module_dup_data(WASMModuleInstanceCommon *module_inst,
#if WASM_ENABLE_LIBC_WASI != 0 #if WASM_ENABLE_LIBC_WASI != 0
void
wasi_args_set_defaults(WASIArguments *args)
{
memset(args, 0, sizeof(*args));
#if WASM_ENABLE_UVWASI == 0
args->stdio[0] = os_invalid_raw_handle();
args->stdio[1] = os_invalid_raw_handle();
args->stdio[2] = os_invalid_raw_handle();
#else
args->stdio[0] = os_get_invalid_handle();
args->stdio[1] = os_get_invalid_handle();
args->stdio[2] = os_get_invalid_handle();
#endif /* WASM_ENABLE_UVWASI == 0 */
}
static WASIArguments * static WASIArguments *
get_wasi_args_from_module(wasm_module_t module) get_wasi_args_from_module(wasm_module_t module)
{ {
@ -3477,6 +3575,7 @@ wasm_runtime_set_wasi_args_ex(WASMModuleCommon *module, const char *dir_list[],
wasi_args->stdio[0] = (os_raw_file_handle)stdinfd; wasi_args->stdio[0] = (os_raw_file_handle)stdinfd;
wasi_args->stdio[1] = (os_raw_file_handle)stdoutfd; wasi_args->stdio[1] = (os_raw_file_handle)stdoutfd;
wasi_args->stdio[2] = (os_raw_file_handle)stderrfd; wasi_args->stdio[2] = (os_raw_file_handle)stderrfd;
wasi_args->set_by_user = true;
#if WASM_ENABLE_MULTI_MODULE != 0 #if WASM_ENABLE_MULTI_MODULE != 0
#if WASM_ENABLE_INTERP != 0 #if WASM_ENABLE_INTERP != 0
@ -3507,6 +3606,7 @@ wasm_runtime_set_wasi_addr_pool(wasm_module_t module, const char *addr_pool[],
if (wasi_args) { if (wasi_args) {
wasi_args->addr_pool = addr_pool; wasi_args->addr_pool = addr_pool;
wasi_args->addr_count = addr_pool_size; wasi_args->addr_count = addr_pool_size;
wasi_args->set_by_user = true;
} }
} }
@ -3520,6 +3620,7 @@ wasm_runtime_set_wasi_ns_lookup_pool(wasm_module_t module,
if (wasi_args) { if (wasi_args) {
wasi_args->ns_lookup_pool = ns_lookup_pool; wasi_args->ns_lookup_pool = ns_lookup_pool;
wasi_args->ns_lookup_count = ns_lookup_pool_size; wasi_args->ns_lookup_count = ns_lookup_pool_size;
wasi_args->set_by_user = true;
} }
} }
@ -7651,9 +7752,8 @@ delete_loading_module:
bool bool
wasm_runtime_sub_module_instantiate(WASMModuleCommon *module, wasm_runtime_sub_module_instantiate(WASMModuleCommon *module,
WASMModuleInstanceCommon *module_inst, WASMModuleInstanceCommon *module_inst,
uint32 stack_size, uint32 heap_size, const struct InstantiationArgs2 *args,
uint32 max_memory_pages, char *error_buf, char *error_buf, uint32 error_buf_size)
uint32 error_buf_size)
{ {
bh_list *sub_module_inst_list = NULL; bh_list *sub_module_inst_list = NULL;
WASMRegisteredModule *sub_module_list_node = NULL; WASMRegisteredModule *sub_module_list_node = NULL;
@ -7681,8 +7781,7 @@ wasm_runtime_sub_module_instantiate(WASMModuleCommon *module,
WASMModuleCommon *sub_module = sub_module_list_node->module; WASMModuleCommon *sub_module = sub_module_list_node->module;
WASMModuleInstanceCommon *sub_module_inst = NULL; WASMModuleInstanceCommon *sub_module_inst = NULL;
sub_module_inst = wasm_runtime_instantiate_internal( sub_module_inst = wasm_runtime_instantiate_internal(
sub_module, NULL, NULL, stack_size, heap_size, max_memory_pages, sub_module, NULL, NULL, args, error_buf, error_buf_size);
error_buf, error_buf_size);
if (!sub_module_inst) { if (!sub_module_inst) {
LOG_DEBUG("instantiate %s failed", LOG_DEBUG("instantiate %s failed",
sub_module_list_node->module_name); sub_module_list_node->module_name);

View File

@ -614,8 +614,14 @@ wasm_runtime_get_exec_env_tls(void);
struct InstantiationArgs2 { struct InstantiationArgs2 {
InstantiationArgs v1; InstantiationArgs v1;
#if WASM_ENABLE_LIBC_WASI != 0
WASIArguments wasi;
#endif
}; };
void
wasm_runtime_instantiation_args_set_defaults(struct InstantiationArgs2 *args);
/* See wasm_export.h for description */ /* See wasm_export.h for description */
WASM_RUNTIME_API_EXTERN bool WASM_RUNTIME_API_EXTERN bool
wasm_runtime_init(void); wasm_runtime_init(void);
@ -683,8 +689,8 @@ wasm_runtime_get_max_mem(uint32 max_memory_pages, uint32 module_init_page_count,
WASMModuleInstanceCommon * WASMModuleInstanceCommon *
wasm_runtime_instantiate_internal(WASMModuleCommon *module, wasm_runtime_instantiate_internal(WASMModuleCommon *module,
WASMModuleInstanceCommon *parent, WASMModuleInstanceCommon *parent,
WASMExecEnv *exec_env_main, uint32 stack_size, WASMExecEnv *exec_env_main,
uint32 heap_size, uint32 max_memory_pages, const struct InstantiationArgs2 *args,
char *error_buf, uint32 error_buf_size); char *error_buf, uint32 error_buf_size);
/* Internal API */ /* Internal API */
@ -732,6 +738,43 @@ void
wasm_runtime_instantiation_args_set_max_memory_pages( wasm_runtime_instantiation_args_set_max_memory_pages(
struct InstantiationArgs2 *p, uint32 v); struct InstantiationArgs2 *p, uint32 v);
/* See wasm_export.h for description */
WASM_RUNTIME_API_EXTERN void
wasm_runtime_instantiation_args_set_wasi_arg(struct InstantiationArgs2 *p,
char *argv[], int argc);
/* See wasm_export.h for description */
WASM_RUNTIME_API_EXTERN void
wasm_runtime_instantiation_args_set_wasi_env(struct InstantiationArgs2 *p,
const char *env[],
uint32 env_count);
/* See wasm_export.h for description */
WASM_RUNTIME_API_EXTERN void
wasm_runtime_instantiation_args_set_wasi_dir(struct InstantiationArgs2 *p,
const char *dir_list[],
uint32 dir_count,
const char *map_dir_list[],
uint32 map_dir_count);
/* See wasm_export.h for description */
WASM_RUNTIME_API_EXTERN void
wasm_runtime_instantiation_args_set_wasi_stdio(struct InstantiationArgs2 *p,
int64 stdinfd, int64 stdoutfd,
int64 stderrfd);
/* See wasm_export.h for description */
WASM_RUNTIME_API_EXTERN void
wasm_runtime_instantiation_args_set_wasi_addr_pool(struct InstantiationArgs2 *p,
const char *addr_pool[],
uint32 addr_pool_size);
/* See wasm_export.h for description */
WASM_RUNTIME_API_EXTERN void
wasm_runtime_instantiation_args_set_wasi_ns_lookup_pool(
struct InstantiationArgs2 *p, const char *ns_lookup_pool[],
uint32 ns_lookup_pool_size);
/* See wasm_export.h for description */ /* See wasm_export.h for description */
WASM_RUNTIME_API_EXTERN WASMModuleInstanceCommon * WASM_RUNTIME_API_EXTERN WASMModuleInstanceCommon *
wasm_runtime_instantiate_ex2(WASMModuleCommon *module, wasm_runtime_instantiate_ex2(WASMModuleCommon *module,
@ -1064,9 +1107,8 @@ wasm_runtime_load_depended_module(const WASMModuleCommon *parent_module,
bool bool
wasm_runtime_sub_module_instantiate(WASMModuleCommon *module, wasm_runtime_sub_module_instantiate(WASMModuleCommon *module,
WASMModuleInstanceCommon *module_inst, WASMModuleInstanceCommon *module_inst,
uint32 stack_size, uint32 heap_size, const struct InstantiationArgs2 *args,
uint32 max_memory_pages, char *error_buf, char *error_buf, uint32 error_buf_size);
uint32 error_buf_size);
void void
wasm_runtime_sub_module_deinstantiate(WASMModuleInstanceCommon *module_inst); wasm_runtime_sub_module_deinstantiate(WASMModuleInstanceCommon *module_inst);
#endif #endif
@ -1118,6 +1160,9 @@ wasm_runtime_lookup_wasi_start_function(WASMModuleInstanceCommon *module_inst);
WASM_RUNTIME_API_EXTERN uint32_t WASM_RUNTIME_API_EXTERN uint32_t
wasm_runtime_get_wasi_exit_code(WASMModuleInstanceCommon *module_inst); wasm_runtime_get_wasi_exit_code(WASMModuleInstanceCommon *module_inst);
void
wasi_args_set_defaults(WASIArguments *args);
bool bool
wasm_runtime_init_wasi(WASMModuleInstanceCommon *module_inst, wasm_runtime_init_wasi(WASMModuleInstanceCommon *module_inst,
const char *dir_list[], uint32 dir_count, const char *dir_list[], uint32 dir_count,

View File

@ -249,10 +249,14 @@ map_try_release_wait_info(HashMap *wait_hash_map, AtomicWaitInfo *wait_info,
#if WASM_ENABLE_SHARED_HEAP != 0 #if WASM_ENABLE_SHARED_HEAP != 0
static bool static bool
is_native_addr_in_shared_heap(WASMModuleInstanceCommon *module_inst, is_native_addr_in_shared_heap(WASMModuleInstanceCommon *module_inst,
uint8 *addr, uint32 bytes) uint8 *addr, uint64 bytes)
{ {
WASMSharedHeap *shared_heap = NULL; WASMSharedHeap *shared_heap = NULL;
if (bytes > APP_HEAP_SIZE_MAX) {
return false;
}
#if WASM_ENABLE_INTERP != 0 #if WASM_ENABLE_INTERP != 0
if (module_inst->module_type == Wasm_Module_Bytecode) { if (module_inst->module_type == Wasm_Module_Bytecode) {
shared_heap = ((WASMModuleInstance *)module_inst)->e->shared_heap; shared_heap = ((WASMModuleInstance *)module_inst)->e->shared_heap;

View File

@ -416,6 +416,9 @@ aot_create_funcs(const WASMModule *module, uint32 pointer_size)
aot_func->local_types_wp = func->local_types; aot_func->local_types_wp = func->local_types;
aot_func->code = func->code; aot_func->code = func->code;
aot_func->code_size = func->code_size; aot_func->code_size = func->code_size;
#if WASM_ENABLE_BRANCH_HINTS != 0
aot_func->code_body_begin = func->code_body_begin;
#endif
/* Resolve local offsets */ /* Resolve local offsets */
for (j = 0; j < func_type->param_count; j++) { for (j = 0; j < func_type->param_count; j++) {
@ -872,6 +875,10 @@ aot_create_comp_data(WASMModule *module, const char *target_arch,
comp_data->name_section_buf_end = module->name_section_buf_end; comp_data->name_section_buf_end = module->name_section_buf_end;
#endif #endif
#if WASM_ENABLE_BRANCH_HINTS != 0
comp_data->function_hints = module->function_hints;
#endif
aot_init_aux_data(comp_data, module); aot_init_aux_data(comp_data, module);
comp_data->wasm_module = module; comp_data->wasm_module = module;

View File

@ -217,6 +217,9 @@ typedef struct AOTFunc {
/* offset of each local, including function parameters /* offset of each local, including function parameters
and local variables */ and local variables */
uint16 *local_offsets; uint16 *local_offsets;
#if WASM_ENABLE_BRANCH_HINTS != 0
uint8 *code_body_begin;
#endif
} AOTFunc; } AOTFunc;
typedef struct AOTCompData { typedef struct AOTCompData {
@ -296,6 +299,10 @@ typedef struct AOTCompData {
#if WASM_ENABLE_DEBUG_AOT != 0 #if WASM_ENABLE_DEBUG_AOT != 0
dwarf_extractor_handle_t extractor; dwarf_extractor_handle_t extractor;
#endif #endif
#if WASM_ENABLE_BRANCH_HINTS != 0
struct WASMCompilationHint **function_hints;
#endif
} AOTCompData; } AOTCompData;
typedef struct AOTNativeSymbol { typedef struct AOTNativeSymbol {

View File

@ -1158,9 +1158,7 @@ aot_compile_func(AOTCompContext *comp_ctx, uint32 func_index)
case WASM_OP_BR_IF: case WASM_OP_BR_IF:
{ {
read_leb_uint32(frame_ip, frame_ip_end, br_depth); if (!aot_compile_op_br_if(comp_ctx, func_ctx, &frame_ip))
if (!aot_compile_op_br_if(comp_ctx, func_ctx, br_depth,
&frame_ip))
return false; return false;
break; break;
} }
@ -1238,8 +1236,8 @@ aot_compile_func(AOTCompContext *comp_ctx, uint32 func_index)
uint32 tbl_idx; uint32 tbl_idx;
read_leb_uint32(frame_ip, frame_ip_end, type_idx); read_leb_uint32(frame_ip, frame_ip_end, type_idx);
if (comp_ctx->enable_gc
if (comp_ctx->enable_gc || comp_ctx->enable_ref_types) { || comp_ctx->enable_call_indirect_overlong) {
read_leb_uint32(frame_ip, frame_ip_end, tbl_idx); read_leb_uint32(frame_ip, frame_ip_end, tbl_idx);
} }
else { else {
@ -2464,6 +2462,14 @@ aot_compile_func(AOTCompContext *comp_ctx, uint32 func_index)
UINT8_MAX */ UINT8_MAX */
opcode = (uint8)opcode1; opcode = (uint8)opcode1;
#if WASM_ENABLE_BULK_MEMORY_OPT != 0
if (WASM_OP_MEMORY_COPY <= opcode
&& opcode <= WASM_OP_MEMORY_FILL
&& !comp_ctx->enable_bulk_memory_opt) {
goto unsupport_bulk_memory_opt;
}
#endif
#if WASM_ENABLE_BULK_MEMORY != 0 #if WASM_ENABLE_BULK_MEMORY != 0
if (WASM_OP_MEMORY_INIT <= opcode if (WASM_OP_MEMORY_INIT <= opcode
&& opcode <= WASM_OP_MEMORY_FILL && opcode <= WASM_OP_MEMORY_FILL
@ -2532,6 +2538,8 @@ aot_compile_func(AOTCompContext *comp_ctx, uint32 func_index)
return false; return false;
break; break;
} }
#endif /* WASM_ENABLE_BULK_MEMORY */
#if WASM_ENABLE_BULK_MEMORY_OPT != 0
case WASM_OP_MEMORY_COPY: case WASM_OP_MEMORY_COPY:
{ {
frame_ip += 2; frame_ip += 2;
@ -2546,7 +2554,7 @@ aot_compile_func(AOTCompContext *comp_ctx, uint32 func_index)
return false; return false;
break; break;
} }
#endif /* WASM_ENABLE_BULK_MEMORY */ #endif /* WASM_ENABLE_BULK_MEMORY_OPT */
#if WASM_ENABLE_REF_TYPES != 0 || WASM_ENABLE_GC != 0 #if WASM_ENABLE_REF_TYPES != 0 || WASM_ENABLE_GC != 0
case WASM_OP_TABLE_INIT: case WASM_OP_TABLE_INIT:
{ {
@ -3973,6 +3981,13 @@ unsupport_gc_and_ref_types:
return false; return false;
#endif #endif
#if WASM_ENABLE_BULK_MEMORY_OPT != 0
unsupport_bulk_memory_opt:
aot_set_last_error("bulk memory opt instruction was found, "
"try enabling bulk-memory-opt or bulk-memory option");
return false;
#endif
#if WASM_ENABLE_BULK_MEMORY != 0 #if WASM_ENABLE_BULK_MEMORY != 0
unsupport_bulk_memory: unsupport_bulk_memory:
aot_set_last_error("bulk memory instruction was found, " aot_set_last_error("bulk memory instruction was found, "

View File

@ -668,7 +668,7 @@ set_local_gc_ref(AOTCompFrame *frame, int n, LLVMValueRef value, uint8 ref_type)
#define I32_CONST(v) LLVMConstInt(I32_TYPE, v, true) #define I32_CONST(v) LLVMConstInt(I32_TYPE, v, true)
#define I64_CONST(v) LLVMConstInt(I64_TYPE, v, true) #define I64_CONST(v) LLVMConstInt(I64_TYPE, v, true)
#define F32_CONST(v) LLVMConstReal(F32_TYPE, v) #define F32_CONST(v) LLVMConstReal(F32_TYPE, (double)(v))
#define F64_CONST(v) LLVMConstReal(F64_TYPE, v) #define F64_CONST(v) LLVMConstReal(F64_TYPE, v)
#define I8_CONST(v) LLVMConstInt(INT8_TYPE, v, true) #define I8_CONST(v) LLVMConstInt(INT8_TYPE, v, true)

View File

@ -12,6 +12,7 @@
#endif #endif
#include "../aot/aot_runtime.h" #include "../aot/aot_runtime.h"
#include "../interpreter/wasm_loader.h" #include "../interpreter/wasm_loader.h"
#include "../common/wasm_loader_common.h"
#if WASM_ENABLE_DEBUG_AOT != 0 #if WASM_ENABLE_DEBUG_AOT != 0
#include "debug/dwarf_extractor.h" #include "debug/dwarf_extractor.h"
@ -87,6 +88,15 @@ format_block_name(char *name, uint32 name_size, uint32 block_index,
} \ } \
} while (0) } while (0)
#define BUILD_COND_BR_V(value_if, block_then, block_else, instr) \
do { \
if (!(instr = LLVMBuildCondBr(comp_ctx->builder, value_if, block_then, \
block_else))) { \
aot_set_last_error("llvm build cond br failed."); \
goto fail; \
} \
} while (0)
#define SET_BUILDER_POS(llvm_block) \ #define SET_BUILDER_POS(llvm_block) \
LLVMPositionBuilderAtEnd(comp_ctx->builder, llvm_block) LLVMPositionBuilderAtEnd(comp_ctx->builder, llvm_block)
@ -255,6 +265,36 @@ restore_frame_sp_for_op_end(AOTBlock *block, AOTCompFrame *aot_frame)
aot_frame->sp = block->frame_sp_begin; aot_frame->sp = block->frame_sp_begin;
} }
#if WASM_ENABLE_BRANCH_HINTS != 0
static void
aot_emit_branch_hint(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
uint32 offset, LLVMValueRef br_if_instr)
{
struct WASMCompilationHint *hint = func_ctx->function_hints;
while (hint != NULL) {
if (hint->type == WASM_COMPILATION_BRANCH_HINT
&& ((struct WASMCompilationHintBranchHint *)hint)->offset
== offset) {
break;
}
hint = hint->next;
}
if (hint != NULL) {
// same weight llvm MDBuilder::createLikelyBranchWeights assigns
const uint32_t likely_weight = (1U << 20) - 1;
const uint32_t unlikely_weight = 1;
aot_set_cond_br_weights(
comp_ctx, br_if_instr,
((struct WASMCompilationHintBranchHint *)hint)->is_likely
? likely_weight
: unlikely_weight,
((struct WASMCompilationHintBranchHint *)hint)->is_likely
? unlikely_weight
: likely_weight);
}
}
#endif
static bool static bool
handle_next_reachable_block(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx, handle_next_reachable_block(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
uint8 **p_frame_ip) uint8 **p_frame_ip)
@ -455,16 +495,18 @@ push_aot_block_to_stack_and_pass_params(AOTCompContext *comp_ctx,
/* Create param phis */ /* Create param phis */
for (i = 0; i < block->param_count; i++) { for (i = 0; i < block->param_count; i++) {
if (block->llvm_entry_block) {
SET_BUILDER_POS(block->llvm_entry_block); SET_BUILDER_POS(block->llvm_entry_block);
snprintf(name, sizeof(name), "%s%d_phi%d", snprintf(name, sizeof(name), "%s%d_phi%d",
block_name_prefix[block->label_type], block->block_index, block_name_prefix[block->label_type],
i); block->block_index, i);
if (!(block->param_phis[i] = LLVMBuildPhi( if (!(block->param_phis[i] = LLVMBuildPhi(
comp_ctx->builder, TO_LLVM_TYPE(block->param_types[i]), comp_ctx->builder,
name))) { TO_LLVM_TYPE(block->param_types[i]), name))) {
aot_set_last_error("llvm build phi failed."); aot_set_last_error("llvm build phi failed.");
goto fail; goto fail;
} }
}
if (block->label_type == LABEL_TYPE_IF if (block->label_type == LABEL_TYPE_IF
&& !block->skip_wasm_code_else && block->llvm_else_block) { && !block->skip_wasm_code_else && block->llvm_else_block) {
@ -673,13 +715,31 @@ aot_compile_op_block(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
MOVE_BLOCK_AFTER(block->llvm_else_block, MOVE_BLOCK_AFTER(block->llvm_else_block,
block->llvm_entry_block); block->llvm_entry_block);
/* Create condition br IR */ /* Create condition br IR */
#if WASM_ENABLE_BRANCH_HINTS != 0
LLVMValueRef br_if_val = NULL;
BUILD_COND_BR_V(value, block->llvm_entry_block,
block->llvm_else_block, br_if_val);
const uint32 off =
*p_frame_ip - func_ctx->aot_func->code_body_begin;
aot_emit_branch_hint(comp_ctx, func_ctx, off, br_if_val);
#else
BUILD_COND_BR(value, block->llvm_entry_block, BUILD_COND_BR(value, block->llvm_entry_block,
block->llvm_else_block); block->llvm_else_block);
#endif
} }
else { else {
/* Create condition br IR */ /* Create condition br IR */
#if WASM_ENABLE_BRANCH_HINTS != 0
LLVMValueRef br_if_val = NULL;
BUILD_COND_BR_V(value, block->llvm_entry_block,
block->llvm_end_block, br_if_val);
const uint32 off =
*p_frame_ip - func_ctx->aot_func->code_body_begin;
aot_emit_branch_hint(comp_ctx, func_ctx, off, br_if_val);
#else
BUILD_COND_BR(value, block->llvm_entry_block, BUILD_COND_BR(value, block->llvm_entry_block,
block->llvm_end_block); block->llvm_end_block);
#endif
block->is_reachable = true; block->is_reachable = true;
} }
if (!push_aot_block_to_stack_and_pass_params(comp_ctx, func_ctx, if (!push_aot_block_to_stack_and_pass_params(comp_ctx, func_ctx,
@ -1026,8 +1086,7 @@ fail:
static bool static bool
aot_compile_conditional_br(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx, aot_compile_conditional_br(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
uint32 br_depth, LLVMValueRef value_cmp, LLVMValueRef value_cmp, uint8 **p_frame_ip)
uint8 **p_frame_ip)
{ {
AOTBlock *block_dst; AOTBlock *block_dst;
LLVMValueRef value, *values = NULL; LLVMValueRef value, *values = NULL;
@ -1036,6 +1095,17 @@ aot_compile_conditional_br(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
uint32 i, param_index, result_index; uint32 i, param_index, result_index;
uint64 size; uint64 size;
// ip is advanced by one byte for the opcode
#if WASM_ENABLE_BRANCH_HINTS != 0
uint32 instr_offset =
(*p_frame_ip - 0x1) - (func_ctx->aot_func->code_body_begin);
#else
uint32 instr_offset = 0;
#endif
uint64 br_depth;
if (!read_leb(p_frame_ip, *p_frame_ip + 5, 32, false, &br_depth, NULL, 0))
return false;
if (!(block_dst = get_target_block(func_ctx, br_depth))) { if (!(block_dst = get_target_block(func_ctx, br_depth))) {
return false; return false;
} }
@ -1108,8 +1178,15 @@ aot_compile_conditional_br(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
values = NULL; values = NULL;
} }
#if WASM_ENABLE_BRANCH_HINTS != 0
LLVMValueRef br_if_val = NULL;
BUILD_COND_BR_V(value_cmp, block_dst->llvm_entry_block,
llvm_else_block, br_if_val);
aot_emit_branch_hint(comp_ctx, func_ctx, instr_offset, br_if_val);
#else
BUILD_COND_BR(value_cmp, block_dst->llvm_entry_block, BUILD_COND_BR(value_cmp, block_dst->llvm_entry_block,
llvm_else_block); llvm_else_block);
#endif
/* Move builder to else block */ /* Move builder to else block */
SET_BUILDER_POS(llvm_else_block); SET_BUILDER_POS(llvm_else_block);
@ -1152,9 +1229,15 @@ aot_compile_conditional_br(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
} }
/* Condition jump to end block */ /* Condition jump to end block */
#if WASM_ENABLE_BRANCH_HINTS != 0
LLVMValueRef br_if_val = NULL;
BUILD_COND_BR_V(value_cmp, block_dst->llvm_end_block,
llvm_else_block, br_if_val);
aot_emit_branch_hint(comp_ctx, func_ctx, instr_offset, br_if_val);
#else
BUILD_COND_BR(value_cmp, block_dst->llvm_end_block, BUILD_COND_BR(value_cmp, block_dst->llvm_end_block,
llvm_else_block); llvm_else_block);
#endif
/* Move builder to else block */ /* Move builder to else block */
SET_BUILDER_POS(llvm_else_block); SET_BUILDER_POS(llvm_else_block);
} }
@ -1178,13 +1261,13 @@ fail:
bool bool
aot_compile_op_br_if(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx, aot_compile_op_br_if(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
uint32 br_depth, uint8 **p_frame_ip) uint8 **p_frame_ip)
{ {
LLVMValueRef value_cmp; LLVMValueRef value_cmp;
POP_COND(value_cmp); POP_COND(value_cmp);
return aot_compile_conditional_br(comp_ctx, func_ctx, br_depth, value_cmp, return aot_compile_conditional_br(comp_ctx, func_ctx, value_cmp,
p_frame_ip); p_frame_ip);
fail: fail:
return false; return false;

View File

@ -32,7 +32,7 @@ aot_compile_op_br(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
bool bool
aot_compile_op_br_if(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx, aot_compile_op_br_if(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
uint32 br_depth, uint8 **p_frame_ip); uint8 **p_frame_ip);
bool bool
aot_compile_op_br_table(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx, aot_compile_op_br_table(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,

View File

@ -1481,12 +1481,12 @@ fail:
return false; return false;
} }
#if WASM_ENABLE_BULK_MEMORY != 0 || WASM_ENABLE_STRINGREF != 0 #if WASM_ENABLE_BULK_MEMORY_OPT != 0 || WASM_ENABLE_STRINGREF != 0
LLVMValueRef LLVMValueRef
check_bulk_memory_overflow(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx, check_bulk_memory_overflow(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
LLVMValueRef offset, LLVMValueRef bytes) LLVMValueRef offset, LLVMValueRef bytes)
{ {
LLVMValueRef maddr, max_addr, cmp, cmp1; LLVMValueRef maddr, max_addr, cmp, cmp1, offset1;
LLVMValueRef mem_base_addr; LLVMValueRef mem_base_addr;
LLVMBasicBlockRef block_curr = LLVMGetInsertBlock(comp_ctx->builder); LLVMBasicBlockRef block_curr = LLVMGetInsertBlock(comp_ctx->builder);
LLVMBasicBlockRef check_succ; LLVMBasicBlockRef check_succ;
@ -1539,8 +1539,18 @@ check_bulk_memory_overflow(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
if (mem_data_size > 0 && mem_offset + mem_len <= mem_data_size) { if (mem_data_size > 0 && mem_offset + mem_len <= mem_data_size) {
/* inside memory space */ /* inside memory space */
/* maddr = mem_base_addr + moffset */ /* maddr = mem_base_addr + moffset */
/* Perform zero extension in advance to avoid LLVMBuildInBoundsGEP2
* interpreting a negative address due to sign extension when
* mem_offset >= 2GiB */
if (comp_ctx->pointer_size == sizeof(uint64)) {
offset1 = I64_CONST(mem_offset);
}
else {
offset1 = I32_CONST((uint32)mem_offset);
}
CHECK_LLVM_CONST(offset1);
if (!(maddr = LLVMBuildInBoundsGEP2(comp_ctx->builder, INT8_TYPE, if (!(maddr = LLVMBuildInBoundsGEP2(comp_ctx->builder, INT8_TYPE,
mem_base_addr, &offset, 1, mem_base_addr, &offset1, 1,
"maddr"))) { "maddr"))) {
aot_set_last_error("llvm build add failed."); aot_set_last_error("llvm build add failed.");
goto fail; goto fail;
@ -1769,7 +1779,9 @@ aot_compile_op_data_drop(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
fail: fail:
return false; return false;
} }
#endif /* end of WASM_ENABLE_BULK_MEMORY */
#if WASM_ENABLE_BULK_MEMORY_OPT != 0
bool bool
aot_compile_op_memory_copy(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx) aot_compile_op_memory_copy(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx)
{ {
@ -1931,7 +1943,7 @@ aot_compile_op_memory_fill(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx)
fail: fail:
return false; return false;
} }
#endif /* end of WASM_ENABLE_BULK_MEMORY */ #endif /* end of WASM_ENABLE_BULK_MEMORY_OPT */
#if WASM_ENABLE_SHARED_MEMORY != 0 #if WASM_ENABLE_SHARED_MEMORY != 0
bool bool

View File

@ -78,7 +78,9 @@ aot_compile_op_memory_init(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
bool bool
aot_compile_op_data_drop(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx, aot_compile_op_data_drop(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
uint32 seg_index); uint32 seg_index);
#endif
#if WASM_ENABLE_BULK_MEMORY_OPT != 0
bool bool
aot_compile_op_memory_copy(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx); aot_compile_op_memory_copy(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx);

View File

@ -1963,6 +1963,13 @@ aot_create_func_context(const AOTCompData *comp_data, AOTCompContext *comp_ctx,
goto fail; goto fail;
} }
#if WASM_ENABLE_BRANCH_HINTS != 0
func_ctx->function_hints =
comp_ctx->comp_data->function_hints
? comp_ctx->comp_data->function_hints[func_index]
: NULL;
#endif
return func_ctx; return func_ctx;
fail: fail:
@ -2724,6 +2731,9 @@ aot_create_comp_context(const AOTCompData *comp_data, aot_comp_option_t option)
if (option->enable_bulk_memory) if (option->enable_bulk_memory)
comp_ctx->enable_bulk_memory = true; comp_ctx->enable_bulk_memory = true;
if (option->enable_bulk_memory_opt)
comp_ctx->enable_bulk_memory_opt = true;
if (option->enable_thread_mgr) if (option->enable_thread_mgr)
comp_ctx->enable_thread_mgr = true; comp_ctx->enable_thread_mgr = true;
@ -2733,6 +2743,9 @@ aot_create_comp_context(const AOTCompData *comp_data, aot_comp_option_t option)
if (option->enable_ref_types) if (option->enable_ref_types)
comp_ctx->enable_ref_types = true; comp_ctx->enable_ref_types = true;
if (option->enable_call_indirect_overlong)
comp_ctx->enable_call_indirect_overlong = true;
comp_ctx->aux_stack_frame_type = option->aux_stack_frame_type; comp_ctx->aux_stack_frame_type = option->aux_stack_frame_type;
comp_ctx->call_stack_features = option->call_stack_features; comp_ctx->call_stack_features = option->call_stack_features;
@ -3317,7 +3330,7 @@ aot_create_comp_context(const AOTCompData *comp_data, aot_comp_option_t option)
/* Return error if ref-types and GC are disabled by command line but /* Return error if ref-types and GC are disabled by command line but
ref-types instructions are used */ ref-types instructions are used */
if (!option->enable_ref_types && !option->enable_gc if (!option->enable_call_indirect_overlong && !option->enable_gc
&& wasm_module->is_ref_types_used) { && wasm_module->is_ref_types_used) {
aot_set_last_error("ref-types instruction was found, " aot_set_last_error("ref-types instruction was found, "
"try removing --disable-ref-types option " "try removing --disable-ref-types option "
@ -3331,9 +3344,13 @@ aot_create_comp_context(const AOTCompData *comp_data, aot_comp_option_t option)
} }
if (!wasm_module->is_ref_types_used) { if (!wasm_module->is_ref_types_used) {
option->enable_ref_types = comp_ctx->enable_ref_types = false; option->enable_ref_types = comp_ctx->enable_ref_types = false;
option->enable_call_indirect_overlong =
comp_ctx->enable_call_indirect_overlong = false;
} }
if (!wasm_module->is_bulk_memory_used) { if (!wasm_module->is_bulk_memory_used) {
option->enable_bulk_memory = comp_ctx->enable_bulk_memory = false; option->enable_bulk_memory = comp_ctx->enable_bulk_memory = false;
option->enable_bulk_memory_opt = comp_ctx->enable_bulk_memory_opt =
false;
} }
#endif #endif

View File

@ -270,6 +270,9 @@ typedef struct AOTFuncContext {
#if WASM_ENABLE_DEBUG_AOT != 0 #if WASM_ENABLE_DEBUG_AOT != 0
LLVMMetadataRef debug_func; LLVMMetadataRef debug_func;
#endif #endif
#if WASM_ENABLE_BRANCH_HINTS != 0
struct WASMCompilationHint *function_hints;
#endif
unsigned int stack_consumption_for_func_call; unsigned int stack_consumption_for_func_call;
@ -413,6 +416,10 @@ typedef struct AOTCompContext {
/* Bulk memory feature */ /* Bulk memory feature */
bool enable_bulk_memory; bool enable_bulk_memory;
/* Bulk memory opt feature. will be enabled alongside the
* enable_bulk_memory */
bool enable_bulk_memory_opt;
/* Boundary Check */ /* Boundary Check */
bool enable_bound_check; bool enable_bound_check;
@ -449,6 +456,9 @@ typedef struct AOTCompContext {
/* Reference Types */ /* Reference Types */
bool enable_ref_types; bool enable_ref_types;
/* Call Indirect Overlong. will be enabled alongside the enable_ref_types */
bool enable_call_indirect_overlong;
/* Disable LLVM built-in intrinsics */ /* Disable LLVM built-in intrinsics */
bool disable_llvm_intrinsics; bool disable_llvm_intrinsics;

View File

@ -157,8 +157,13 @@ LLVMCreateTargetMachineWithOpts(LLVMTargetRef ctarget, const char *triple,
auto ol = convert(opt_level); auto ol = convert(opt_level);
bool jit; bool jit;
auto cm = convert(code_model, &jit); auto cm = convert(code_model, &jit);
#if LLVM_VERSION_MAJOR >= 21
auto targetmachine = target->createTargetMachine(
llvm::Triple(triple), cpu, features, opts, rm, cm, ol, jit);
#else
auto targetmachine = target->createTargetMachine(triple, cpu, features, auto targetmachine = target->createTargetMachine(triple, cpu, features,
opts, rm, cm, ol, jit); opts, rm, cm, ol, jit);
#endif
#if LLVM_VERSION_MAJOR >= 18 #if LLVM_VERSION_MAJOR >= 18
// always place data in normal data section. // always place data in normal data section.
// //

View File

@ -137,7 +137,7 @@ simd_build_splat_const_float_vector(const AOTCompContext *comp_ctx,
return NULL; return NULL;
} }
if (!(element = LLVMConstReal(element_type, element_value))) { if (!(element = LLVMConstReal(element_type, (double)element_value))) {
HANDLE_FAILURE("LLVMConstReal"); HANDLE_FAILURE("LLVMConstReal");
goto fail; goto fail;
} }

View File

@ -713,7 +713,9 @@ jit_compile_op_data_drop(JitCompContext *cc, uint32 seg_idx)
return jit_emit_callnative(cc, wasm_data_drop, 0, args, return jit_emit_callnative(cc, wasm_data_drop, 0, args,
sizeof(args) / sizeof(args[0])); sizeof(args) / sizeof(args[0]));
} }
#endif
#if WASM_ENABLE_BULK_MEMORY_OPT != 0
static int static int
wasm_copy_memory(WASMModuleInstance *inst, uint32 src_mem_idx, wasm_copy_memory(WASMModuleInstance *inst, uint32 src_mem_idx,
uint32 dst_mem_idx, uint32 len, uint32 src_offset, uint32 dst_mem_idx, uint32 len, uint32 src_offset,

View File

@ -55,7 +55,9 @@ jit_compile_op_memory_init(JitCompContext *cc, uint32 mem_idx, uint32 seg_idx);
bool bool
jit_compile_op_data_drop(JitCompContext *cc, uint32 seg_idx); jit_compile_op_data_drop(JitCompContext *cc, uint32 seg_idx);
#endif
#if WASM_ENABLE_BULK_MEMORY_OPT != 0
bool bool
jit_compile_op_memory_copy(JitCompContext *cc, uint32 src_mem_idx, jit_compile_op_memory_copy(JitCompContext *cc, uint32 src_mem_idx,
uint32 dst_mem_idx); uint32 dst_mem_idx);

View File

@ -1564,7 +1564,7 @@ static float64
f64_min(float64 a, float64 b) f64_min(float64 a, float64 b)
{ {
if (isnan(a) || isnan(b)) if (isnan(a) || isnan(b))
return NAN; return (float64)NAN;
else if (a == 0 && a == b) else if (a == 0 && a == b)
return signbit(a) ? a : b; return signbit(a) ? a : b;
else else
@ -1575,7 +1575,7 @@ static float64
f64_max(float64 a, float64 b) f64_max(float64 a, float64 b)
{ {
if (isnan(a) || isnan(b)) if (isnan(a) || isnan(b))
return NAN; return (float64)NAN;
else if (a == 0 && a == b) else if (a == 0 && a == b)
return signbit(a) ? b : a; return signbit(a) ? b : a;
else else

View File

@ -40,7 +40,7 @@ jit_dump_reg(JitCompContext *cc, JitReg reg)
case JIT_REG_KIND_F32: case JIT_REG_KIND_F32:
if (jit_reg_is_const(reg)) if (jit_reg_is_const(reg))
os_printf("%f", jit_cc_get_const_F32(cc, reg)); os_printf("%f", (double)jit_cc_get_const_F32(cc, reg));
else else
os_printf("f%d", no); os_printf("f%d", no);
break; break;

View File

@ -1627,7 +1627,7 @@ jit_compile_func(JitCompContext *cc)
read_leb_uint32(frame_ip, frame_ip_end, type_idx); read_leb_uint32(frame_ip, frame_ip_end, type_idx);
#if WASM_ENABLE_REF_TYPES != 0 #if WASM_ENABLE_CALL_INDIRECT_OVERLONG != 0
read_leb_uint32(frame_ip, frame_ip_end, tbl_idx); read_leb_uint32(frame_ip, frame_ip_end, tbl_idx);
#else #else
frame_ip++; frame_ip++;
@ -2336,6 +2336,8 @@ jit_compile_func(JitCompContext *cc)
return false; return false;
break; break;
} }
#endif /* WASM_ENABLE_BULK_MEMORY */
#if WASM_ENABLE_BULK_MEMORY_OPT != 0
case WASM_OP_MEMORY_COPY: case WASM_OP_MEMORY_COPY:
{ {
uint32 src_mem_idx, dst_mem_idx; uint32 src_mem_idx, dst_mem_idx;
@ -2353,7 +2355,7 @@ jit_compile_func(JitCompContext *cc)
return false; return false;
break; break;
} }
#endif /* WASM_ENABLE_BULK_MEMORY */ #endif /* WASM_ENABLE_BULK_MEMORY_OPT */
#if WASM_ENABLE_REF_TYPES != 0 #if WASM_ENABLE_REF_TYPES != 0
case WASM_OP_TABLE_INIT: case WASM_OP_TABLE_INIT:
{ {

View File

@ -62,13 +62,16 @@ typedef struct AOTCompOption {
char *cpu_features; char *cpu_features;
bool is_sgx_platform; bool is_sgx_platform;
bool enable_bulk_memory; bool enable_bulk_memory;
bool enable_bulk_memory_opt;
bool enable_thread_mgr; bool enable_thread_mgr;
bool enable_tail_call; bool enable_tail_call;
bool enable_simd; bool enable_simd;
bool enable_ref_types; bool enable_ref_types;
bool enable_call_indirect_overlong;
bool enable_gc; bool enable_gc;
bool enable_aux_stack_check; bool enable_aux_stack_check;
bool enable_extended_const; bool enable_extended_const;
bool enable_lime1;
AOTStackFrameType aux_stack_frame_type; AOTStackFrameType aux_stack_frame_type;
AOTCallStackFeatures call_stack_features; AOTCallStackFeatures call_stack_features;
bool enable_perf_profiling; bool enable_perf_profiling;

View File

@ -764,6 +764,38 @@ WASM_RUNTIME_API_EXTERN void
wasm_runtime_instantiation_args_set_max_memory_pages( wasm_runtime_instantiation_args_set_max_memory_pages(
struct InstantiationArgs2 *p, uint32_t v); struct InstantiationArgs2 *p, uint32_t v);
WASM_RUNTIME_API_EXTERN void
wasm_runtime_instantiation_args_set_wasi_arg(struct InstantiationArgs2 *p,
char *argv[], int argc);
WASM_RUNTIME_API_EXTERN void
wasm_runtime_instantiation_args_set_wasi_env(struct InstantiationArgs2 *p,
const char *env[],
uint32_t env_count);
WASM_RUNTIME_API_EXTERN void
wasm_runtime_instantiation_args_set_wasi_dir(struct InstantiationArgs2 *p,
const char *dir_list[],
uint32_t dir_count,
const char *map_dir_list[],
uint32_t map_dir_count);
WASM_RUNTIME_API_EXTERN void
wasm_runtime_instantiation_args_set_wasi_stdio(struct InstantiationArgs2 *p,
int64_t stdinfd,
int64_t stdoutfd,
int64_t stderrfd);
WASM_RUNTIME_API_EXTERN void
wasm_runtime_instantiation_args_set_wasi_addr_pool(struct InstantiationArgs2 *p,
const char *addr_pool[],
uint32_t addr_pool_size);
WASM_RUNTIME_API_EXTERN void
wasm_runtime_instantiation_args_set_wasi_ns_lookup_pool(
struct InstantiationArgs2 *p, const char *ns_lookup_pool[],
uint32_t ns_lookup_pool_size);
/** /**
* Instantiate a WASM module, with specified instantiation arguments * Instantiate a WASM module, with specified instantiation arguments
* *
@ -1526,6 +1558,14 @@ wasm_runtime_get_native_addr_range(wasm_module_inst_t module_inst,
/** /**
* Get the number of import items for a WASM module * Get the number of import items for a WASM module
* *
* Typical usage scenario:
* Combine this function with wasm_runtime_get_import_count() to traverse
* all import items in a module. Use import_type.kind to filter and identify
* different types of import items.
*
* Example usage (as wasm_runtime_for_each_import_func() in
* samples/import-func-callback)
*
* @param module the WASM module * @param module the WASM module
* *
* @return the number of imports (zero for none), or -1 for failure * @return the number of imports (zero for none), or -1 for failure
@ -1536,6 +1576,14 @@ wasm_runtime_get_import_count(const wasm_module_t module);
/** /**
* Get information about a specific WASM module import * Get information about a specific WASM module import
* *
* Typical usage scenario:
* Combine this function with wasm_runtime_get_import_count() to traverse
* all import items in a module. Use import_type.kind to filter and identify
* different types of import items.
*
* Example usage (as wasm_runtime_for_each_import_func() in
* samples/import-func-callback)
*
* @param module the WASM module * @param module the WASM module
* @param import_index the desired import index * @param import_index the desired import index
* @param import_type the location to store information about the import * @param import_type the location to store information about the import
@ -1724,11 +1772,15 @@ wasm_table_type_get_max_size(const wasm_table_type_t table_type);
* auto check its boundary before calling the native function. * auto check its boundary before calling the native function.
* If it is followed by '~', the checked length of the pointer * If it is followed by '~', the checked length of the pointer
* is gotten from the following parameter, if not, the checked * is gotten from the following parameter, if not, the checked
* length of the pointer is 1. * length of the pointer is 1. The runtime will also convert
* the app pointer to a native pointer, thus there is no need
* to manually call `wasm_runtime_addr_app_to_native`.
* '~': the parameter is the pointer's length with i32 type, and must * '~': the parameter is the pointer's length with i32 type, and must
* follow after '*' * follow after '*'
* '$': the parameter is a string (i32 in WASM), and runtime will * '$': the parameter is a string (i32 in WASM), and runtime will
* auto check its boundary before calling the native function * auto check its boundary before calling the native function.
* Like '*', the runtime will also convert the app pointer to a
* native pointer.
* @param n_native_symbols specifies the number of native symbols in the array * @param n_native_symbols specifies the number of native symbols in the array
* *
* @return true if success, false otherwise * @return true if success, false otherwise

View File

@ -751,6 +751,10 @@ struct WASMFunction {
void *call_to_fast_jit_from_llvm_jit; void *call_to_fast_jit_from_llvm_jit;
#endif #endif
#endif #endif
#if WASM_ENABLE_BRANCH_HINTS != 0
uint8 *code_body_begin;
#endif
}; };
#if WASM_ENABLE_TAGS != 0 #if WASM_ENABLE_TAGS != 0
@ -761,6 +765,23 @@ struct WASMTag {
}; };
#endif #endif
#if WASM_ENABLE_BRANCH_HINTS != 0
enum WASMCompilationHintType {
DUMMY = 0,
WASM_COMPILATION_BRANCH_HINT = 0,
};
struct WASMCompilationHint {
struct WASMCompilationHint *next;
enum WASMCompilationHintType type;
};
struct WASMCompilationHintBranchHint {
struct WASMCompilationHint *next;
enum WASMCompilationHintType type;
uint32 offset;
bool is_likely;
};
#endif
struct WASMGlobal { struct WASMGlobal {
WASMGlobalType type; WASMGlobalType type;
#if WASM_ENABLE_GC != 0 #if WASM_ENABLE_GC != 0
@ -827,6 +848,7 @@ typedef struct WASIArguments {
char **argv; char **argv;
uint32 argc; uint32 argc;
os_raw_file_handle stdio[3]; os_raw_file_handle stdio[3];
bool set_by_user;
} WASIArguments; } WASIArguments;
#endif #endif
@ -1049,6 +1071,10 @@ struct WASMModule {
const uint8 *name_section_buf_end; const uint8 *name_section_buf_end;
#endif #endif
#if WASM_ENABLE_BRANCH_HINTS != 0
struct WASMCompilationHint **function_hints;
#endif
#if WASM_ENABLE_LOAD_CUSTOM_SECTION != 0 #if WASM_ENABLE_LOAD_CUSTOM_SECTION != 0
WASMCustomSection *custom_section_list; WASMCustomSection *custom_section_list;
#endif #endif

View File

@ -223,7 +223,7 @@ static inline float64
f64_min(float64 a, float64 b) f64_min(float64 a, float64 b)
{ {
if (isnan(a) || isnan(b)) if (isnan(a) || isnan(b))
return NAN; return (float64)NAN;
else if (a == 0 && a == b) else if (a == 0 && a == b)
return signbit(a) ? a : b; return signbit(a) ? a : b;
else else
@ -234,7 +234,7 @@ static inline float64
f64_max(float64 a, float64 b) f64_max(float64 a, float64 b)
{ {
if (isnan(a) || isnan(b)) if (isnan(a) || isnan(b))
return NAN; return (float64)NAN;
else if (a == 0 && a == b) else if (a == 0 && a == b)
return signbit(a) ? b : a; return signbit(a) ? b : a;
else else
@ -1567,7 +1567,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
WASMMemoryInstance *memory = wasm_get_default_memory(module); WASMMemoryInstance *memory = wasm_get_default_memory(module);
#if !defined(OS_ENABLE_HW_BOUND_CHECK) \ #if !defined(OS_ENABLE_HW_BOUND_CHECK) \
|| WASM_CPU_SUPPORTS_UNALIGNED_ADDR_ACCESS == 0 \ || WASM_CPU_SUPPORTS_UNALIGNED_ADDR_ACCESS == 0 \
|| WASM_ENABLE_BULK_MEMORY != 0 || WASM_ENABLE_BULK_MEMORY_OPT != 0
uint64 linear_mem_size = 0; uint64 linear_mem_size = 0;
if (memory) if (memory)
#if WASM_ENABLE_THREAD_MGR == 0 #if WASM_ENABLE_THREAD_MGR == 0
@ -1685,7 +1685,10 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
goto got_exception; goto got_exception;
} }
HANDLE_OP(WASM_OP_NOP) { HANDLE_OP_END(); } HANDLE_OP(WASM_OP_NOP)
{
HANDLE_OP_END();
}
#if WASM_ENABLE_EXCE_HANDLING != 0 #if WASM_ENABLE_EXCE_HANDLING != 0
HANDLE_OP(WASM_OP_RETHROW) HANDLE_OP(WASM_OP_RETHROW)
@ -2367,7 +2370,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
cur_type = wasm_types[tidx]; cur_type = wasm_types[tidx];
/* clang-format off */ /* clang-format off */
#if WASM_ENABLE_REF_TYPES != 0 || WASM_ENABLE_GC != 0 #if WASM_ENABLE_CALL_INDIRECT_OVERLONG != 0 || WASM_ENABLE_GC != 0
read_leb_uint32(frame_ip, frame_ip_end, tbl_idx); read_leb_uint32(frame_ip, frame_ip_end, tbl_idx);
#else #else
frame_ip++; frame_ip++;
@ -3162,7 +3165,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
if (len > 0) { if (len > 0) {
if ((uint64)start_offset + len if ((uint64)start_offset + len
>= wasm_array_obj_length(array_obj)) { > wasm_array_obj_length(array_obj)) {
wasm_set_exception( wasm_set_exception(
module, "out of bounds array access"); module, "out of bounds array access");
goto got_exception; goto got_exception;
@ -5622,7 +5625,10 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
HANDLE_OP(WASM_OP_I32_REINTERPRET_F32) HANDLE_OP(WASM_OP_I32_REINTERPRET_F32)
HANDLE_OP(WASM_OP_I64_REINTERPRET_F64) HANDLE_OP(WASM_OP_I64_REINTERPRET_F64)
HANDLE_OP(WASM_OP_F32_REINTERPRET_I32) HANDLE_OP(WASM_OP_F32_REINTERPRET_I32)
HANDLE_OP(WASM_OP_F64_REINTERPRET_I64) { HANDLE_OP_END(); } HANDLE_OP(WASM_OP_F64_REINTERPRET_I64)
{
HANDLE_OP_END();
}
HANDLE_OP(WASM_OP_I32_EXTEND8_S) HANDLE_OP(WASM_OP_I32_EXTEND8_S)
{ {
@ -5697,7 +5703,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
true); true);
break; break;
case WASM_OP_I64_TRUNC_SAT_U_F64: case WASM_OP_I64_TRUNC_SAT_U_F64:
DEF_OP_TRUNC_SAT_F64(-1.0f, 18446744073709551616.0, DEF_OP_TRUNC_SAT_F64(-1.0, 18446744073709551616.0,
false, false); false, false);
break; break;
#if WASM_ENABLE_BULK_MEMORY != 0 #if WASM_ENABLE_BULK_MEMORY != 0
@ -5768,6 +5774,8 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
segment); segment);
break; break;
} }
#endif /* WASM_ENABLE_BULK_MEMORY */
#if WASM_ENABLE_BULK_MEMORY_OPT != 0
case WASM_OP_MEMORY_COPY: case WASM_OP_MEMORY_COPY:
{ {
mem_offset_t dst, src, len; mem_offset_t dst, src, len;
@ -5888,7 +5896,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
memset(mdst, fill_val, len); memset(mdst, fill_val, len);
break; break;
} }
#endif /* WASM_ENABLE_BULK_MEMORY */ #endif /* WASM_ENABLE_BULK_MEMORY_OPT */
#if WASM_ENABLE_REF_TYPES != 0 || WASM_ENABLE_GC != 0 #if WASM_ENABLE_REF_TYPES != 0 || WASM_ENABLE_GC != 0
case WASM_OP_TABLE_INIT: case WASM_OP_TABLE_INIT:
{ {
@ -6572,12 +6580,10 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
HANDLE_OP(WASM_OP_CATCH_ALL) HANDLE_OP(WASM_OP_CATCH_ALL)
HANDLE_OP(EXT_OP_TRY) HANDLE_OP(EXT_OP_TRY)
#endif #endif
#if WASM_ENABLE_JIT != 0 && WASM_ENABLE_SIMD != 0
/* SIMD isn't supported by interpreter, but when JIT is /* SIMD isn't supported by interpreter, but when JIT is
enabled, `iwasm --interp <wasm_file>` may be run to enabled, `iwasm --interp <wasm_file>` may be run to
trigger the SIMD opcode in interpreter */ trigger the SIMD opcode in interpreter */
HANDLE_OP(WASM_OP_SIMD_PREFIX) HANDLE_OP(WASM_OP_SIMD_PREFIX)
#endif
HANDLE_OP(WASM_OP_UNUSED_0x16) HANDLE_OP(WASM_OP_UNUSED_0x16)
HANDLE_OP(WASM_OP_UNUSED_0x17) HANDLE_OP(WASM_OP_UNUSED_0x17)
HANDLE_OP(WASM_OP_UNUSED_0x27) HANDLE_OP(WASM_OP_UNUSED_0x27)
@ -6873,7 +6879,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
#if !defined(OS_ENABLE_HW_BOUND_CHECK) \ #if !defined(OS_ENABLE_HW_BOUND_CHECK) \
|| WASM_CPU_SUPPORTS_UNALIGNED_ADDR_ACCESS == 0 \ || WASM_CPU_SUPPORTS_UNALIGNED_ADDR_ACCESS == 0 \
|| WASM_ENABLE_BULK_MEMORY != 0 || WASM_ENABLE_BULK_MEMORY_OPT != 0
out_of_bounds: out_of_bounds:
wasm_set_exception(module, "out of bounds memory access"); wasm_set_exception(module, "out of bounds memory access");
#endif #endif

View File

@ -164,7 +164,7 @@ static inline float64
f64_min(float64 a, float64 b) f64_min(float64 a, float64 b)
{ {
if (isnan(a) || isnan(b)) if (isnan(a) || isnan(b))
return NAN; return (float64)NAN;
else if (a == 0 && a == b) else if (a == 0 && a == b)
return signbit(a) ? a : b; return signbit(a) ? a : b;
else else
@ -175,7 +175,7 @@ static inline float64
f64_max(float64 a, float64 b) f64_max(float64 a, float64 b)
{ {
if (isnan(a) || isnan(b)) if (isnan(a) || isnan(b))
return NAN; return (float64)NAN;
else if (a == 0 && a == b) else if (a == 0 && a == b)
return signbit(a) ? b : a; return signbit(a) ? b : a;
else else
@ -1501,7 +1501,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
WASMMemoryInstance *memory = wasm_get_default_memory(module); WASMMemoryInstance *memory = wasm_get_default_memory(module);
#if !defined(OS_ENABLE_HW_BOUND_CHECK) \ #if !defined(OS_ENABLE_HW_BOUND_CHECK) \
|| WASM_CPU_SUPPORTS_UNALIGNED_ADDR_ACCESS == 0 \ || WASM_CPU_SUPPORTS_UNALIGNED_ADDR_ACCESS == 0 \
|| WASM_ENABLE_BULK_MEMORY != 0 || WASM_ENABLE_BULK_MEMORY_OPT != 0
uint64 linear_mem_size = 0; uint64 linear_mem_size = 0;
if (memory) if (memory)
#if WASM_ENABLE_THREAD_MGR == 0 #if WASM_ENABLE_THREAD_MGR == 0
@ -2562,7 +2562,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
if (len > 0) { if (len > 0) {
if ((uint64)start_offset + len if ((uint64)start_offset + len
>= wasm_array_obj_length(array_obj)) { > wasm_array_obj_length(array_obj)) {
wasm_set_exception( wasm_set_exception(
module, "out of bounds array access"); module, "out of bounds array access");
goto got_exception; goto got_exception;
@ -5057,6 +5057,10 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
PUT_I64_TO_ADDR((uint32 *)(frame_lp + local_offset), PUT_I64_TO_ADDR((uint32 *)(frame_lp + local_offset),
GET_I64_FROM_ADDR(frame_lp + addr1)); GET_I64_FROM_ADDR(frame_lp + addr1));
} }
else if (local_type == VALUE_TYPE_V128) {
PUT_V128_TO_ADDR((frame_lp + local_offset),
GET_V128_FROM_ADDR(frame_lp + addr1));
}
#if WASM_ENABLE_GC != 0 #if WASM_ENABLE_GC != 0
else if (wasm_is_type_reftype(local_type)) { else if (wasm_is_type_reftype(local_type)) {
PUT_REF_TO_ADDR((uint32 *)(frame_lp + local_offset), PUT_REF_TO_ADDR((uint32 *)(frame_lp + local_offset),
@ -5200,6 +5204,8 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
segment); segment);
break; break;
} }
#endif /* WASM_ENABLE_BULK_MEMORY */
#if WASM_ENABLE_BULK_MEMORY_OPT != 0
case WASM_OP_MEMORY_COPY: case WASM_OP_MEMORY_COPY:
{ {
uint32 dst, src, len; uint32 dst, src, len;
@ -5290,7 +5296,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
memset(mdst, fill_val, len); memset(mdst, fill_val, len);
break; break;
} }
#endif /* WASM_ENABLE_BULK_MEMORY */ #endif /* WASM_ENABLE_BULK_MEMORY_OPT */
#if WASM_ENABLE_REF_TYPES != 0 || WASM_ENABLE_GC != 0 #if WASM_ENABLE_REF_TYPES != 0 || WASM_ENABLE_GC != 0
case WASM_OP_TABLE_INIT: case WASM_OP_TABLE_INIT:
{ {
@ -7528,6 +7534,9 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
HANDLE_OP(EXT_OP_LOOP) HANDLE_OP(EXT_OP_LOOP)
HANDLE_OP(EXT_OP_IF) HANDLE_OP(EXT_OP_IF)
HANDLE_OP(EXT_OP_BR_TABLE_CACHE) HANDLE_OP(EXT_OP_BR_TABLE_CACHE)
#if WASM_ENABLE_SIMDE == 0
HANDLE_OP(WASM_OP_SIMD_PREFIX)
#endif
{ {
wasm_set_exception(module, "unsupported opcode"); wasm_set_exception(module, "unsupported opcode");
goto got_exception; goto got_exception;
@ -7805,7 +7814,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
#if !defined(OS_ENABLE_HW_BOUND_CHECK) \ #if !defined(OS_ENABLE_HW_BOUND_CHECK) \
|| WASM_CPU_SUPPORTS_UNALIGNED_ADDR_ACCESS == 0 \ || WASM_CPU_SUPPORTS_UNALIGNED_ADDR_ACCESS == 0 \
|| WASM_ENABLE_BULK_MEMORY != 0 || WASM_ENABLE_BULK_MEMORY_OPT != 0
out_of_bounds: out_of_bounds:
wasm_set_exception(module, "out of bounds memory access"); wasm_set_exception(module, "out of bounds memory access");
#endif #endif

Some files were not shown because too many files have changed in this diff Show More