Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge branch main into dev/multi_memory #3738

Merged
merged 58 commits into from
Aug 21, 2024
Merged

Merge branch main into dev/multi_memory #3738

merged 58 commits into from
Aug 21, 2024

Commits on Jul 18, 2024

  1. Configuration menu
    Copy the full SHA
    583fa52 View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2024

  1. Configuration menu
    Copy the full SHA
    0d8ffeb View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2024

  1. spec-test-script/runtest.py: Use a shorter timeout when expected to f…

    …ail (#3647)
    
    This is a band-aid fix; ideally we should wait for the expected
    failure message directly with a timeout, not the successful prompt
    as we currently do.
    yamt authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    b05fdfd View commit details
    Browse the repository at this point in the history
  2. Remove a few hardcoded spec test knowledge from the core library (#3648)

    Tweak the stack sizes in the spec test runner instead.
    yamt authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    50f2849 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    058bc47 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2024

  1. Configuration menu
    Copy the full SHA
    b086d58 View commit details
    Browse the repository at this point in the history
  2. Add APIs into wasm_c_api.h to summary wasm function execution duration (

    #3639)
    
    - `wasm_instance_sum_wasm_exec_time()` ->
      `wasm_runtime_sum_wasm_exec_time()`
    - `wasm_instance_get_wasm_func_exec_time()` ->
      `wasm_runtime_get_wasm_func_exec_time()`
    lum1n0us authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    5e7d3ed View commit details
    Browse the repository at this point in the history
  3. spec-test-script: Make case_last_words larger (#3651)

    The current size is usually too small to contain useful info for post mortem investigations.
    yamt authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    5744e11 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d7521ee View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    79dacfc View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2024

  1. Set compile symbol visibility to hidden in cmake (#3655)

    Set compile symbol visibility to hidden in cmake of root folder and
    product-mini/platforms/linux.
    bnason-nf authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    5be8f35 View commit details
    Browse the repository at this point in the history
  2. wamrc: Add --mllvm= option (#3658)

    This allows users to specify llvm command line options, similarly to clang's -mllvm option.
    
    My motivations:
    * -debug and friends
    * -mtext-section-literals for xtensa
    yamt authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    b300797 View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2024

  1. wamr-compiler: Avoid size-level tweak if target is specified (#3659)

    If target is specified, assume a cross-build.
    
    Partly fixes: #3356
    yamt authored Jul 25, 2024
    Configuration menu
    Copy the full SHA
    b21e3fd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c05b93f View commit details
    Browse the repository at this point in the history
  3. aot compiler: Enlarge AOTNativeSymbol->symbol (#3662)

    The old value was not enough for wasm_externref_obj_to_internal_obj,
    which is 34 characters long.
    yamt authored Jul 25, 2024
    Configuration menu
    Copy the full SHA
    a055e0b View commit details
    Browse the repository at this point in the history
  4. aot compiler: Bail out on too long native symbol names (#3663)

    The old code was silently truncating long names.
    yamt authored Jul 25, 2024
    Configuration menu
    Copy the full SHA
    2f147fa View commit details
    Browse the repository at this point in the history
  5. spec-test-script: Skip a few tests for xtensa qemu (#3664)

    Because these test cases require more memory than what nuttx on esp32s3 qemu can afford.
    yamt authored Jul 25, 2024
    Configuration menu
    Copy the full SHA
    83b3655 View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2024

  1. Configuration menu
    Copy the full SHA
    4dfdbbb View commit details
    Browse the repository at this point in the history
  2. Support more features for rt-thread (#3661)

    1, enable thread mgr
    2, enable libc wasi
    3, enable libc wasi threads
    4, specify a function name of the module to run rather main
    dongsheng28849455 authored Jul 26, 2024
    Configuration menu
    Copy the full SHA
    6e727dc View commit details
    Browse the repository at this point in the history
  3. spec_test_on_nuttx.yml: Add xtensa (#3665)

    Fixes: #3608.
    yamt authored Jul 26, 2024
    Configuration menu
    Copy the full SHA
    22df091 View commit details
    Browse the repository at this point in the history
  4. Zephyr User Mode Support (#3650)

    Add support for the [Zephyr Usermode](https://docs.zephyrproject.org/latest/kernel/usermode/index.html)
    to the Zephyr port.
    
    The following changes are applied:
    - Fix `signbit`, check if it is defined already and only implement it, if not
    - Introduce `sys_mutex` and `sys_sem` in favour of `k_mutex` and `k_sem`, when `CONFIG_USERMODE` is enabled
    - Remove the installation of the `_stdout_hook_iwasm()` when `CONFIG_USERMODE` is enabled, otherwise this
      causes MPU errors since the std hook is in the kernel space
    - Add a thread name for debugging
    mxsdlr authored Jul 26, 2024
    Configuration menu
    Copy the full SHA
    4c5f35b View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2024

  1. spec_test_on_nuttx.yml: Enable xip (#3671)

    Related changes:
    #3662
    #3666
    yamt authored Jul 27, 2024
    Configuration menu
    Copy the full SHA
    84b5221 View commit details
    Browse the repository at this point in the history
  2. spec_test_on_nuttx.yml: Record more logs (#3670)

    Upload artifacts including nuttx config/image and wasm/aot modules
    for post-mortem investigations.
    yamt authored Jul 27, 2024
    Configuration menu
    Copy the full SHA
    3b56e7c View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2024

  1. Configuration menu
    Copy the full SHA
    a9cd8ba View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2024

  1. Configuration menu
    Copy the full SHA
    6be4b53 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2024

  1. Configuration menu
    Copy the full SHA
    c3bd6b4 View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2024

  1. build(deps): bump tensorflow in /core/iwasm/libraries/wasi-nn/test (#…

    …3675)
    
    Bumps [tensorflow](https://github.com/tensorflow/tensorflow) from 2.11.1 to 2.12.1.
    - [Release notes](https://github.com/tensorflow/tensorflow/releases)
    - [Changelog](https://github.com/tensorflow/tensorflow/blob/master/RELEASE.md)
    - [Commits](tensorflow/tensorflow@v2.11.1...v2.12.1)
    
    ---
    updated-dependencies:
    - dependency-name: tensorflow
      dependency-type: direct:production
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    0a56abc View commit details
    Browse the repository at this point in the history
  2. spec_test_on_nuttx.yml: Retire CONFIG_EOL_IS_LF (#3676)

    It has been removed in nuttx while ago:
    apache/nuttx#8628
    yamt authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    08fad88 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3ce242b View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2024

  1. Fix a compilation warning (#3682)

    Fix:
    ```
    wamr/core/iwasm/compilation/aot_llvm.c: In function ‘insert_native_symbol’:
    wamr/core/iwasm/compilation/aot_llvm.c:3290:28: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
     3290 |     if (ret < 0 || ret + 1 > sizeof(sym->symbol)) {
          |                            ^
    ```
    
    Signed-off-by: Huang Qi <[email protected]>
    no1wudi authored Aug 3, 2024
    Configuration menu
    Copy the full SHA
    c3dd559 View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2024

  1. Configuration menu
    Copy the full SHA
    8a2e151 View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2024

  1. Configuration menu
    Copy the full SHA
    6ddaeca View commit details
    Browse the repository at this point in the history
  2. Restore linux iwasm default visibility (#3691)

    Revert commit 6d8d60d:
    "Set linux iwasm default visibility to hidden also"
    
    Address comments for pull request #3655.
    bnason-nf authored Aug 7, 2024
    Configuration menu
    Copy the full SHA
    1362a30 View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2024

  1. posix_thread.c: Restore old signal alternate stack before thread exit (

    …#3693)
    
    Some host environment may also create an signal alternate stack and access
    it after the wasm runtime exits, the runtime should backup the stack info and
    restore it before thread exits.
    
    The issue was found in golang:
    ```
    signal 23 received on thread with on signal stack
    fatal error: non-Go code disabled signaltstack
    ```
    wenyongh authored Aug 12, 2024
    Configuration menu
    Copy the full SHA
    da31c07 View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2024

  1. wamr-test-suites: Clean up generated tmp files after spec test (#3700)

    Add all possible generated tmp files to the list, those not actually generated
    will be simply ignored in the deletion process.
    TianlongLiang authored Aug 13, 2024
    Configuration menu
    Copy the full SHA
    4e31bd6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    140ff25 View commit details
    Browse the repository at this point in the history
  3. libc-wasi: Make rights of STDIN/STDOUT/STDERR fixed and overlook thei…

    …r access modes (#3694)
    
    When determining the file descriptor rights in the function fd_determine_type_rights(),
    we assign fixed and unchangeable rights to STDIN, STDOUT and STDERR.
    
    ps.
    #3686
    lum1n0us authored Aug 13, 2024
    Configuration menu
    Copy the full SHA
    67fa155 View commit details
    Browse the repository at this point in the history
  4. libc-builtin: Fix function prototype for wasm_runtime_module_realloc (#…

    …3702)
    
    Fix:
    ```
    wamr/core/iwasm/libraries/libc-builtin/libc_builtin_wrapper.c:20:1:
      warning: type of 'wasm_runtime_module_realloc' does not match original declaration [-Wlto-type-mismatch]
    wamr/core/iwasm/common/wasm_runtime_common.c:3033:1:
      note: return value type mismatch
    wamr/core/iwasm/common/wasm_runtime_common.c:3033:1:
      note: type 'uint64' should match type 'uint32'
    wamr/core/iwasm/common/wasm_runtime_common.c:3033:1:
      note: 'wasm_runtime_module_realloc' was previously declared here
    wamr/core/iwasm/common/wasm_runtime_common.c:3033:1:
      note: code may be misoptimized unless '-fno-strict-aliasing' is used
    ```
    no1wudi authored Aug 13, 2024
    Configuration menu
    Copy the full SHA
    a83adcc View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2024

  1. [refactoring] Extract read leb to a separate file, share the code bet…

    …ween loader and mini loader (#3701)
    
    There's probably a number of other places where the bh_leb_read could be used (e.g. aot loader)
    but I'm making the change as small as possible. Further refactoring can be done later.
    loganek authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    37d7439 View commit details
    Browse the repository at this point in the history
  2. debug-interp: Only add lock when signal_flag is SIG_SINGSTEP (#3704)

    As reported in #3500, when debug interpreter is enabled, the classic interpreter
    performs a lock operation to read `exec_env->current_status->signal_flag` and
    do further handling before fetching next opcode, which makes the interpreter
    run slower.
    
    This PR atomic loads the `exec_env->current_status->signal_flag` without mutex
    lock when 32-bit atomic load is supported, and only adding lock for further
    handling when the signal_flag is WAMR_SIG_SINGSTEP, which improves the
    performance.
    wenyongh authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    da25906 View commit details
    Browse the repository at this point in the history
  3. Fix compilation warnings (#3707)

    Compilation warnings were reported on mac:
    ```
    core/shared/mem-alloc/ems/ems_gc.c:454:22: warning: passing arguments to 'wasm_runtime_gc_prepare' without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]
        gct_vm_gc_prepare(NULL);
                         ^
    core/shared/mem-alloc/ems/ems_gc.c:466:23: warning: passing arguments to 'wasm_runtime_gc_finalize' without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]
        gct_vm_gc_finished(NULL);
                          ^
    2 warnings generated.
    ```
    Andersbakken authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    5b8dfbc View commit details
    Browse the repository at this point in the history
  4. test_wamr.sh: Fix build wabt tool (#3703)

    And fix a typo in ATTRIBUTIONS.md.
    wenyongh authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    cce48a0 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    740f499 View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2024

  1. NuttX: Retire CONFIG_ARCH_RV32IM and CONFIG_ARCH_RV64GC (#3717)

    These symbols had been removed from NuttX in 2022, so it's time to
    remove references to them.
    no1wudi authored Aug 15, 2024
    Configuration menu
    Copy the full SHA
    000680f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    58ca02b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b845e2e View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2024

  1. Configuration menu
    Copy the full SHA
    63df2cf View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a44c487 View commit details
    Browse the repository at this point in the history
  3. aot compiler: Track non-0x00 tableindex as ref types use (#3695)

    Any use of a table index that isn't exactly a null byte (`0x00`) means that
    the module makes use of the reference types proposal. This is important
    to track because `aot_compiler.c` will blindly assume that all table indices
    are a single byte long otherwise.
    
    This fixes a crash in WAMR for modules that contain multi-byte encodings
    of table indices in `call_indirect` but make no other use of reference types
    features.
    jkrems authored Aug 16, 2024
    Configuration menu
    Copy the full SHA
    59f761b View commit details
    Browse the repository at this point in the history
  4. aot compiler: Fix NaN handling for opcode f32/f64.const in XIP mode (#…

    …3721)
    
    If the value of a float constant is an NaN, the aot compiler creates an alloca,
    stores the converted i32 const into it and then loads f32 from it again, which
    may introduce a relocation in the AOT file and is not allowed for XIP mode.
    no1wudi authored Aug 16, 2024
    Configuration menu
    Copy the full SHA
    4c12771 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2024

  1. Configuration menu
    Copy the full SHA
    67c33a2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    88caa0c View commit details
    Browse the repository at this point in the history
  3. Fix table idx resolving in op call_indirect/return_call_indirect (#3726)

    The table index in the call_indirect/return_call_indirect opcode should be
    one byte 0x00 when ref-types/GC isn't enabled, and should be treated as
    leb u32 when ref-types/GC is enabled.
    
    And make aot compiler bail out if ref-types/GC is disabled by command line
    argument while ref-types instructions are used.
    wenyongh authored Aug 19, 2024
    Configuration menu
    Copy the full SHA
    97c95a2 View commit details
    Browse the repository at this point in the history

Commits on Aug 20, 2024

  1. compilation: Use the dedicated stack-sizes section only for AOT (#3732)

    For JIT, we naturally use mach-o on macOS, where the section name
    we currently use is not valid and ends up with the errors like:
    
    ```
    LLVM ERROR: Global variable '__orc_lcl.aot_stack_sizes.0' has an invalid section specifier '.aot_stack_sizes': mach-o section specifier requires a segment and section separated by a comma.
    ```
    
    Because the dedicated section is not necessary for JIT,
    this commit simply stops using it.
    
    Fixes: #3730
    yamt authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    581e1d9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6fdad99 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c04ef6b View commit details
    Browse the repository at this point in the history
  4. Fix load error not reported when magic header is invalid (#3734)

    When AOT isn't enabled and the input is a wasm file, wasm_runtime_load doesn't
    report error. Same when interpreter isn't enabled and the input is AOT file.
    
    This PR makes wasm_runtime_load report error "magic header not detected" for
    such situations.
    wenyongh authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    d67cc26 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f4383a9 View commit details
    Browse the repository at this point in the history