diff --git a/cmake/wasi-sdk-sysroot.cmake b/cmake/wasi-sdk-sysroot.cmake index 37fa118..d7e64b9 100644 --- a/cmake/wasi-sdk-sysroot.cmake +++ b/cmake/wasi-sdk-sysroot.cmake @@ -164,6 +164,12 @@ function(define_wasi_libc_sub target target_suffix lto) "${CMAKE_C_FLAGS} ${directory_cflags} ${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE_UPPER}}") list(JOIN extra_cflags_list " " extra_cflags) + if(${target} MATCHES threads) + set(libcompiler_rt_a ${wasi_resource_dir}/lib/wasm32-unknown-wasip1-threads/libclang_rt.builtins.a) + else() + set(libcompiler_rt_a ${wasi_resource_dir}/lib/wasm32-unknown-wasip1/libclang_rt.builtins.a) + endif() + ExternalProject_Add(wasi-libc-${target}${target_suffix}-build # Currently wasi-libc doesn't support out-of-tree builds so feign a # "download command" which copies the source tree to a different location @@ -180,6 +186,7 @@ function(define_wasi_libc_sub target target_suffix lto) SYSROOT=${wasi_sysroot} EXTRA_CFLAGS=${extra_cflags} TARGET_TRIPLE=${target} + BUILTINS_LIB=${libcompiler_rt_a} ${extra_make_flags} INSTALL_COMMAND "" DEPENDS compiler-rt diff --git a/src/wasi-libc b/src/wasi-libc index 640c0cf..50ae119 160000 --- a/src/wasi-libc +++ b/src/wasi-libc @@ -1 +1 @@ -Subproject commit 640c0cfc19a96b099e0791824be5ef0105ce2084 +Subproject commit 50ae11904df674fecaa311537967fe138c21fcc7