mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-05 22:05:40 +00:00
Bug 1878764 - Update builders to rustc 1.78. r=firefox-build-system-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D208953
This commit is contained in:
parent
42354bc6ca
commit
05d708653f
@ -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 c456c58d5..333389bc8 100644
|
||||
index 9f96ca27d..80723c06b 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::Config;
|
||||
use crate::GlobalContext;
|
||||
use std::collections::{HashMap, HashSet};
|
||||
+use std::fs;
|
||||
use std::path::PathBuf;
|
||||
|
||||
use super::BuildConfig;
|
||||
@@ -73,27 +74,45 @@ pub fn resolve_std<'cfg>(
|
||||
@@ -73,27 +74,45 @@ pub fn resolve_std<'gctx>(
|
||||
}
|
||||
|
||||
let src_path = detect_sysroot_src_path(target_data)?;
|
||||
|
@ -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/dist.rs b/src/bootstrap/dist.rs
|
||||
index 3cb0eccd324..a3b8154c024 100644
|
||||
diff --git a/src/bootstrap/src/core/build_steps/dist.rs b/src/bootstrap/src/core/build_steps/dist.rs
|
||||
index 012d64e5344..aedb53358ef 100644
|
||||
--- a/src/bootstrap/src/core/build_steps/dist.rs
|
||||
+++ b/src/bootstrap/src/core/build_steps/dist.rs
|
||||
@@ -905,6 +905,31 @@ fn run(self, builder: &Builder<'_>) -> GeneratedTarball {
|
||||
builder.copy(&builder.src.join(file), &dst_src.join(file));
|
||||
@@ -927,6 +927,31 @@ fn run(self, builder: &Builder<'_>) -> GeneratedTarball {
|
||||
builder.copy_link(&builder.src.join(file), &dst_src.join(file));
|
||||
}
|
||||
|
||||
+ // libsysroot includes std and everything else, so vendoring it
|
||||
@ -47,11 +47,11 @@ index 3cb0eccd324..a3b8154c024 100644
|
||||
tarball.generate()
|
||||
}
|
||||
}
|
||||
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
|
||||
index 3ed53452309..1fc0d887748 100644
|
||||
diff --git a/src/bootstrap/src/lib.rs b/src/bootstrap/src/lib.rs
|
||||
index 5ed6b357e20..ad617948c4b 100644
|
||||
--- a/src/bootstrap/src/lib.rs
|
||||
+++ b/src/bootstrap/src/lib.rs
|
||||
@@ -1437,6 +1437,27 @@ fn read_stamp_file(&self, stamp: &Path) -> Vec<(PathBuf, DependencyType)> {
|
||||
@@ -1649,6 +1649,27 @@ fn read_stamp_file(&self, stamp: &Path) -> Vec<(PathBuf, DependencyType)> {
|
||||
paths
|
||||
}
|
||||
|
||||
@ -61,7 +61,7 @@ index 3ed53452309..1fc0d887748 100644
|
||||
+ if self.config.dry_run() {
|
||||
+ return;
|
||||
+ }
|
||||
+ self.verbose_than(1, &format!("Copy {:?} to {:?}", src, dst));
|
||||
+ self.verbose_than(1, || println!("Copy {:?} to {:?}", src, dst));
|
||||
+ if src == dst {
|
||||
+ return;
|
||||
+ }
|
||||
@ -76,6 +76,6 @@ index 3ed53452309..1fc0d887748 100644
|
||||
+ t!(filetime::set_file_times(dst, atime, mtime));
|
||||
+ }
|
||||
+
|
||||
/// Copies a file from `src` to `dst`
|
||||
pub fn copy(&self, src: &Path, dst: &Path) {
|
||||
self.copy_internal(src, dst, false);
|
||||
/// 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,
|
||||
|
@ -1066,3 +1066,10 @@
|
||||
...
|
||||
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*
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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.78.0-alpha").unwrap();
|
||||
let max_oom_hook_version = Version::parse("1.79.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.78.0-alpha").unwrap();
|
||||
let max_alloc_error_panic_version = Version::parse("1.79.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\"))");
|
||||
|
@ -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.77.2:
|
||||
description: Rust 1.77.2 source code
|
||||
rust-1.78.0:
|
||||
description: Rust 1.78.0 source code
|
||||
fetch:
|
||||
type: git
|
||||
include-dot-git: true
|
||||
repo: https://github.com/rust-lang/rust/
|
||||
revision: 25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04
|
||||
revision: 9b00956e56009bab2aa15d7bff10916599e3d6d6
|
||||
|
||||
wasi-sdk-11:
|
||||
description: wasi-sdk-11 source code
|
||||
|
@ -26,12 +26,12 @@ linux64-rust-1.76:
|
||||
- linux64-rust-base
|
||||
- linux64-rust-toolchain
|
||||
|
||||
linux64-rust-1.77:
|
||||
linux64-rust-1.78:
|
||||
treeherder:
|
||||
symbol: TL(rust)
|
||||
run:
|
||||
arguments: [
|
||||
'--channel', '1.77.2',
|
||||
'--channel', '1.78.0',
|
||||
'--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.77.2
|
||||
- rust-1.78.0
|
||||
toolchain:
|
||||
- linux64-clang-toolchain
|
||||
- linux64-toolchain-sysroot
|
||||
|
||||
linux64-rust-cross-1.77:
|
||||
linux64-rust-cross-1.78:
|
||||
description: "rust repack with macos and windows cross support"
|
||||
treeherder:
|
||||
symbol: TL(rust-cross)
|
||||
run:
|
||||
arguments: [
|
||||
'--channel', '1.77.2',
|
||||
'--channel', '1.78.0',
|
||||
'--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.77:
|
||||
]
|
||||
toolchain-alias: linux64-rust-cross
|
||||
|
||||
linux64-rust-static-1.77:
|
||||
linux64-rust-static-1.78:
|
||||
description: "rust repack with static linking support"
|
||||
treeherder:
|
||||
symbol: TL(rust-static)
|
||||
run:
|
||||
arguments: [
|
||||
'--channel', '1.77.2',
|
||||
'--channel', '1.78.0',
|
||||
'--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.77:
|
||||
linux64-rust-macos-1.78:
|
||||
description: "rust repack with macos-cross support"
|
||||
treeherder:
|
||||
symbol: TL(rust-macos)
|
||||
run:
|
||||
arguments: [
|
||||
'--channel', '1.77.2',
|
||||
'--channel', '1.78.0',
|
||||
'--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.77:
|
||||
]
|
||||
toolchain-alias: linux64-rust-macos
|
||||
|
||||
linux64-rust-ios-1.77:
|
||||
linux64-rust-ios-1.78:
|
||||
description: "rust repack with ios-cross support"
|
||||
treeherder:
|
||||
symbol: TL(rust-ios)
|
||||
run:
|
||||
arguments: [
|
||||
'--channel', '1.77.2',
|
||||
'--channel', '1.78.0',
|
||||
'--host', 'x86_64-unknown-linux-gnu',
|
||||
'--target', 'x86_64-unknown-linux-gnu',
|
||||
'--target', 'aarch64-apple-ios',
|
||||
@ -148,13 +148,13 @@ linux64-rust-ios-1.77:
|
||||
]
|
||||
toolchain-alias: linux64-rust-ios
|
||||
|
||||
linux64-rust-android-1.77:
|
||||
linux64-rust-android-1.78:
|
||||
description: "rust repack with android-cross support"
|
||||
treeherder:
|
||||
symbol: TL(rust-android)
|
||||
run:
|
||||
arguments: [
|
||||
'--channel', '1.77.2',
|
||||
'--channel', '1.78.0',
|
||||
'--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.77:
|
||||
linux64-rust-windows-1.78:
|
||||
description: "rust repack with windows-cross support"
|
||||
treeherder:
|
||||
symbol: TL(rust-win)
|
||||
run:
|
||||
arguments: [
|
||||
'--channel', '1.77.2',
|
||||
'--channel', '1.78.0',
|
||||
'--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.77:
|
||||
]
|
||||
toolchain-alias: linux64-rust-windows
|
||||
|
||||
win64-rust-1.77:
|
||||
win64-rust-1.78:
|
||||
treeherder:
|
||||
symbol: TW64(rust)
|
||||
run:
|
||||
arguments: [
|
||||
'--channel', '1.77.2',
|
||||
'--channel', '1.78.0',
|
||||
'--host', 'x86_64-pc-windows-msvc',
|
||||
'--target', 'x86_64-pc-windows-msvc',
|
||||
'--target', 'i686-pc-windows-msvc',
|
||||
@ -207,23 +207,23 @@ win64-rust-1.77:
|
||||
]
|
||||
toolchain-alias: win64-rust
|
||||
|
||||
macosx64-rust-1.77:
|
||||
macosx64-rust-1.78:
|
||||
treeherder:
|
||||
symbol: TM(rust)
|
||||
run:
|
||||
arguments: [
|
||||
'--channel', '1.77.2',
|
||||
'--channel', '1.78.0',
|
||||
'--host', 'x86_64-apple-darwin',
|
||||
'--target', 'x86_64-apple-darwin',
|
||||
]
|
||||
toolchain-alias: macosx64-rust
|
||||
|
||||
mingw32-rust-1.77:
|
||||
mingw32-rust-1.78:
|
||||
treeherder:
|
||||
symbol: TMW(rust)
|
||||
run:
|
||||
arguments: [
|
||||
'--channel', '1.77.2',
|
||||
'--channel', '1.78.0',
|
||||
'--host', 'x86_64-unknown-linux-gnu',
|
||||
'--target', 'i686-unknown-linux-gnu',
|
||||
'--target', 'i686-pc-windows-gnu',
|
||||
|
Loading…
x
Reference in New Issue
Block a user