Bug 1800150 - Use the clang-trunk-based wasi sysroot on the toolchains branch. r=firefox-build-system-reviewers,ahochheiden

And because it's built against clang-trunk, it needs the same patch as
compiler-rt-wasi.

Differential Revision: https://phabricator.services.mozilla.com/D161838
This commit is contained in:
Mike Hommey 2022-11-10 23:45:20 +00:00
Родитель 12530903b0
Коммит 0606ceb176
4 изменённых файлов: 35 добавлений и 26 удалений

Просмотреть файл

@ -68,7 +68,10 @@ sysroot-wasm32-wasi-clang-15:
symbol: TL(sysroot-wasi-15) symbol: TL(sysroot-wasi-15)
run: run:
script: build-sysroot-wasi.sh script: build-sysroot-wasi.sh
toolchain-alias: sysroot-wasm32-wasi toolchain-alias:
by-project:
toolchains: null
default: sysroot-wasm32-wasi
toolchain-artifact: public/build/sysroot-wasm32-wasi.tar.zst toolchain-artifact: public/build/sysroot-wasm32-wasi.tar.zst
fetches: fetches:
fetch: fetch:
@ -85,6 +88,10 @@ sysroot-wasm32-wasi-clang-trunk:
symbol: TL(sysroot-wasi-trunk) symbol: TL(sysroot-wasi-trunk)
run: run:
script: build-sysroot-wasi.sh script: build-sysroot-wasi.sh
toolchain-alias:
by-project:
toolchains: sysroot-wasm32-wasi
default: null
toolchain-artifact: public/build/sysroot-wasm32-wasi.tar.zst toolchain-artifact: public/build/sysroot-wasm32-wasi.tar.zst
fetches: fetches:
fetch: fetch:

Просмотреть файл

@ -4,34 +4,11 @@ set -x -e -v
artifact=$(basename $TOOLCHAIN_ARTIFACT) artifact=$(basename $TOOLCHAIN_ARTIFACT)
dir=${artifact%.tar.*} dir=${artifact%.tar.*}
patch -d $MOZ_FETCHES_DIR/wasi-sdk -p1 < $(dirname $0)/wasi-sdk.patch
cd $MOZ_FETCHES_DIR/wasi-sdk cd $MOZ_FETCHES_DIR/wasi-sdk
LLVM_PROJ_DIR=$MOZ_FETCHES_DIR/llvm-project LLVM_PROJ_DIR=$MOZ_FETCHES_DIR/llvm-project
# Apply patch from https://github.com/WebAssembly/wasi-libc/pull/344.
patch -p1 <<'EOF'
diff --git a/src/wasi-libc/Makefile b/src/wasi-libc/Makefile
index 44acdee..6e01bed 100644
--- a/src/wasi-libc/Makefile
+++ b/src/wasi-libc/Makefile
@@ -556,6 +556,8 @@ check-symbols: startup_files libc
-U__clang_version__ \
-U__clang_literal_encoding__ \
-U__clang_wide_literal_encoding__ \
+ -U__wasm_mutable_globals__ \
+ -U__wasm_sign_ext__ \
-U__GNUC__ \
-U__GNUC_MINOR__ \
-U__GNUC_PATCHLEVEL__ \
@@ -565,6 +567,7 @@ check-symbols: startup_files libc
-U__BITINT_MAXWIDTH__ \
-U__FLT_EVAL_METHOD__ -Wno-builtin-macro-redefined \
| sed -e 's/__[[:upper:][:digit:]]*_ATOMIC_\([[:upper:][:digit:]_]*\)_LOCK_FREE/__compiler_ATOMIC_\1_LOCK_FREE/' \
+ | sed -e 's/__GNUC_VA_LIST $$/__GNUC_VA_LIST 1/' \
| grep -v '^#define __FLT16_' \
| grep -v '^#define __\(BOOL\|INT_\(LEAST\|FAST\)\(8\|16\|32\|64\)\|INT\|LONG\|LLONG\|SHRT\)_WIDTH__' \
> "$(SYSROOT_SHARE)/predefined-macros.txt"
EOF
mkdir -p build/install/wasi mkdir -p build/install/wasi
# The wasi-sdk build system wants to build clang itself. We trick it into # The wasi-sdk build system wants to build clang itself. We trick it into
# thinking it did, and put our own clang where it would have built its own. # thinking it did, and put our own clang where it would have built its own.

Просмотреть файл

@ -4,6 +4,8 @@ set -x -e -v
artifact=$(basename $TOOLCHAIN_ARTIFACT) artifact=$(basename $TOOLCHAIN_ARTIFACT)
sysroot=${artifact%.tar.*} sysroot=${artifact%.tar.*}
patch -d $MOZ_FETCHES_DIR/wasi-sdk -p1 < $(dirname $0)/wasi-sdk.patch
cd $MOZ_FETCHES_DIR/wasi-sdk cd $MOZ_FETCHES_DIR/wasi-sdk
LLVM_PROJ_DIR=$MOZ_FETCHES_DIR/llvm-project LLVM_PROJ_DIR=$MOZ_FETCHES_DIR/llvm-project

Просмотреть файл

@ -0,0 +1,23 @@
Patch from https://github.com/WebAssembly/wasi-libc/pull/344.
diff --git a/src/wasi-libc/Makefile b/src/wasi-libc/Makefile
index 44acdee..6e01bed 100644
--- a/src/wasi-libc/Makefile
+++ b/src/wasi-libc/Makefile
@@ -556,6 +556,8 @@ check-symbols: startup_files libc
-U__clang_version__ \
-U__clang_literal_encoding__ \
-U__clang_wide_literal_encoding__ \
+ -U__wasm_mutable_globals__ \
+ -U__wasm_sign_ext__ \
-U__GNUC__ \
-U__GNUC_MINOR__ \
-U__GNUC_PATCHLEVEL__ \
@@ -565,6 +567,7 @@ check-symbols: startup_files libc
-U__BITINT_MAXWIDTH__ \
-U__FLT_EVAL_METHOD__ -Wno-builtin-macro-redefined \
| sed -e 's/__[[:upper:][:digit:]]*_ATOMIC_\([[:upper:][:digit:]_]*\)_LOCK_FREE/__compiler_ATOMIC_\1_LOCK_FREE/' \
+ | sed -e 's/__GNUC_VA_LIST $$/__GNUC_VA_LIST 1/' \
| grep -v '^#define __FLT16_' \
| grep -v '^#define __\(BOOL\|INT_\(LEAST\|FAST\)\(8\|16\|32\|64\)\|INT\|LONG\|LLONG\|SHRT\)_WIDTH__' \
> "$(SYSROOT_SHARE)/predefined-macros.txt"