Merge m-c to autoland. a=merge

This commit is contained in:
Ryan VanderMeulen 2024-05-20 14:10:24 -04:00
commit 657651cbad
14 changed files with 107 additions and 117 deletions

View File

@ -446,7 +446,7 @@ def prune_final_dir_for_clang_tidy(final_dir, target):
if is_darwin(target) and name in ["libLLVM.dylib", "libclang-cpp.dylib"]:
continue
if is_linux(target) and (
fnmatch.fnmatch(name, "libLLVM*.so*")
fnmatch.fnmatch(name, "libLLVM*.so")
or fnmatch.fnmatch(name, "libclang-cpp.so*")
):
continue

View File

@ -9,18 +9,18 @@ Most of these changes just add/edit tests for the functionality. Only the
change to src/cargo/core/compiler/standard_lib.rs is important.
diff --git a/src/cargo/core/compiler/standard_lib.rs b/src/cargo/core/compiler/standard_lib.rs
index 9f96ca27d..80723c06b 100644
index c456c58d5..333389bc8 100644
--- a/src/cargo/core/compiler/standard_lib.rs
+++ b/src/cargo/core/compiler/standard_lib.rs
@@ -11,6 +11,7 @@ use crate::ops::{self, Packages};
use crate::util::errors::CargoResult;
use crate::GlobalContext;
use crate::Config;
use std::collections::{HashMap, HashSet};
+use std::fs;
use std::path::PathBuf;
use super::BuildConfig;
@@ -73,27 +74,45 @@ pub fn resolve_std<'gctx>(
@@ -73,27 +74,45 @@ pub fn resolve_std<'cfg>(
}
let src_path = detect_sysroot_src_path(target_data)?;

View File

@ -11,12 +11,12 @@ their contents are ignored in favour of the actual stdlib.
For firefox's purposes, these patches still work fine, and are necessary
to make -Zbuild-std work in a vendored environment.
diff --git a/src/bootstrap/src/core/build_steps/dist.rs b/src/bootstrap/src/core/build_steps/dist.rs
index 012d64e5344..aedb53358ef 100644
diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
index 3cb0eccd324..a3b8154c024 100644
--- a/src/bootstrap/src/core/build_steps/dist.rs
+++ b/src/bootstrap/src/core/build_steps/dist.rs
@@ -927,6 +927,31 @@ fn run(self, builder: &Builder<'_>) -> GeneratedTarball {
builder.copy_link(&builder.src.join(file), &dst_src.join(file));
@@ -905,6 +905,31 @@ fn run(self, builder: &Builder<'_>) -> GeneratedTarball {
builder.copy(&builder.src.join(file), &dst_src.join(file));
}
+ // libsysroot includes std and everything else, so vendoring it
@ -47,11 +47,11 @@ index 012d64e5344..aedb53358ef 100644
tarball.generate()
}
}
diff --git a/src/bootstrap/src/lib.rs b/src/bootstrap/src/lib.rs
index 5ed6b357e20..ad617948c4b 100644
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
index 3ed53452309..1fc0d887748 100644
--- a/src/bootstrap/src/lib.rs
+++ b/src/bootstrap/src/lib.rs
@@ -1649,6 +1649,27 @@ fn read_stamp_file(&self, stamp: &Path) -> Vec<(PathBuf, DependencyType)> {
@@ -1437,6 +1437,27 @@ fn read_stamp_file(&self, stamp: &Path) -> Vec<(PathBuf, DependencyType)> {
paths
}
@ -61,7 +61,7 @@ index 5ed6b357e20..ad617948c4b 100644
+ if self.config.dry_run() {
+ return;
+ }
+ self.verbose_than(1, || println!("Copy {:?} to {:?}", src, dst));
+ self.verbose_than(1, &format!("Copy {:?} to {:?}", src, dst));
+ if src == dst {
+ return;
+ }
@ -76,6 +76,6 @@ index 5ed6b357e20..ad617948c4b 100644
+ t!(filetime::set_file_times(dst, atime, mtime));
+ }
+
/// Links a file from `src` to `dst`.
/// Attempts to use hard links if possible, falling back to copying.
/// You can neither rely on this being a copy nor it being a link,
/// Copies a file from `src` to `dst`
pub fn copy(&self, src: &Path, dst: &Path) {
self.copy_internal(src, dst, false);

View File

@ -1066,10 +1066,3 @@
...
fun:upload_to_texture_cache
}
{
False positive from new optimizations in rustc 1.78
Memcheck:Cond
fun:drop_in_place<core::option::Option<cssparser::cow_rc_str::CowRcStr>>
fun:_ZN5style6values9specified5color5Color14parse_internal*
}

