[tbb-commits] [tor-browser-build/master] Bug 40305: Update Linux toolchain to switch to mozilla91
sysrqb at torproject.org
sysrqb at torproject.org
Wed Oct 6 22:22:28 UTC 2021
commit c2c853e787c5d736f37bed8fc3f7f3bece3ed95a
Author: Nicolas Vigier <boklm at torproject.org>
Date: Thu Jul 8 16:59:17 2021 +0200
Bug 40305: Update Linux toolchain to switch to mozilla91
---
projects/clang/build | 21 +++++++++++----------
projects/clang/config | 3 +++
projects/firefox/build | 8 +++++---
projects/lucetc/build | 2 +-
projects/lucetc/config | 7 ++++---
projects/rust/build | 3 +++
projects/rust/config | 3 +++
projects/wasi-sysroot/build | 11 +++++++----
projects/wasi-sysroot/config | 3 +--
projects/wasi-sysroot/no-git.patch | 28 ----------------------------
rbm.conf | 3 +++
11 files changed, 41 insertions(+), 51 deletions(-)
diff --git a/projects/clang/build b/projects/clang/build
index 608d80c..41669b9 100644
--- a/projects/clang/build
+++ b/projects/clang/build
@@ -4,14 +4,13 @@ distdir=/var/tmp/dist/[% project %]
mkdir -p /var/tmp/dist
tar -C /var/tmp/dist -xf [% c('input_files_by_name/cmake') %]
export PATH="/var/tmp/dist/cmake/bin:$PATH"
-[% IF c("var/linux") || c("var/android") %]
- [% IF c("var/linux") %]
- # We need a link to our GCC, otherwise the system cc gets used which points
- # to /usr/bin/gcc.
- [% pc('gcc', 'var/setup', { compiler_tarfile => c('input_files_by_name/gcc'),
- hardened_gcc => 0 }) %]
- ln -s gcc /var/tmp/dist/gcc/bin/cc
- [% END %]
+[% IF c("var/linux") %]
+ # We need a link to our GCC, otherwise the system cc gets used which points
+ # to /usr/bin/gcc.
+ [% pc('gcc', 'var/setup', { compiler_tarfile => c('input_files_by_name/gcc'),
+ hardened_gcc => 0 }) %]
+ ln -s gcc /var/tmp/dist/gcc/bin/cc
+ [% pc('python', 'var/setup', { python_tarfile => c('input_files_by_name/python') }) %]
[% END -%]
[% IF c("var/linux") || c("var/android") || c("var/windows") -%]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/binutils') %]
@@ -28,13 +27,15 @@ cd build
[% IF ! c("var/ff91esr") %]
cmake .. -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$distdir \
-DCMAKE_BUILD_TYPE:STRING=Release \
- [% IF c("var/rlbox") -%]-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly \[% END -%]
+ [% IF c("var/rlbox") -%]-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly[% END %] \
$LLVM_HOME
[% ELSE %]
cmake ../llvm -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$distdir \
-DCMAKE_BUILD_TYPE=Release \
+ [% IF c("var/android") -%]
-DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64" \
- [% IF c("var/rlbox") -%]-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly \[% END -%]
+ [% END -%]
+ [% IF c("var/rlbox") -%]-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly[% END %] \
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;compiler-rt;libcxx;libcxxabi;lld"
[% END -%]
make -j[% c("buildconf/num_procs") %]
diff --git a/projects/clang/config b/projects/clang/config
index 3ce6d97..038a44b 100644
--- a/projects/clang/config
+++ b/projects/clang/config
@@ -36,3 +36,6 @@ input_files:
- project: llvm-project
name: clang-source
enable: '[% c("var/ff91esr") %]'
+ - project: python
+ name: python
+ enable: '[% c("var/linux") %]'
diff --git a/projects/firefox/build b/projects/firefox/build
index eb2a663..732da0f 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -49,7 +49,7 @@ export LLVM_CONFIG="/var/tmp/dist/clang/bin/llvm-config"
rtdir=/var/tmp/dist/macosx-toolchain/clang/lib/clang/[% pc("clang", "version") %]/lib/wasi
[% END-%]
mkdir -p $rtdir
- cp /var/tmp/dist/wasi-sysroot/lib/clang/9.0.0/lib/wasi/libclang_rt.builtins-wasm32.a $rtdir
+ cp /var/tmp/dist/wasi-sysroot/lib/clang/11.0.0/lib/wasi/libclang_rt.builtins-wasm32.a $rtdir
tar -C /var/tmp/dist -xf [% c('input_files_by_name/lucetc') %]
export PATH="/var/tmp/dist/lucetc/bin:$PATH"
export WASM_SANDBOXED_LIBRARIES=graphite,ogg
@@ -108,6 +108,8 @@ tar -C browser/extensions -xf $rootdir/[% c('input_files_by_name/tor-launcher')
rm -f configure
rm -f js/src/configure
+export MACH_USE_SYSTEM_PYTHON=1
+
# Android does not support --enable-bundled-fonts option
./mach configure --with-tor-browser-version=[% c("var/torbrowser_version") %] --with-distribution-id=org.torproject --enable-update-channel=[% c("var/channel") %] --enable-bundled-fonts --with-branding=[% c("var/branding_directory") %]
@@ -200,10 +202,10 @@ cd $distdir
# No need for an unstripped geckodriver
strip geckodriver
[% END %]
- mkdir -p $distdir/Debug/Browser/gtk2
+ mkdir -p $distdir/Debug/Browser
# Strip and generate debuginfo for the firefox binary that we keep, all *.so
# files, the plugin-container, and the updater (see ticket #10126)
- for LIB in Browser/*.so Browser/gtk2/*.so Browser/firefox.real Browser/plugin-container Browser/updater
+ for LIB in Browser/*.so Browser/firefox.real Browser/plugin-container Browser/updater
do
objcopy --only-keep-debug $LIB Debug/$LIB
strip $LIB
diff --git a/projects/lucetc/build b/projects/lucetc/build
index e06c272..5ff071f 100644
--- a/projects/lucetc/build
+++ b/projects/lucetc/build
@@ -35,7 +35,7 @@ tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
# Now prepare the offline build
# Move the directory for hardcoding the path in .cargo/config
mv /var/tmp/build/[% project %]-[% c('version') %] $builddir
-tar -C $builddir -xjf lucetc-vendor.tar.bz2
+tar -C $builddir -xf [% c('input_files_by_name/lucetc-vendor') %]
cd $builddir
# .cargo exists already, let's just add to it
cat >> .cargo/config << 'EOF'
diff --git a/projects/lucetc/config b/projects/lucetc/config
index 9c96214..8de3a8e 100644
--- a/projects/lucetc/config
+++ b/projects/lucetc/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
version: '[% c("abbrev") %]'
-git_hash: a0a1ce981638109f1f76cd1eecf17a0436a20055
+git_hash: d582d76bf0d17984501f3933688bf7a1eb5cf208
git_url: https://github.com/PLSysSec/lucet_sandbox_compiler/
git_submodule: 1
@@ -28,8 +28,9 @@ input_files:
- name: wasi-sysroot
project: wasi-sysroot
# Use `make cargo_vendor-lucetc` to re-generate the vendor tarball
- - URL: https://people.torproject.org/~gk/mirrors/sources/lucetc-vendor.tar.bz2
- sha256sum: 12ba97fca12177e7ed5b5409fcfdbd31dc7db2e82282768d99dee5bcb1b1246a
+ - name: lucetc-vendor
+ URL: 'https://people.torproject.org/~boklm/mirrors/sources/lucetc-vendor-[% c("version") %].tar.bz2'
+ sha256sum: 6b044ed76bc8870040174c8fbfa49c3a791b3aba7d32dd00cad541025eb16077
- filename: Remove-march-native-from-COMMON_CFLAGS.patch
steps:
diff --git a/projects/rust/build b/projects/rust/build
index 3d68e61..722aacc 100644
--- a/projects/rust/build
+++ b/projects/rust/build
@@ -14,6 +14,9 @@ cd /var/tmp/dist/rust-[% c('var/previous_version') %]-x86_64-unknown-linux-gnu
export PATH="$distdir-rust-old/bin:$PATH"
[% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
+[% IF c("var/linux") -%]
+ [% pc('python', 'var/setup', { python_tarfile => c('input_files_by_name/python') }) %]
+[% END -%]
[% IF c("var/osx") %]
# We need to clear `CC` and `LDFLAGS` as they are used for the host platform
diff --git a/projects/rust/config b/projects/rust/config
index 55bf544..1e79687 100644
--- a/projects/rust/config
+++ b/projects/rust/config
@@ -96,6 +96,9 @@ input_files:
sig_ext: asc
file_gpg_id: 1
gpg_keyring: rust.gpg
+ - project: python
+ name: python
+ enable: '[% c("var/linux") %]'
- filename: unwind.patch
enable: '[% c("var/windows-i686") %]'
- filename: 43909.patch
diff --git a/projects/wasi-sysroot/build b/projects/wasi-sysroot/build
index e66d1e0..8ab9524 100644
--- a/projects/wasi-sysroot/build
+++ b/projects/wasi-sysroot/build
@@ -21,13 +21,16 @@ tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
mv /var/tmp/build/[% project %]-[% c('version') %] $builddir
cd $builddir
-# We have no .git in our tar ball but the Makefile depends on that. Just
-# hard-code the version for now.
-patch -p1 < $rootdir/no-git.patch
+# We have no .git in our tar ball but the script version.sh used by
+# the Makefile depends on that. We replace the script.
+cat > 'version.sh' << EOF
+#!/bin/sh
+echo '[% c("abbrev") %]'
+EOF
# XXX: We don't want to use the clang 9.0 wasi-sdk would use, see:
# https://bugzilla.mozilla.org/show_bug.cgi?id=1605708
-make -j[% c("buildconf/num_procs") %] PREFIX=$distdir/[% project %]
+make -j[% c("buildconf/num_procs") %] PREFIX=$distdir/[% project %] DESTDIR=/
cd $distdir
[% c('tar', {
diff --git a/projects/wasi-sysroot/config b/projects/wasi-sysroot/config
index 683f682..96bf873 100644
--- a/projects/wasi-sysroot/config
+++ b/projects/wasi-sysroot/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
version: '[% c("abbrev") %]'
-git_hash: 5225b05436ce57f01fe649f411f3ff701246628b
+git_hash: b36c433738f0c29160a5ac1c1cee1b1b884bf4a0
git_url: https://github.com/CraneStation/wasi-sdk
git_submodule: 1
@@ -27,4 +27,3 @@ input_files:
project: cmake
- name: ninja
project: ninja
- - filename: no-git.patch
diff --git a/projects/wasi-sysroot/no-git.patch b/projects/wasi-sysroot/no-git.patch
deleted file mode 100644
index 27c3446..0000000
--- a/projects/wasi-sysroot/no-git.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 55a106779cd012f9cf5d6f46a7a3523de9ba93c3 Mon Sep 17 00:00:00 2001
-From: Georg Koppen <gk at torproject.org>
-Date: Sat, 7 Dec 2019 16:12:42 +0000
-Subject: [PATCH] No .git in our tarball
-
-
-diff --git a/Makefile b/Makefile
-index f09a901..dc114cb 100644
---- a/Makefile
-+++ b/Makefile
-@@ -6,11 +6,11 @@ LLVM_PROJ_DIR?=$(ROOT_DIR)/src/llvm-project
- PREFIX?=/opt/wasi-sdk
-
- CLANG_VERSION=$(shell ./llvm_version.sh $(LLVM_PROJ_DIR))
--VERSION:=$(shell ./version.sh)
--DEBUG_PREFIX_MAP=-fdebug-prefix-map=$(ROOT_DIR)=wasisdk://v$(VERSION)
-+#VERSION:=$(shell ./version.sh)
-+DEBUG_PREFIX_MAP=-fdebug-prefix-map=$(ROOT_DIR)=wasisdk://v8.1g5225b05436ce
-
- default: build
-- @echo "Use -fdebug-prefix-map=$(ROOT_DIR)=wasisdk://v$(VERSION)"
-+ @echo "Use -fdebug-prefix-map=$(ROOT_DIR)=wasisdk://v8.1g5225b05436ce"
-
- clean:
- rm -rf build $(PREFIX)
---
-2.24.0
-
diff --git a/rbm.conf b/rbm.conf
index d231de1..79f7917 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -369,13 +369,16 @@ targets:
torbrowser-linux-x86_64:
- linux-x86_64
- linux
+ - ff91esr
torbrowser-linux-x86_64-asan:
- linux-asan
- linux-x86_64
- linux
+ - ff91esr
torbrowser-linux-i686:
- linux-i686
- linux
+ - ff91esr
linux-x86_64:
arch: x86_64
var:
More information about the tbb-commits
mailing list