rust-1.97.0

This commit is contained in:
Rmys
2026-07-11 12:40:34 +03:00
parent 60ccf3cc58
commit 1e4ade782f
6 changed files with 91 additions and 9 deletions
@@ -9,10 +9,10 @@ See: https://github.com/rust-lang/rust/issues/143735
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/bootstrap/src/core/build_steps/compile.rs b/src/bootstrap/src/core/build_steps/compile.rs
index 46d05b9d5d2f..0c8ab4e0eb93 100644
index 68a4f928464f..201d918d88a9 100644
--- a/src/bootstrap/src/core/build_steps/compile.rs
+++ b/src/bootstrap/src/core/build_steps/compile.rs
@@ -812,7 +812,10 @@ fn run(self, builder: &Builder<'_>) {
@@ -822,7 +822,10 @@ fn run(self, builder: &Builder<'_>) {
let _ = fs::remove_dir_all(sysroot.join("lib/rustlib/src/rust"));
}
@@ -23,10 +23,10 @@ targets, as things break when this is done:
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/compiler/rustc_session/src/config.rs b/compiler/rustc_session/src/config.rs
index e4ef1d40d72d..9376983b15d8 100644
index 2040cd48ec44..4b99fc6a15c9 100644
--- a/compiler/rustc_session/src/config.rs
+++ b/compiler/rustc_session/src/config.rs
@@ -2229,6 +2229,12 @@ pub fn parse_target_triple(early_dcx: &EarlyDiagCtxt, matches: &getopts::Matches
@@ -2226,6 +2226,12 @@ pub fn parse_target_triple(early_dcx: &EarlyDiagCtxt, matches: &getopts::Matches
early_dcx.early_fatal(format!("target file {path:?} does not exist"))
})
}
@@ -12,10 +12,10 @@ See: https://gitlab.archlinux.org/archlinux/packaging/packages/rust/-/issues/8
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs
index 0601f9d7c2cf..cf8256a18c8a 100644
index d6a9e27c4655..2065f9de53c2 100644
--- a/compiler/rustc_target/src/spec/mod.rs
+++ b/compiler/rustc_target/src/spec/mod.rs
@@ -2799,7 +2799,7 @@ fn default() -> TargetOptions {
@@ -2832,7 +2832,7 @@ fn default() -> TargetOptions {
cfg_abi: CfgAbi::Unspecified,
vendor: "unknown".into(),
linker: option_env!("CFG_DEFAULT_LINKER").map(|s| s.into()),
@@ -0,0 +1,75 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
Date: Sat, 4 Jan 2025 06:52:13 +0100
Subject: [PATCH] compiler: Use target-specific GCC linkers
Otherwise it defaults to 'cc', which is inappropriate when we're
cross-compiling.
---
.../rustc_target/src/spec/targets/aarch64_unknown_linux_gnu.rs | 1 +
.../rustc_target/src/spec/targets/aarch64_unknown_linux_musl.rs | 1 +
compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs | 1 +
.../rustc_target/src/spec/targets/x86_64_unknown_linux_gnu.rs | 1 +
.../rustc_target/src/spec/targets/x86_64_unknown_linux_musl.rs | 1 +
5 files changed, 5 insertions(+)
diff --git a/compiler/rustc_target/src/spec/targets/aarch64_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/targets/aarch64_unknown_linux_gnu.rs
index f7e1cbfac263..1e6defa84d96 100644
--- a/compiler/rustc_target/src/spec/targets/aarch64_unknown_linux_gnu.rs
+++ b/compiler/rustc_target/src/spec/targets/aarch64_unknown_linux_gnu.rs
@@ -33,6 +33,7 @@ pub(crate) fn target() -> Target {
| SanitizerSet::HWADDRESS
| SanitizerSet::REALTIME,
supports_xray: true,
+ linker: Some("aarch64-linux-gnu-gcc".into()),
..base::linux_gnu::opts()
},
}
diff --git a/compiler/rustc_target/src/spec/targets/aarch64_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/aarch64_unknown_linux_musl.rs
index 6ba5112342c3..a2c034eee3b6 100644
--- a/compiler/rustc_target/src/spec/targets/aarch64_unknown_linux_musl.rs
+++ b/compiler/rustc_target/src/spec/targets/aarch64_unknown_linux_musl.rs
@@ -13,6 +13,7 @@ pub(crate) fn target() -> Target {
| SanitizerSet::LEAK
| SanitizerSet::MEMORY
| SanitizerSet::THREAD;
+ base.linker = Some("aarch64-linux-gnu-gcc".into());
// FIXME(compiler-team#422): musl targets should be dynamically linked by default.
base.crt_static_default = true;
diff --git a/compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs
index 7137a3ac9de1..7818523c7cd0 100644
--- a/compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs
+++ b/compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs
@@ -22,6 +22,7 @@ pub(crate) fn target() -> Target {
base.supported_sanitizers = SanitizerSet::ADDRESS;
base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m32"]);
base.stack_probes = StackProbeType::Inline;
+ base.linker = Some("x86_64-linux-gnu-gcc".into());
Target {
llvm_target: "i686-pc-linux-gnu".into(),
diff --git a/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_gnu.rs
index dea63ac7d5b8..96c4df7d8c09 100644
--- a/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_gnu.rs
+++ b/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_gnu.rs
@@ -20,6 +20,7 @@ pub(crate) fn target() -> Target {
| SanitizerSet::THREAD
| SanitizerSet::REALTIME;
base.supports_xray = true;
+ base.linker = Some("x86_64-linux-gnu-gcc".into());
Target {
llvm_target: "x86_64-pc-linux-gnu".into(),
diff --git a/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_musl.rs
index ee883532ad4a..48d93be61b66 100644
--- a/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_musl.rs
+++ b/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_musl.rs
@@ -18,6 +18,7 @@ pub(crate) fn target() -> Target {
base.supports_xray = true;
// FIXME(compiler-team#422): musl targets should be dynamically linked by default.
base.crt_static_default = true;
+ base.linker = Some("x86_64-linux-gnu-gcc".into());
Target {
llvm_target: "x86_64-unknown-linux-musl".into(),
@@ -1,7 +1,7 @@
profile = "user"
# changelog-seen = 2
change-id = 154508
change-id = 154587
[llvm]
link-shared = true