From f46fafbc8f3413dd168c0093fa298dfbeecf1c13 Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Tue, 7 Feb 2023 14:51:46 -0800 Subject: [PATCH 1/5] wasi-libc: bump HEAD This brings in two recent commits, WebAssembly/wasi-libc#388 and WebAssembly/wasi-libc#391, that seem useful to have. --- src/wasi-libc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wasi-libc b/src/wasi-libc index b4814997f..8daaba387 160000 --- a/src/wasi-libc +++ b/src/wasi-libc @@ -1 +1 @@ -Subproject commit b4814997f61ee352d8c1ae397561a813fb30c701 +Subproject commit 8daaba387ce70a6088afe3916e9e16ed1c2bc630 From a219cbdd9c9a64093c69a2f742788d49d0854698 Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Tue, 7 Feb 2023 14:53:36 -0800 Subject: [PATCH 2/5] llvm-project: update to 16.0.0-rc1 pre-release This change updates the `src/llvm-project` submodule to LLVM 16. It uses the same commit as the one in LLVM's own 16.0.0-rc1 [pre-release]. [pre-release]: https://github.com/llvm/llvm-project/releases/tag/llvmorg-16.0.0-rc1 --- src/llvm-project | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llvm-project b/src/llvm-project index 8dfdcc7b7..124f90bd8 160000 --- a/src/llvm-project +++ b/src/llvm-project @@ -1 +1 @@ -Subproject commit 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a +Subproject commit 124f90bd89b97066e01274a9bba1068f3a175d66 From adef23bc03ec3bab17f7b988bec727dbd326b564 Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Wed, 8 Feb 2023 10:09:27 -0800 Subject: [PATCH 3/5] fix: use only Clang's major version in install prefix Due to [a change] in LLVM, Clang will expect to find the `libclang_rt.builtins-wasm32.a` file in a path that only contains the major version (`16`) instead of the entire version (`16.0.0`) as was previously the case. This change modifies the `CMAKE_INSTALL_PREFIX` to use Clang's major version only. [a change]: https://reviews.llvm.org/D125860 --- Makefile | 3 ++- llvm_version_major.sh | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100755 llvm_version_major.sh diff --git a/Makefile b/Makefile index 761ccbb8e..63f4ca7b6 100644 --- a/Makefile +++ b/Makefile @@ -38,6 +38,7 @@ BASH= endif CLANG_VERSION=$(shell $(BASH) ./llvm_version.sh $(LLVM_PROJ_DIR)) +CLANG_MAJOR_VERSION=$(shell $(BASH) ./llvm_version_major.sh $(LLVM_PROJ_DIR)) VERSION:=$(shell $(BASH) ./version.sh) DEBUG_PREFIX_MAP=-fdebug-prefix-map=$(ROOT_DIR)=wasisdk://v$(VERSION) @@ -134,7 +135,7 @@ build/compiler-rt.BUILT: build/llvm.BUILT build/wasi-libc.BUILT -DCMAKE_C_FLAGS="$(DEBUG_PREFIX_MAP)" \ -DLLVM_CONFIG_PATH=$(ROOT_DIR)/build/llvm/bin/llvm-config \ -DCOMPILER_RT_OS_DIR=wasi \ - -DCMAKE_INSTALL_PREFIX=$(PREFIX)/lib/clang/$(CLANG_VERSION)/ \ + -DCMAKE_INSTALL_PREFIX=$(PREFIX)/lib/clang/$(CLANG_MAJOR_VERSION)/ \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ $(LLVM_PROJ_DIR)/compiler-rt/lib/builtins DESTDIR=$(DESTDIR) ninja $(NINJA_FLAGS) -C build/compiler-rt install diff --git a/llvm_version_major.sh b/llvm_version_major.sh new file mode 100755 index 000000000..2e5d973ca --- /dev/null +++ b/llvm_version_major.sh @@ -0,0 +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)}'` +echo $MAJOR From af9c369b9c12cf834a6e5f5f5a32952b3a842b26 Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Wed, 8 Feb 2023 15:11:40 -0800 Subject: [PATCH 4/5] llvm-project: update to 16.0.0-rc2 pre-release While this branch was building, LLVM pre-released [rc2]. This commit tries that out. [rc2]: https://github.com/llvm/llvm-project/releases/tag/llvmorg-16.0.0-rc2 --- src/llvm-project | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llvm-project b/src/llvm-project index 124f90bd8..434575c02 160000 --- a/src/llvm-project +++ b/src/llvm-project @@ -1 +1 @@ -Subproject commit 124f90bd89b97066e01274a9bba1068f3a175d66 +Subproject commit 434575c026c81319b393f64047025b54e69e24c2 From b8d6809f1722dd51588c13c6b5db293a710a01f6 Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Thu, 9 Feb 2023 17:16:06 -0800 Subject: [PATCH 5/5] fix: modify `version.sh` to handle `+...` suffixes --- version.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.sh b/version.sh index 35c8a908e..8e265ab7a 100755 --- a/version.sh +++ b/version.sh @@ -2,5 +2,5 @@ set -e git config --global --add safe.directory "/workspace" GIT_DESCR=$(git describe --long --candidates=999 --match='wasi-sdk-*' --dirty='+m' --abbrev=12) -GIT_PACKAGE_VERSION=$(echo $GIT_DESCR | perl -ne 'if(/^wasi-sdk-(\d+)-(\d+)-g([0-9a-f]{7,12})([+]m)?$/) { if($2 == 0) { print "$1.$2$4" } else { print "$1.$2g$3$4" } exit } else { print "could not parse git description"; exit 1 }';) +GIT_PACKAGE_VERSION=$(echo $GIT_DESCR | perl -ne 'if(/^wasi-sdk-(\d+)([+].+)?-(\d+)-g([0-9a-f]{7,12})([+]m)?$/) { if($3 == 0) { print "$1.$3$5$2" } else { print "$1.$3g$4$5$2" } exit } else { print "could not parse git description"; exit 1 }';) echo $GIT_PACKAGE_VERSION