View File

@ -33,9 +33,6 @@ SOURCES += [
if CONFIG["OS_ARCH"] == "WINNT" and CONFIG["CC_TYPE"] == "clang-cl":
USE_INTEGRATED_CLANGCL_AS = True
# Work around https://github.com/llvm/llvm-project/issues/92229
# We don't need debug flags on the command line for this file anyways.
ASM_FLAGS["DEBUG"] = []
if CONFIG["TARGET_ENDIANNESS"] == "big":
GeneratedFile(

View File

@ -153,8 +153,8 @@ Here are the Rust versions for each Firefox version.
| Firefox 124 | Rust 1.76.0 | 1.70.0 | 2024 February 8 | 2024 February 15 | 2024 March 19
| Firefox 125 | Rust 1.76.0 | 1.74.0 | 2024 February 8 | 2024 March 14 | 2024 April 16
| Firefox 126 | Rust 1.77.2 | 1.74.0 | 2024 March 28 | 2024 April 11 | 2024 May 14
| Firefox 127 | Rust 1.77.2 | 1.76.0 | 2024 May 2 | 2024 May 9 | 2024 June 11
| **Estimated** |
| Firefox 127 | Rust 1.78.0 | 1.76.0 | 2024 May 2 | 2024 May 9 | 2024 June 11
| Firefox 128 | Rust 1.78.0 | ? | 2024 May 2 | 2024 June 6 | 2024 July 9
| Firefox 129 | Rust 1.79.0 | ? | 2024 June 13 | 2024 July 4 | 2024 August 6
| Firefox 130 | Rust 1.80.0 | ? | 2024 July 25 | 2024 August 1 | 2024 September 3

View File

@ -16,10 +16,10 @@ fn main() {
println!("cargo:rerun-if-changed=wrappers.cpp");
let ver = version().unwrap();
let max_oom_hook_version = Version::parse("1.79.0-alpha").unwrap();
let max_oom_hook_version = Version::parse("1.78.0-alpha").unwrap();
// The new alloc error panic feature was temporarily reverted. We kept the
// code in tree, but the version here is such that it's effectively never used.
let max_alloc_error_panic_version = Version::parse("1.79.0-alpha").unwrap();
let max_alloc_error_panic_version = Version::parse("1.78.0-alpha").unwrap();
if ver >= Version::parse("1.80.0-alpha").unwrap() {
println!("cargo::rustc-check-cfg=cfg(oom_with, values(\"hook\", \"alloc_error_panic\"))");

View File

@ -380,13 +380,13 @@ clang-trunk:
# We build stable rust from source so the resulting compiler acts as a nightly
# rust compiler, allowing to use unstable features like -Zbuild-std and
# sanitizers.
rust-1.78.0:
description: Rust 1.78.0 source code
rust-1.77.2:
description: Rust 1.77.2 source code
fetch:
type: git
include-dot-git: true
repo: https://github.com/rust-lang/rust/
revision: 9b00956e56009bab2aa15d7bff10916599e3d6d6
revision: 25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04
wasi-sdk-11:
description: wasi-sdk-11 source code

View File

@ -24,7 +24,7 @@ job-defaults:
- 'build/build-clang/build-clang.py'
fetches:
fetch:
- clang-18
- clang-17
linux64-clang-tidy:
index:
@ -39,7 +39,7 @@ linux64-clang-tidy:
- 'build/build-clang/clang-tidy-linux64.json'
fetches:
toolchain:
- linux64-clang-18
- linux64-clang-17
- linux64-toolchain-sysroot
macosx64-clang-tidy:
@ -58,7 +58,7 @@ macosx64-clang-tidy:
- 'build/build-clang/macosx64.json'
fetches:
toolchain:
- linux64-clang-18
- linux64-clang-17
- macosx64-sdk-toolchain
macosx64-aarch64-clang-tidy:
@ -79,7 +79,7 @@ macosx64-aarch64-clang-tidy:
- 'build/build-clang/macosx64-aarch64.json'
fetches:
toolchain:
- linux64-clang-18
- linux64-clang-17
- macosx64-sdk-toolchain
win64-clang-tidy:
@ -101,7 +101,7 @@ win64-clang-tidy:
- 'build/build-clang/win64.json'
fetches:
toolchain:
- linux64-clang-18
- linux64-clang-17
- vs-toolchain
- win64-libxml2
@ -124,5 +124,5 @@ linux64-clang-tidy-external:
fetch:
- civet-source
toolchain:
- linux64-clang-18
- linux64-clang-17
- linux64-toolchain-sysroot

View File

@ -122,6 +122,10 @@ linux64-clang-17-mingw-x86:
- 'x86'
resources:
- 'taskcluster/scripts/misc/mingw-*.patch'
toolchain-alias:
by-project:
toolchains: null
default: linux64-clang-mingw-x86
toolchain-artifact: public/build/clangmingw.tar.zst
fetches:
fetch:
@ -144,6 +148,10 @@ linux64-clang-17-mingw-x64:
- 'x64'
resources:
- 'taskcluster/scripts/misc/mingw-*.patch'
toolchain-alias:
by-project:
toolchains: null
default: linux64-clang-mingw-x64
toolchain-artifact: public/build/clangmingw.tar.zst
fetches:
fetch:
@ -169,6 +177,10 @@ linux64-clang-17-stage1:
- 'build/build-clang/linux64.json'
- 'build/build-clang/clang-17.json'
- 'build/build-clang/1stage.json'
toolchain-alias:
by-project:
toolchains: null
default: linux64-clang-toolchain
toolchain-artifact: public/build/clang.tar.zst
fetches:
fetch:
@ -238,6 +250,10 @@ linux64-clang-17:
max-run-time: 600
run:
script: repack-clang.sh
toolchain-alias:
by-project:
toolchains: null
default: linux64-clang
toolchain-artifact: public/build/clang.tar.zst
fetches:
toolchain:
@ -300,6 +316,12 @@ macosx64-clang-17:
max-run-time: 600
run:
script: repack-clang.sh
toolchain-alias:
by-project:
toolchains: null
default:
- macosx64-clang
- macosx64-clang-toolchain
toolchain-artifact: public/build/clang.tar.zst
fetches:
toolchain:
@ -364,6 +386,10 @@ macosx64-aarch64-clang-17:
max-run-time: 600
run:
script: repack-clang.sh
toolchain-alias:
by-project:
toolchains: null
default: macosx64-aarch64-clang
toolchain-artifact: public/build/clang.tar.zst
fetches:
toolchain:
@ -400,6 +426,10 @@ win64-clang-17-stage1:
- 'build/build-clang/win64.json'
- 'build/build-clang/clang-17.json'
- 'build/build-clang/1stage.json'
toolchain-alias:
by-project:
toolchains: null
default: win64-clang-toolchain
toolchain-artifact: public/build/clang.tar.zst
fetches:
fetch:
@ -451,6 +481,10 @@ win64-clang-17:
max-run-time: 600
run:
script: repack-clang.sh
toolchain-alias:
by-project:
toolchains: null
default: win64-clang
toolchain-artifact: public/build/clang.tar.zst
fetches:
toolchain:
@ -484,10 +518,6 @@ linux64-clang-18-mingw-x86:
- 'x86'
resources:
- 'taskcluster/scripts/misc/mingw-*.patch'
toolchain-alias:
by-project:
toolchains: null
default: linux64-clang-mingw-x86
toolchain-artifact: public/build/clangmingw.tar.zst
fetches:
fetch:
@ -510,10 +540,6 @@ linux64-clang-18-mingw-x64:
- 'x64'
resources:
- 'taskcluster/scripts/misc/mingw-*.patch'
toolchain-alias:
by-project:
toolchains: null
default: linux64-clang-mingw-x64
toolchain-artifact: public/build/clangmingw.tar.zst
fetches:
fetch:
@ -539,10 +565,6 @@ linux64-clang-18-stage1:
- 'build/build-clang/linux64.json'
- 'build/build-clang/clang-18.json'
- 'build/build-clang/1stage.json'
toolchain-alias:
by-project:
toolchains: null
default: linux64-clang-toolchain
toolchain-artifact: public/build/clang.tar.zst
fetches:
fetch:
@ -612,10 +634,6 @@ linux64-clang-18:
max-run-time: 600
run:
script: repack-clang.sh
toolchain-alias:
by-project:
toolchains: null
default: linux64-clang
toolchain-artifact: public/build/clang.tar.zst
fetches:
toolchain:
@ -678,12 +696,6 @@ macosx64-clang-18:
max-run-time: 600
run:
script: repack-clang.sh
toolchain-alias:
by-project:
toolchains: null
default:
- macosx64-clang
- macosx64-clang-toolchain
toolchain-artifact: public/build/clang.tar.zst
fetches:
toolchain:
@ -748,10 +760,6 @@ macosx64-aarch64-clang-18:
max-run-time: 600
run:
script: repack-clang.sh
toolchain-alias:
by-project:
toolchains: null
default: macosx64-aarch64-clang
toolchain-artifact: public/build/clang.tar.zst
fetches:
toolchain:
@ -788,10 +796,6 @@ win64-clang-18-stage1:
- 'build/build-clang/win64.json'
- 'build/build-clang/clang-18.json'
- 'build/build-clang/1stage.json'
toolchain-alias:
by-project:
toolchains: null
default: win64-clang-toolchain
toolchain-artifact: public/build/clang.tar.zst
fetches:
fetch:
@ -843,10 +847,6 @@ win64-clang-18:
max-run-time: 600
run:
script: repack-clang.sh
toolchain-alias:
by-project:
toolchains: null
default: win64-clang
toolchain-artifact: public/build/clang.tar.zst
fetches:
toolchain:

View File

@ -23,6 +23,10 @@ linux32-llvm-symbolizer-17:
- build/build-clang/clang-17.json
- build/build-clang/llvm-symbolizer-17.json
- taskcluster/scripts/misc/build-llvm-common.sh
toolchain-alias:
by-project:
toolchains: null
default: linux32-llvm-symbolizer
fetches:
fetch:
- clang-17
@ -43,6 +47,10 @@ linux64-llvm-symbolizer-17:
- build/build-clang/clang-17.json
- build/build-clang/llvm-symbolizer-17.json
- taskcluster/scripts/misc/build-llvm-common.sh
toolchain-alias:
by-project:
toolchains: null
default: linux64-llvm-symbolizer
fetches:
fetch:
- clang-17
@ -63,6 +71,10 @@ macosx64-llvm-symbolizer-17:
- build/build-clang/clang-17.json
- build/build-clang/llvm-symbolizer-17.json
- taskcluster/scripts/misc/build-llvm-common.sh
toolchain-alias:
by-project:
toolchains: null
default: macosx64-llvm-symbolizer
fetches:
fetch:
- clang-17
@ -83,6 +95,10 @@ macosx64-aarch64-llvm-symbolizer-17:
- build/build-clang/clang-17.json
- build/build-clang/llvm-symbolizer-17.json
- taskcluster/scripts/misc/build-llvm-common.sh
toolchain-alias:
by-project:
toolchains: null
default: macosx64-aarch64-llvm-symbolizer
fetches:
fetch:
- clang-17
@ -103,6 +119,10 @@ win64-llvm-symbolizer-17:
- build/build-clang/clang-17.json
- build/build-clang/llvm-symbolizer-17.json
- taskcluster/scripts/misc/build-llvm-common.sh
toolchain-alias:
by-project:
toolchains: null
default: win64-llvm-symbolizer
fetches:
fetch:
- clang-17
@ -123,10 +143,6 @@ linux32-llvm-symbolizer-18:
- build/build-clang/clang-18.json
- build/build-clang/llvm-symbolizer-18.json
- taskcluster/scripts/misc/build-llvm-common.sh
toolchain-alias:
by-project:
toolchains: null
default: linux32-llvm-symbolizer
fetches:
fetch:
- clang-18
@ -147,10 +163,6 @@ linux64-llvm-symbolizer-18:
- build/build-clang/clang-18.json
- build/build-clang/llvm-symbolizer-18.json
- taskcluster/scripts/misc/build-llvm-common.sh
toolchain-alias:
by-project:
toolchains: null
default: linux64-llvm-symbolizer
fetches:
fetch:
- clang-18
@ -171,10 +183,6 @@ macosx64-llvm-symbolizer-18:
- build/build-clang/clang-18.json
- build/build-clang/llvm-symbolizer-18.json
- taskcluster/scripts/misc/build-llvm-common.sh
toolchain-alias:
by-project:
toolchains: null
default: macosx64-llvm-symbolizer
fetches:
fetch:
- clang-18
@ -195,10 +203,6 @@ macosx64-aarch64-llvm-symbolizer-18:
- build/build-clang/clang-18.json
- build/build-clang/llvm-symbolizer-18.json
- taskcluster/scripts/misc/build-llvm-common.sh
toolchain-alias:
by-project:
toolchains: null
default: macosx64-aarch64-llvm-symbolizer
fetches:
fetch:
- clang-18
@ -219,10 +223,6 @@ win64-llvm-symbolizer-18:
- build/build-clang/clang-18.json
- build/build-clang/llvm-symbolizer-18.json
- taskcluster/scripts/misc/build-llvm-common.sh
toolchain-alias:
by-project:
toolchains: null
default: win64-llvm-symbolizer
fetches:
fetch:
- clang-18

View File

@ -26,12 +26,12 @@ linux64-rust-1.76:
- linux64-rust-base
- linux64-rust-toolchain
linux64-rust-1.78:
linux64-rust-1.77:
treeherder:
symbol: TL(rust)
run:
arguments: [
'--channel', '1.78.0',
'--channel', '1.77.2',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'i686-unknown-linux-gnu',
@ -62,18 +62,18 @@ linux64-rust-dev:
]
fetches:
fetch:
- rust-1.78.0
- rust-1.77.2
toolchain:
- linux64-clang-toolchain
- linux64-toolchain-sysroot
linux64-rust-cross-1.78:
linux64-rust-cross-1.77:
description: "rust repack with macos and windows cross support"
treeherder:
symbol: TL(rust-cross)
run:
arguments: [
'--channel', '1.78.0',
'--channel', '1.77.2',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'i686-unknown-linux-gnu',
@ -90,13 +90,13 @@ linux64-rust-cross-1.78:
]
toolchain-alias: linux64-rust-cross
linux64-rust-static-1.78:
linux64-rust-static-1.77:
description: "rust repack with static linking support"
treeherder:
symbol: TL(rust-static)
run:
arguments: [
'--channel', '1.78.0',
'--channel', '1.77.2',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'aarch64-unknown-linux-musl',
'--target', 'x86_64-unknown-linux-gnu',
@ -120,13 +120,13 @@ linux64-rust-macos-1.70:
]
toolchain-alias: linux64-rust-macos-toolchain
linux64-rust-macos-1.78:
linux64-rust-macos-1.77:
description: "rust repack with macos-cross support"
treeherder:
symbol: TL(rust-macos)
run:
arguments: [
'--channel', '1.78.0',
'--channel', '1.77.2',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-apple-darwin',
@ -134,13 +134,13 @@ linux64-rust-macos-1.78:
]
toolchain-alias: linux64-rust-macos
linux64-rust-ios-1.78:
linux64-rust-ios-1.77:
description: "rust repack with ios-cross support"
treeherder:
symbol: TL(rust-ios)
run:
arguments: [
'--channel', '1.78.0',
'--channel', '1.77.2',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'aarch64-apple-ios',
@ -148,13 +148,13 @@ linux64-rust-ios-1.78:
]
toolchain-alias: linux64-rust-ios
linux64-rust-android-1.78:
linux64-rust-android-1.77:
description: "rust repack with android-cross support"
treeherder:
symbol: TL(rust-android)
run:
arguments: [
'--channel', '1.78.0',
'--channel', '1.77.2',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'armv7-linux-androideabi',
@ -179,13 +179,13 @@ linux64-rust-windows-1.70:
]
toolchain-alias: linux64-rust-windows-toolchain
linux64-rust-windows-1.78:
linux64-rust-windows-1.77:
description: "rust repack with windows-cross support"
treeherder:
symbol: TL(rust-win)
run:
arguments: [
'--channel', '1.78.0',
'--channel', '1.77.2',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-pc-windows-msvc',
@ -194,12 +194,12 @@ linux64-rust-windows-1.78:
]
toolchain-alias: linux64-rust-windows
win64-rust-1.78:
win64-rust-1.77:
treeherder:
symbol: TW64(rust)
run:
arguments: [
'--channel', '1.78.0',
'--channel', '1.77.2',
'--host', 'x86_64-pc-windows-msvc',
'--target', 'x86_64-pc-windows-msvc',
'--target', 'i686-pc-windows-msvc',
@ -207,23 +207,23 @@ win64-rust-1.78:
]
toolchain-alias: win64-rust
macosx64-rust-1.78:
macosx64-rust-1.77:
treeherder:
symbol: TM(rust)
run:
arguments: [
'--channel', '1.78.0',
'--channel', '1.77.2',
'--host', 'x86_64-apple-darwin',
'--target', 'x86_64-apple-darwin',
]
toolchain-alias: macosx64-rust
mingw32-rust-1.78:
mingw32-rust-1.77:
treeherder:
symbol: TMW(rust)
run:
arguments: [
'--channel', '1.78.0',
'--channel', '1.77.2',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'i686-unknown-linux-gnu',
'--target', 'i686-pc-windows-gnu',

View File

@ -89,6 +89,10 @@ sysroot-wasm32-wasi-clang-17:
- wasi-sdk.patch
resources:
- taskcluster/scripts/misc/wasi-sdk.patch
toolchain-alias:
by-project:
toolchains: null
default: sysroot-wasm32-wasi
toolchain-artifact: public/build/sysroot-wasm32-wasi.tar.zst
fetches:
fetch:
@ -110,10 +114,6 @@ sysroot-wasm32-wasi-clang-18:
- wasi-sdk.patch
resources:
- taskcluster/scripts/misc/wasi-sdk.patch
toolchain-alias:
by-project:
toolchains: null
default: sysroot-wasm32-wasi
toolchain-artifact: public/build/sysroot-wasm32-wasi.tar.zst
fetches:
fetch:

View File

@ -19,7 +19,7 @@ platforms:
# Minimum clang-tidy version that is required for all the following checkers
# to work properly.
# This is also used by 'mach clang-format'
package_version: "18.1.5"
package_version: "17.0.6"
clang_checkers:
- name: -*
publish: !!bool no