Skip to content
Snippets Groups Projects
Verified Commit 90cccdd8 authored by Pier Angelo Vendrame's avatar Pier Angelo Vendrame :jack_o_lantern:
Browse files

Bug 41448: Update toolchains for ESR140 (common).

Switch to Clang 19.1.7, Rust 1.86.0, nasm 2.16.03.
parent b428d050
Branches
Tags
1 merge request!1212Bug 41448: Desktop toolchain update
# vim: filetype=yaml sw=2
version: 0.26.0
git_url: https://github.com/eqrion/cbindgen
git_hash: 703b53c06f9fe2dbc0193d67626558cfa84a0f62
version: 0.28.0
git_url: https://github.com/mozilla/cbindgen
git_hash: bd78bbe59b10eda6ef1255e4acda95c56c6d0279
container:
use_container: 1
......@@ -16,4 +16,4 @@ steps:
project: cbindgen
pkg_type: cargo_vendor
norec:
sha256sum: 50cf77f33397639e401e7139997ec088d3106c4d37b86ea2e89e4a9af2a99fce
sha256sum: 5bdbbb834e2230454041251c61994450e41dc793c510b45ed7b0b392e743c03f
......@@ -14,6 +14,7 @@ sub as_array {
}
my $d = YAML::XS::LoadFile('taskcluster/kinds/toolchain/rust.yml');
foreach my $t (keys %$d) {
next unless ref $d->{$t}{run}{'toolchain-alias'} eq 'HASH';
my $talias = as_array($d->{$t}{run}{'toolchain-alias'}{'by-project'}{default});
if (grep { $_ eq '[% toolchain_alias %]' } @$talias) {
my $channel;
......@@ -91,13 +92,11 @@ check_update_needed clang "$needed" "$current"
# cbindgen
read -d '' p << 'EOF' || true
if (m/^\\s*cbindgen_min_version\\s*=\\s*Version\\("([^"]+)"\\)/) {
print $1;
exit;
}
my $fetch = YAML::XS::LoadFile('taskcluster/kinds/fetch/toolchains.yml');
print $fetch->{cbindgen}{fetch}{revision};
EOF
needed=$(cat build/moz.configure/bindgen.configure | perl -ne "$p")
current='[% pc("cbindgen", "version") %]'
needed=$(perl -MYAML::XS -e "$p")
current='[% pc("cbindgen", "git_hash") %]'
check_update_needed cbindgen "$needed" "$current"
......@@ -108,7 +107,7 @@ my $linux64 = 'linux64-nasm';
print substr $nasm->{$linux64}{'fetches'}{'fetch'}[0], 5;
EOF
needed=$(perl -MYAML::XS -e "$p")
current='2.15.05'
current='[% pc("nasm", "version") %]'
check_update_needed nasm "$needed" "$current"
......@@ -152,5 +151,5 @@ if (m/^\\s*"Bootstrap currently only runs on Python ([^"]+)\\."/) {
}
EOF
needed=$(cat python/mozboot/bin/bootstrap.py | perl -ne "$p")
current="3.8+" # 3.11.x on Debian bookworm and on our python project
current="3.8+" # 3.11.x on Debian bookworm, 3.9.20 on our python project
check_update_needed python "$needed" "$current"
......@@ -194,7 +194,7 @@ RBM_TB_EOF
popd
[% END -%]
cp -L obj-*/dist/bin/geckodriver* $distdir
cp -L obj-*/dist/host/bin/geckodriver* $distdir
[% IF c("var/updater_enabled") -%]
# Make MAR-based update tools available for use during the bundle phase.
......@@ -213,10 +213,10 @@ cp -L obj-*/dist/bin/geckodriver* $distdir
cp -p obj-*/dist/bin/certutil $MARTOOLS/
cp -p obj-*/dist/bin/pk12util $MARTOOLS/
[% IF c("var/linux") -%]
NSS_LIBS="libfreeblpriv3.so libmozsqlite3.so libnss3.so libnssckbi.so libnssutil3.so libsmime3.so libsoftokn3.so libssl3.so"
NSS_LIBS="libfreeblpriv3.so libmozsqlite3.so libnss3.so libnssutil3.so libsmime3.so libsoftokn3.so libssl3.so"
NSPR_LIBS="libnspr4.so libplc4.so libplds4.so"
[% ELSE -%]
NSS_LIBS="libfreebl3.dylib libmozglue.dylib libnss3.dylib libnssckbi.dylib libsoftokn3.dylib"
NSS_LIBS="libfreebl3.dylib libmozglue.dylib libnss3.dylib libsoftokn3.dylib"
# No NSPR_LIBS for macOS
NSPR_LIBS=""
[% END -%]
......@@ -228,7 +228,7 @@ cp -L obj-*/dist/bin/geckodriver* $distdir
cp -p obj-*/dist/bin/signmar.exe $MARTOOLS/
cp -p obj-*/dist/bin/certutil.exe $MARTOOLS/
cp -p obj-*/dist/bin/pk12util.exe $MARTOOLS/
NSS_LIBS="freebl3.dll mozglue.dll nss3.dll nssckbi.dll softokn3.dll"
NSS_LIBS="freebl3.dll mozglue.dll nss3.dll softokn3.dll"
for LIB in $NSS_LIBS; do
cp -p obj-*/dist/bin/$LIB $MARTOOLS/
done
......
......
......@@ -16,9 +16,9 @@ container:
use_container: 1
var:
firefox_platform_version: '128.11.0'
firefox_version: '[% c("var/firefox_platform_version") %]esr'
browser_series: '14.5'
firefox_platform_version: '140.0a1'
firefox_version: '[% c("var/firefox_platform_version") %]'
browser_series: '15.0'
browser_rebase: 1
browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]'
browser_build: 1
......@@ -86,8 +86,8 @@ steps:
version: '[% c("abbrev") %]'
list_toolchain_updates:
git_hash: tor-browser-128.0b1-14.0-1
tag_gpg_id: 0
git_hash: FIREFOX_NIGHTLY_140_END
tag_gpg_id: 1
input_files: []
container:
use_container: 0
......
......
......@@ -18,9 +18,9 @@ container:
build_apk: 1
var:
firefox_platform_version: '128.11.0'
geckoview_version: '[% c("var/firefox_platform_version") %]esr'
browser_series: '14.5'
firefox_platform_version: '140.0a1'
geckoview_version: '[% c("var/firefox_platform_version") %]'
browser_series: '15.0'
browser_rebase: 1
browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]'
browser_build: 1
......
......
# vim: filetype=yaml sw=2
version: "[% c('var/llvm_major') %].1.5"
git_hash: 617a15a9eac96088ae5e9134248d8236e34b91b1
version: "[% c('var/llvm_major') %].1.7"
git_hash: cd708029e0b2869e80abe31ddb175f7c35361f90
git_url: https://github.com/llvm/llvm-project
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
var:
llvm_major: 18
llvm_major: 19
input_files:
......@@ -7,7 +7,7 @@ container:
use_container: 1
var:
ubuntu_version: 22.04.3
ubuntu_version: 24.04.2
pre: |
#!/bin/sh
......@@ -68,4 +68,4 @@ input_files:
name: mmdebstrap
- URL: 'https://cdimage.ubuntu.com/ubuntu-base/releases/[% c("var/ubuntu_version") %]/release/ubuntu-base-[% c("var/ubuntu_version") %]-base-amd64.tar.gz'
filename: 'container-image_ubuntu-base-[% c("var/ubuntu_version") %]-base-amd64.tar.gz'
sha256sum: ad33b7ae47b75c92c2e2fe21fd4612e15357e67679d8751d6ce892a475be24fe
sha256sum: f35c5aa75ee20c8e5d4b5f5cac1ba8d76bd39532078fab19dcfa59cf3e0841b8
# vim: filetype=yaml sw=2
version: 2.15.05
version: 2.16.03
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
container:
use_container: 1
......@@ -10,4 +10,4 @@ input_files:
name: '[% c("var/compiler") %]'
enable: '[% c("var/linux") %]'
- URL: 'https://www.nasm.us/pub/nasm/releasebuilds/[% c("version") %]/nasm-[% c("version") %].tar.xz'
sha256sum: 3caf6729c1073bf96629b57cee31eeb54f4f8129b01902c73428836550b30a3f
sha256sum: 1412a1c760bbd05db026b6c0d1657affd6631cd0a63cddb6f73cc6d4aa616148
......@@ -4,8 +4,8 @@ filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.[% c("co
container:
use_container: 1
var:
node_version: 18.19.0
node_sha256: f52b41af20596a9abd8ed75241837ec43945468221448bbf841361e2091819b6
node_version: 22.11.0
node_sha256: bbf0297761d53aefda9d7855c57c7d2c272b83a7b5bad4fea9cb29006d8e1d35
no_crosscompile: 1
input_files:
......
......
......@@ -22,9 +22,28 @@ export PATH="$distdir-rust-prebuilt/bin:$PATH"
export LLVM_CONFIG="/var/tmp/dist/clang/bin/llvm-config"
export CC=clang
export CXX=clang++
export CFLAGS='--gcc-toolchain=/var/tmp/dist/gcc'
export CXXFLAGS='--gcc-toolchain=/var/tmp/dist/gcc'
export RUSTFLAGS="-L/var/tmp/dist/gcc/lib64"
# The cc crate ignores CFLAGS/CXXFLAGS for some reason...
# So replace clang (usually a link to clang-VV) and clang++ (usually a link
# to clang) with helper scripts.
pushd /var/tmp/dist/clang/bin
# It will fail if clang is not a script anymore.
clang=$(readlink clang)
rm clang clang++
cat <<EOF >clang
#!/bin/sh
DIR="\$(cd "\$(dirname "\$0")" && pwd)"
\$DIR/$clang --gcc-toolchain=/var/tmp/dist/gcc "\$@"
EOF
chmod +x clang
cat <<EOF >clang++
#!/bin/sh
DIR="\$(cd "\$(dirname "\$0")" && pwd)"
\$DIR/$clang --gcc-toolchain=/var/tmp/dist/gcc --driver-mode=g++ "\$@"
EOF
chmod +x clang++
popd
[% ELSIF c("var/macos") -%]
# We need to clear `CC` and `LDFLAGS` as they are used for the host platform
# (i.e. Linux).
......
......
# vim: filetype=yaml sw=2
filename: '[% project %]-[% c("version") %]-[% c("var/filename_targets") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
version: '1.78.0'
version: '1.86.0'
container:
use_container: 1
......
......
......@@ -77,5 +77,5 @@ input_files:
project: wasi-libc
pkg_type: build
# taskcluster/scripts/misc/wasi-sdk.patch from Firefox's source code.
# Taken from gecko-dev@823106ac4295f822717f5a953047dc89074d632b
# Taken from gecko-dev@d1ed0165377c8d426ea0574194fecd37f167f313
- filename: wasi-sdk.patch
......@@ -42,7 +42,7 @@ index f350ecb..3b73115 100644
grep '^_*imported_wasi_' "$(UNDEFINED_SYMBOLS)" \
> "$(SYSROOT_LIB)/libc.imports"
@@ -671,10 +671,16 @@ check-symbols: startup_files libc
@@ -671,10 +671,21 @@ 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.
......@@ -50,25 +50,33 @@ index f350ecb..3b73115 100644
+ @# TODO: Filter out __FLT128_* that are new to clang 18.
+ @# TODO: Filter out __MEMORY_SCOPE_* that are new to clang 18.
+ @# TODO: Filter out __GCC_(CON|DE)STRUCTIVE_SIZE that are new to clang 19.
+ @# TODO: Filter out __STDC_EMBED_* that are new to clang 19.
+ @# TODO: Filter out __*_NORM_MAX__ that are new to clang 19.
+ @# TODO: Filter out __*INT*_C() that are new to clang 20.
@# 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
@# clang 16 for -mcpu=generic.
+ @# TODO: Undefine __wasm_multivalue__ and __wasm_reference_types__, that are new to
+ @# clang 19 for -mcpu=generic.
+ @# TODO: Undefine __wasm_nontrapping_fptoint__, __wasm_bulk_memory__ and
+ @# __wasm_bulk_memory_opt__, that are new to clang 20.
@# TODO: As of clang 16, __GNUC_VA_LIST is #defined without a value.
$(CC) $(CFLAGS) "$(SYSROOT_SHARE)/include-all.c" \
-isystem $(SYSROOT_INC) \
@@ -691,6 +697,8 @@ check-symbols: startup_files libc
@@ -691,6 +701,11 @@ check-symbols: startup_files libc
-U__clang_wide_literal_encoding__ \
-U__wasm_mutable_globals__ \
-U__wasm_sign_ext__ \
+ -U__wasm_multivalue__ \
+ -U__wasm_reference_types__ \
+ -U__wasm_nontrapping_fptoint__ \
+ $(if $(filter-out wasm32-wasi-threads,$(TARGET_TRIPLE)),-U__wasm_bulk_memory__) \
+ -U__wasm_bulk_memory_opt__ \
-U__GNUC__ \
-U__GNUC_MINOR__ \
-U__GNUC_PATCHLEVEL__ \
@@ -702,6 +710,10 @@ check-symbols: startup_files libc
@@ -702,6 +717,13 @@ 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\)' \
......@@ -76,6 +84,9 @@ index f350ecb..3b73115 100644
+ | grep -v '^#define __FLT128_' \
+ | grep -v '^#define __MEMORY_SCOPE_' \
+ | grep -v '^#define __GCC_\(CON\|DE\)STRUCTIVE_SIZE' \
+ | grep -v '^#define __STDC_EMBED_' \
+ | grep -v '^#define __\(DBL\|FLT\|LDBL\)_NORM_MAX__' \
+ | grep -v '^#define __U\?INT.*_C(' \
> "$(SYSROOT_SHARE)/predefined-macros.txt"
# Check that the computed metadata matches the expected metadata.
......@@ -73,7 +73,7 @@ buildconf:
git_signtag_opt: '-s'
var:
torbrowser_version: '14.5a6'
torbrowser_version: '15.0a1'
torbrowser_build: 'build1'
# This should be the date of when the build is started. For the build
# to be reproducible, browser_release_date should always be in the past.
......
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment