diff --git a/.github/workflows/compilation_on_android_ubuntu.yml b/.github/workflows/compilation_on_android_ubuntu.yml index bf31c499..b8e2edd2 100644 --- a/.github/workflows/compilation_on_android_ubuntu.yml +++ b/.github/workflows/compilation_on_android_ubuntu.yml @@ -326,8 +326,13 @@ jobs: - name: build wasi-libc (needed for wasi-threads) run: | - git clone --branch wasi-sdk-17 https://github.com/WebAssembly/wasi-libc + mkdir wasi-libc cd wasi-libc + git init + # "Rename thread_spawn import" commit on main branch + git fetch https://github.com/WebAssembly/wasi-libc \ + 8f5275796a82f8ecfd0833a4f3f444fa37ed4546 + git checkout FETCH_HEAD make \ AR=/opt/wasi-sdk/bin/llvm-ar \ NM=/opt/wasi-sdk/bin/llvm-nm \ diff --git a/.github/workflows/compilation_on_macos.yml b/.github/workflows/compilation_on_macos.yml index 1e5ff415..31bd424b 100644 --- a/.github/workflows/compilation_on_macos.yml +++ b/.github/workflows/compilation_on_macos.yml @@ -268,8 +268,13 @@ jobs: - name: build wasi-libc (needed for wasi-threads) run: | - git clone --branch wasi-sdk-17 https://github.com/WebAssembly/wasi-libc + mkdir wasi-libc cd wasi-libc + git init + # "Rename thread_spawn import" commit on main branch + git fetch https://github.com/WebAssembly/wasi-libc \ + 8f5275796a82f8ecfd0833a4f3f444fa37ed4546 + git checkout FETCH_HEAD make \ AR=/opt/wasi-sdk/bin/llvm-ar \ NM=/opt/wasi-sdk/bin/llvm-nm \ @@ -329,4 +334,4 @@ jobs: mkdir build && cd build cmake -DWASI_SYSROOT=`pwd`/../../../core/deps/wasi-libc/sysroot .. cmake --build . --config Release --parallel 4 - ./iwasm wasm-apps/no_pthread.wasm \ No newline at end of file + ./iwasm wasm-apps/no_pthread.wasm diff --git a/.github/workflows/compilation_on_sgx.yml b/.github/workflows/compilation_on_sgx.yml index c4d4142d..efcb294a 100644 --- a/.github/workflows/compilation_on_sgx.yml +++ b/.github/workflows/compilation_on_sgx.yml @@ -270,8 +270,13 @@ jobs: - name: build wasi-libc (needed for wasi-threads) run: | - git clone --branch wasi-sdk-17 https://github.com/WebAssembly/wasi-libc + mkdir wasi-libc cd wasi-libc + git init + # "Rename thread_spawn import" commit on main branch + git fetch https://github.com/WebAssembly/wasi-libc \ + 8f5275796a82f8ecfd0833a4f3f444fa37ed4546 + git checkout FETCH_HEAD make \ AR=/opt/wasi-sdk/bin/llvm-ar \ NM=/opt/wasi-sdk/bin/llvm-nm \ diff --git a/core/iwasm/libraries/lib-wasi-threads/lib_wasi_threads_wrapper.c b/core/iwasm/libraries/lib-wasi-threads/lib_wasi_threads_wrapper.c index 46db6d52..81efc675 100644 --- a/core/iwasm/libraries/lib-wasi-threads/lib_wasi_threads_wrapper.c +++ b/core/iwasm/libraries/lib-wasi-threads/lib_wasi_threads_wrapper.c @@ -148,12 +148,12 @@ thread_preparation_fail: } /* clang-format off */ -#define REG_NATIVE_FUNC(func_name, signature) \ - { #func_name, func_name##_wrapper, signature, NULL } +#define REG_NATIVE_FUNC(name, func_name, signature) \ + { name, func_name##_wrapper, signature, NULL } /* clang-format on */ static NativeSymbol native_symbols_lib_wasi_threads[] = { REG_NATIVE_FUNC( - thread_spawn, "(i)i") }; + "thread-spawn", thread_spawn, "(i)i") }; uint32 get_lib_wasi_threads_export_apis(NativeSymbol **p_lib_wasi_threads_apis) diff --git a/samples/wasi-threads/wasm-apps/CMakeLists.txt b/samples/wasi-threads/wasm-apps/CMakeLists.txt index 0da9aa74..c5869786 100644 --- a/samples/wasi-threads/wasm-apps/CMakeLists.txt +++ b/samples/wasi-threads/wasm-apps/CMakeLists.txt @@ -14,7 +14,7 @@ endif () set (CMAKE_SYSROOT "${WASI_SYSROOT}") set (CMAKE_C_COMPILER "${WASI_SDK_DIR}/bin/clang") set (CMAKE_ASM_COMPILER "${WASI_SDK_DIR}/bin/clang") -set (CMAKE_C_COMPILER_TARGET "wasm32-wasi") +set (CMAKE_EXE_LINKER_FLAGS "-target wasm32-wasi-threads") function (compile_sample SOURCE_FILE) get_filename_component (FILE_NAME ${SOURCE_FILE} NAME_WLE) @@ -36,4 +36,4 @@ function (compile_sample SOURCE_FILE) endfunction () compile_sample(no_pthread.c wasi_thread_start.S) -compile_sample(thread_termination.c wasi_thread_start.S) \ No newline at end of file +compile_sample(thread_termination.c wasi_thread_start.S)