Commit Graph

2110 Commits

Author SHA1 Message Date
09c2abde4a build(deps): Bump github/codeql-action from 3.27.6 to 3.27.9 (#3960)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.27.6 to 3.27.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.27.6...v3.27.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-19 09:05:44 +08:00
296c3cc69d wasm_export.h: Use "default" visibility for gcc and clang (#3957)
Since the top-level CMakelists.txt is appending `-fvisibility=hidden` to
the compile options, no public symbols are exported by default. This
forbids users from linking against the shared library.

Using `gcc/clang` attributes [1], it is possible to override the definition
for `WASM_RUNTIME_API_EXTERN` so that only required symbols are
correctly exported.

[1]: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#Common-Function-Attributes
2024-12-19 08:49:13 +08:00
9563909d6c set alignment 4 when loading multi return value (#3955)
set alignment 4 when loading multi return value for all call opcodes
2024-12-12 20:33:46 +08:00
1fb08624ed Merge pull request #3951 from bytecodealliance/dependabot/github_actions/github/codeql-action-3.27.6
build(deps): bump github/codeql-action from 3.27.5 to 3.27.6
2024-12-10 13:31:33 +00:00
bebdd4ad17 Fix aot table instantiate (#3946) 2024-12-10 20:26:32 +08:00
591b740571 Consume the placeholders that were put when emitting table info (#3940) 2024-12-10 20:26:14 +08:00
f665e7b739 build(deps): bump github/codeql-action from 3.27.5 to 3.27.6
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.27.5 to 3.27.6.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.27.5...v3.27.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-09 10:39:04 +00:00
kk
c32a6ceae1 Refactor SConscript and add file checks in iwasm.c (#3945) 2024-12-06 14:54:37 +08:00
aabe83074e Improvements for platform thread APIs on Windows and Zephyr (#3941)
* improvements for os_thread_join on Windows and Zephyr
2024-12-06 14:39:53 +08:00
739efd78e9 Fix incorrect assignment in win_file.c (#3939)
win_error should be compared to ERROR_INVALID_HANDLE but was instead
being assigned the value.
2024-12-01 20:40:43 +08:00
838dd81e68 don't return an uninitialized trap if argv_to_results fails (#3935)
Currently, if argv_to_results fails (e.g. because an unsupported type is
encountered), an non-null trap with an uninitialized message is
returned.
2024-11-28 11:50:44 +08:00
e09613c722 support WASM_FUNCREF return type in argv_to_results (#3936) 2024-11-28 11:50:16 +08:00
8698d22e67 add thread cpu time for zephyr (#3937) 2024-11-28 11:49:55 +08:00
fd91b51cfb build(deps): bump github/codeql-action from 3.27.4 to 3.27.5 (#3931)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.27.4 to 3.27.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.27.4...v3.27.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-28 11:49:23 +08:00
27d96aac02 Update README.md to clarify Windows toolchain support and ESP-IDF reference (#3917) 2024-11-27 19:06:22 +08:00
7b553cd420 Enable ref types by default (#3894) 2024-11-27 19:06:07 +08:00
1d111a38d6 Fix loader small bug (#3928) 2024-11-26 10:08:51 +08:00
b0c6d5c23a add testcases for shared heap and fix POP_MEM_OFFSET of memory64 (#3916)
- add testcases for shared_heap
- fix POP_MEM_OFFSET and POP_TBL_ELEM_IDX of memory64

Signed-off-by: wenlingyun1 <wenlingyun1@xiaomi.com>
2024-11-24 11:34:38 +08:00
dbdf3df60b Use plain assignment rather than bh_memcpy_s (#3924) 2024-11-24 11:32:34 +08:00
9d8150efae Fix WASI Path Mapping Processing (#3923)
Filesystem paths can be mapped from the host path to a guest path using
the format `<guest-path>::<host-path>`.

Previously `strtok` was used to find the `::` delimiter. Unfortunately
`strtok` processes each delimiter character individually. This meant
that the code was ~equivalent to `strtok(mapping_copy, ":")` which
breaks with Windows-style paths (E.g. `C:\my_path\`).

To fix this `strstr` is used to search for the exact delimiter.
2024-11-24 11:31:55 +08:00
00c2aa10a8 Drop declarative elements on module instantiation (#3922) 2024-11-24 11:30:00 +08:00
62aca17279 Check possible integer overflow in aot memory boundary check (#3920)
Check possible integer overflow in aot memory boundary check when
the wasm memory is 64-bit.
2024-11-22 16:01:24 +08:00
f1d03db8e5 Fix CI wamr-ide error (#3913)
The recent version of the rust toolchain will emit ref types opcodes,
which needs to enable this feature in the `iwasm` build.

The vector format parsing logic has some errors in the current version.
I disabled the check for now and am waiting for further investigation.
2024-11-20 10:22:36 +08:00
f2b87d773e Support external toolchain on Windows for aot compiler (#3911)
allowing custom ARC toolchain on Windows
2024-11-19 17:47:05 +08:00
2975e2ffb8 build(deps): bump github/codeql-action from 3.27.1 to 3.27.4 (#3912)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.27.1 to 3.27.4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.27.1...v3.27.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-19 17:45:50 +08:00
0119b17526 Correct the table index calculation in aot_instantiation (#3903)
`module_inst->table_count = module->import_table_count + module->table_count`,
using it as an index will go through `module->import_tables` and  `module->tables`,
but aot init data is only available for non-import tables.
2024-11-18 20:01:00 +08:00
0e4dffc479 Fix a leak in wasm_loader_emit_br_info (#3900)
Reference Info: 377955855 wamr:wasm_mutator_fuzz_loader: Direct-leak in wasm_loader_emit_br_info

https://issues.oss-fuzz.com/issues/377955855
2024-11-13 15:16:13 +08:00
226bf22f9e GlobalValueSet was moved to IRPartitionLayer recently, but we have a local definition anyway (#3899) 2024-11-13 15:11:33 +08:00
75f5fa46ab build(deps): bump github/codeql-action from 3.27.0 to 3.27.1 (#3902)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.27.0 to 3.27.1.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.27.0...v3.27.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-13 15:11:11 +08:00
fdda259d36 Fix linked global initialization in multimodule (#3905)
While resolving linked globals in multi-module mode, WAMR tries to copy
the linked global's initial value into the destination global in the
current module.  However, a bug in the implementation causes the copy to
be done from the InitializerExpression struct, not from its WASMValue
field.

This did not come up in WAMR's spec test runner because those are built
with WASM_ENABLE_SPEC_TEST, which means these globals are resolved as
builtins, not linked globals, which goes through a different (presumably
not faulty) path.
2024-11-13 14:52:27 +08:00
58f242f357 Merge pull request #3897 from bafadumi/main
fix(uwp): Gate NTSTATUS definition behind WINAPI_PARTITION_DESKTOP for UWP build
2024-11-12 09:56:23 +01:00
397f663349 fix(uwp): Gate NTSTATUS definition behind WINAPI_PARTITION_DESKTOP for UWP builds 2024-11-08 09:41:21 +00:00
bf78863c56 Wasm loader enhancement: check code size in code entry (#3892)
add wasm loader check: in code entry, the code size should match the size of vec(locals) + expr, and expr should end with opcode end
2024-11-07 13:38:42 +08:00
e352f0ab10 Refactor AOT loader to support compatible versions (#3891)
This commit refactors the AOT loader in `aot_loader.c` to support compatible
versions of the AOT_CURRENT_VERSION constant. Previously, the loader only
accepted the exact AOT_CURRENT_VERSION value, but now it also accepts
version 3. This change ensures that the runtime can load modules AoT-compiled
with different versions of wamrc as long as they have compatible
AOT_CURRENT_VERSION values.

Related to #3880.
2024-11-01 10:16:24 +08:00
c7b2683f17 Fix out of bounds issue in is_native_addr_in_shared_heap function (#3886)
When checking for integer overflow, you may often write tests like p + i < p.
This works fine if p and i are unsigned integers, since any overflow in the
addition will cause the value to simply "wrap around." However, using this
pattern when p is a pointer is problematic because pointer overflow has
undefined behavior according to the C and C++ standards. If the addition
overflows and has an undefined result, the comparison will likewise be
undefined; it may produce an unintended result, or may be deleted entirely
by an optimizing compiler.
2024-10-31 12:44:55 +08:00
1138435455 Fix mmap flags for AOT loader on non-Linux SGX platforms (#3890) 2024-10-30 13:18:54 +08:00
95edef3185 Bump AOT_CURRENT_VERSION for WAMR 2.x (gc, memory64) (#3880)
* Bump AOT_CURRENT_VERSION for WAMR 2.x (gc, memory64)

Maybe it's too late because we have already made a few releases
since then.
But this might still help users who haven't upgraded to WAMR 2.x yet.
Also, for the purpose of the versioning, it's safer to bump
needlessly than missing necessary bumps.

Fixes https://github.com/bytecodealliance/wasm-micro-runtime/issues/3837

* test-tools/aot-analyzer/include/config.h: bump AOT_CURRENT_VERSION
2024-10-29 11:26:06 +08:00
a3960c834d Refine looking up aot function with index (#3882)
* Refine looking up aot function with index

* refine the code
2024-10-29 10:58:11 +08:00
483c57de9f build(deps): bump github/codeql-action from 3.26.13 to 3.27.0 (#3888)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.13 to 3.27.0.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.26.13...v3.27.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-29 10:20:33 +08:00
a713ba1110 fix(ios): Remove float-abi flag (#3889) 2024-10-29 10:20:05 +08:00
6426fc4993 Fix out of bounds issues after memory.grow on non-aot non-threads builds (#3872)
Co-authored-by: Deniz Sokmen <dsokmen@amazon.com>
2024-10-23 14:48:40 +08:00
7d56289fab Exclude fuzz test python and npm packages in scoreboard scan (#3871)
* exclude fuzz test for scoreboard scan

* ci ignore osv-scanner.toml file name inconsistency
2024-10-23 14:48:15 +08:00
217ba3b10c Update release notes and update version to 2.2.0 (#3863) 2024-10-22 09:34:03 +08:00
fe13f6de25 build(deps): bump github/codeql-action from 3.26.12 to 3.26.13 (#3869)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.12 to 3.26.13.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.26.12...v3.26.13)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-22 09:33:02 +08:00
b34b2c8e26 Add token permissions for CIs to fix issues reported by scorecard (#3867) 2024-10-22 09:13:55 +08:00
3ad95303d6 Fix quadratic runtime for duplicate export name detection (#3861)
Previously, the loader would check the name of a new export against all
existing exports, leading to a quadratic running time.

This change makes the loader parse the entire export section. The
exports are then sorted by name, then adjacent exports are checked for
uniqueness.
2024-10-21 11:02:30 +08:00
87588caa7f Fix lookup function issue reported in nightly run (#3868) 2024-10-21 09:57:42 +08:00
bb3f8d9198 release CI: Add another iwasm binary that supports Garbage Collection and Exception Handling (#3866)
As suggested in #3829, in release CI, we add zip/tar.gz artifacts named
iwasm-gc-eh-{version}-{platform} for `iwasm` which supports features
garbage collection and exception handling(classic interpreter only).

Also, add a command line option to control GC heap size for `iwasm` on
the Windows platform.
2024-10-21 08:43:33 +08:00
48eaa2286a Refine wasm/aot function instance lookup (#3865)
Sort the module instance's export functions with the function name,
and use binary search to lookup the wasm/aot function.
2024-10-18 15:15:33 +08:00
74d2427fdc Allow to set native stack boundary to exec_env (#3862)
Add runtime API wasm_runtime_set_native_stack_boundary.

p.s. https://github.com/bytecodealliance/wasm-micro-runtime/issues/3816
2024-10-18 12:49:57 +08:00