summaryrefslogtreecommitdiffstats
path: root/taskcluster/scripts/misc/wasi-sdk.patch
blob: b9e26074d18f13eb94b2255d779739f411150b16 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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.