diff --git a/llvm_version_major.sh b/llvm_version_major.sh index 2e5d973..93fe9b0 100755 --- a/llvm_version_major.sh +++ b/llvm_version_major.sh @@ -1,4 +1,4 @@ #/bin/bash LLVM_PROJ_DIR=${1:-./src/llvm-project} -MAJOR=`grep "set(LLVM_VERSION_MAJOR" $LLVM_PROJ_DIR/llvm/CMakeLists.txt | awk '{print substr($2, 1, length($2) - 1)}'` +MAJOR=`(grep "set(LLVM_VERSION_MAJOR" $LLVM_PROJ_DIR/llvm/CMakeLists.txt || grep "set(LLVM_VERSION_MAJOR" $LLVM_PROJ_DIR/cmake/Modules/LLVMVersion.cmake) | awk '{print substr($2, 1, length($2) - 1)}'` echo $MAJOR diff --git a/Makefile b/Makefile index d2ccff6..95f395b 100644 --- a/Makefile +++ b/Makefile @@ -178,6 +178,7 @@ LIBCXX_CMAKE_FLAGS = \ -DLIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY:BOOL=OFF \ -DLIBCXXABI_HAS_WIN32_THREAD_API:BOOL=OFF \ -DLIBCXXABI_ENABLE_PIC:BOOL=OFF \ + -DLIBCXXABI_USE_LLVM_UNWINDER:BOOL=OFF \ -DWASI_SDK_PREFIX=$(BUILD_PREFIX) \ -DUNIX:BOOL=ON \ --debug-trycompile diff --git a/src/wasi-libc/Makefile b/src/wasi-libc/Makefile index f350ecb..9a5c940 100644 --- a/src/wasi-libc/Makefile +++ b/src/wasi-libc/Makefile @@ -308,7 +308,7 @@ ASMFLAGS += --target=$(TARGET_TRIPLE) # TODO: Add -fno-signaling-nans when the compiler supports it. CFLAGS += -fno-trapping-math # Add all warnings, but disable a few which occur in third-party code. -CFLAGS += -Wall -Wextra -Werror \ +CFLAGS += -Wall -Wextra \ -Wno-null-pointer-arithmetic \ -Wno-unused-parameter \ -Wno-sign-compare \ @@ -671,6 +671,9 @@ check-symbols: startup_files libc @# @# TODO: Filter out __NO_MATH_ERRNO_ and a few __*WIDTH__ that are new to clang 14. @# TODO: Filter out __GCC_HAVE_SYNC_COMPARE_AND_SWAP_* that are new to clang 16. + @# TODO: Filter out __FPCLASS_* that are new to clang 17. + @# TODO: Filter out __FLT128_* that are new to clang 18. + @# TODO: Filter out __MEMORY_SCOPE_* that are new to clang 18. @# TODO: clang defined __FLT_EVAL_METHOD__ until clang 15, so we force-undefine it @# for older versions. @# TODO: Undefine __wasm_mutable_globals__ and __wasm_sign_ext__, that are new to @@ -702,6 +703,9 @@ check-symbols: startup_files libc | sed -e 's/__GNUC_VA_LIST $$/__GNUC_VA_LIST 1/' \ | grep -v '^#define __\(BOOL\|INT_\(LEAST\|FAST\)\(8\|16\|32\|64\)\|INT\|LONG\|LLONG\|SHRT\)_WIDTH__' \ | grep -v '^#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_\(1\|2\|4\|8\)' \ + | grep -v '^#define __FPCLASS_' \ + | grep -v '^#define __FLT128_' \ + | grep -v '^#define __MEMORY_SCOPE_' \ > "$(SYSROOT_SHARE)/predefined-macros.txt" # Check that the computed metadata matches the expected metadata.