AlmaLinux changes: Use the correct architecture in x86_64_v2

This commit is contained in:
Eduard Abdullin 2026-03-18 03:38:21 +00:00 committed by root
commit c64ba685bc
12 changed files with 312 additions and 95 deletions

3
.gitignore vendored
View File

@ -459,3 +459,6 @@
/rustc-1.90.0-src.tar.xz
/rustc-1.91.0-src.tar.xz
/rustc-1.92.0-src.tar.xz
/rustc-1.93.0-src.tar.xz
/wasi-libc-wasi-sdk-29.tar.gz
/rustc-1.93.0-src.tar.xz.asc

View File

@ -1,15 +1,15 @@
From e9405caf32dfb31bf17c3da0299df515a3755107 Mon Sep 17 00:00:00 2001
From d2fa68624463426e82f2ba19703159a46867384b Mon Sep 17 00:00:00 2001
From: Josh Stone <jistone@redhat.com>
Date: Fri, 16 Aug 2024 10:12:58 -0700
Subject: [PATCH] Use lld provided by system
---
compiler/rustc_target/src/spec/base/wasm.rs | 3 +--
.../src/spec/targets/aarch64_unknown_none_softfloat.rs | 2 +-
.../src/spec/targets/aarch64_unknown_none_softfloat.rs | 1 -
compiler/rustc_target/src/spec/targets/aarch64_unknown_uefi.rs | 1 +
compiler/rustc_target/src/spec/targets/x86_64_unknown_none.rs | 2 +-
compiler/rustc_target/src/spec/targets/x86_64_unknown_uefi.rs | 1 +
5 files changed, 5 insertions(+), 4 deletions(-)
5 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/compiler/rustc_target/src/spec/base/wasm.rs b/compiler/rustc_target/src/spec/base/wasm.rs
index 7ede45766ea..b22362227bb 100644
@ -26,20 +26,19 @@ index 7ede45766ea..b22362227bb 100644
pre_link_args,
diff --git a/compiler/rustc_target/src/spec/targets/aarch64_unknown_none_softfloat.rs b/compiler/rustc_target/src/spec/targets/aarch64_unknown_none_softfloat.rs
index 35a4dd72b86..a9c8fc5edb8 100644
index ad444c139bf..f5f8f18f8b8 100644
--- a/compiler/rustc_target/src/spec/targets/aarch64_unknown_none_softfloat.rs
+++ b/compiler/rustc_target/src/spec/targets/aarch64_unknown_none_softfloat.rs
@@ -15,7 +15,7 @@ pub(crate) fn target() -> Target {
@@ -15,7 +15,6 @@ pub(crate) fn target() -> Target {
let opts = TargetOptions {
abi: "softfloat".into(),
abi: Abi::SoftFloat,
linker_flavor: LinkerFlavor::Gnu(Cc::No, Lld::Yes),
- linker: Some("rust-lld".into()),
+ linker: Some("lld".into()),
features: "+v8a,+strict-align,-neon,-fp-armv8".into(),
features: "+v8a,+strict-align,-neon".into(),
relocation_model: RelocModel::Static,
disable_redzone: true,
diff --git a/compiler/rustc_target/src/spec/targets/aarch64_unknown_uefi.rs b/compiler/rustc_target/src/spec/targets/aarch64_unknown_uefi.rs
index 327b52389b9..17313d7e8b3 100644
index e2c1888e408..4869f85d1e6 100644
--- a/compiler/rustc_target/src/spec/targets/aarch64_unknown_uefi.rs
+++ b/compiler/rustc_target/src/spec/targets/aarch64_unknown_uefi.rs
@@ -9,6 +9,7 @@ pub(crate) fn target() -> Target {
@ -51,7 +50,7 @@ index 327b52389b9..17313d7e8b3 100644
Target {
llvm_target: "aarch64-unknown-windows".into(),
diff --git a/compiler/rustc_target/src/spec/targets/x86_64_unknown_none.rs b/compiler/rustc_target/src/spec/targets/x86_64_unknown_none.rs
index 1a6343595f5..8015b082cd1 100644
index 520a59d6a6f..1606618b683 100644
--- a/compiler/rustc_target/src/spec/targets/x86_64_unknown_none.rs
+++ b/compiler/rustc_target/src/spec/targets/x86_64_unknown_none.rs
@@ -19,7 +19,7 @@ pub(crate) fn target() -> Target {
@ -64,7 +63,7 @@ index 1a6343595f5..8015b082cd1 100644
features: "-mmx,-sse,-sse2,-sse3,-ssse3,-sse4.1,-sse4.2,-avx,-avx2,+soft-float".into(),
supported_sanitizers: SanitizerSet::KCFI | SanitizerSet::KERNELADDRESS,
diff --git a/compiler/rustc_target/src/spec/targets/x86_64_unknown_uefi.rs b/compiler/rustc_target/src/spec/targets/x86_64_unknown_uefi.rs
index 0cf6a879462..3677fc662de 100644
index 8a494d0e56d..d2f4f3f42b4 100644
--- a/compiler/rustc_target/src/spec/targets/x86_64_unknown_uefi.rs
+++ b/compiler/rustc_target/src/spec/targets/x86_64_unknown_uefi.rs
@@ -15,6 +15,7 @@ pub(crate) fn target() -> Target {
@ -76,5 +75,5 @@ index 0cf6a879462..3677fc662de 100644
// We disable MMX and SSE for now, even though UEFI allows using them. Problem is, you have to
// enable these CPU features explicitly before their first use, otherwise their instructions
--
2.51.0
2.51.1

View File

@ -1,7 +1,7 @@
From 8364de4cb8edab85efcb895824ce06f4a95bd26f Mon Sep 17 00:00:00 2001
From 5e8b069a530092bf57dc19d8f6e5df85db1bd7d3 Mon Sep 17 00:00:00 2001
From: Josh Stone <jistone@redhat.com>
Date: Mon, 18 Aug 2025 17:11:07 -0700
Subject: [PATCH] bootstrap: allow disabling target self-contained
Subject: [PATCH 1/2] bootstrap: allow disabling target self-contained
---
bootstrap.example.toml | 5 +++++
@ -12,10 +12,10 @@ Subject: [PATCH] bootstrap: allow disabling target self-contained
5 files changed, 23 insertions(+)
diff --git a/bootstrap.example.toml b/bootstrap.example.toml
index 6f37e51a47d..ee21bc06bea 100644
index 4e850810a30..a3ae9251cf5 100644
--- a/bootstrap.example.toml
+++ b/bootstrap.example.toml
@@ -1077,3 +1077,8 @@
@@ -1102,3 +1102,8 @@
# pass `off`:
# - x86_64-unknown-linux-gnu
#default-linker-linux-override = "off" (for most targets)
@ -25,10 +25,10 @@ index 6f37e51a47d..ee21bc06bea 100644
+# targets may ignore this setting if they have nothing to be contained.
+#self-contained = <platform-specific> (bool)
diff --git a/src/bootstrap/src/core/build_steps/compile.rs b/src/bootstrap/src/core/build_steps/compile.rs
index 6857a40ada8..9a98323a704 100644
index 02940a80295..f3e7cbafc49 100644
--- a/src/bootstrap/src/core/build_steps/compile.rs
+++ b/src/bootstrap/src/core/build_steps/compile.rs
@@ -368,6 +368,10 @@ fn copy_self_contained_objects(
@@ -370,6 +370,10 @@ fn copy_self_contained_objects(
compiler: &Compiler,
target: TargetSelection,
) -> Vec<(PathBuf, DependencyType)> {
@ -40,10 +40,10 @@ index 6857a40ada8..9a98323a704 100644
builder.sysroot_target_libdir(*compiler, target).join("self-contained");
t!(fs::create_dir_all(&libdir_self_contained));
diff --git a/src/bootstrap/src/core/config/config.rs b/src/bootstrap/src/core/config/config.rs
index 4b7ae6df360..6bab269a33c 100644
index 2f493658ec0..d1ceea0296e 100644
--- a/src/bootstrap/src/core/config/config.rs
+++ b/src/bootstrap/src/core/config/config.rs
@@ -864,6 +864,7 @@ pub(crate) fn parse_inner(
@@ -877,6 +877,7 @@ pub(crate) fn parse_inner(
runner: target_runner,
optimized_compiler_builtins: target_optimized_compiler_builtins,
jemalloc: target_jemalloc,
@ -51,7 +51,7 @@ index 4b7ae6df360..6bab269a33c 100644
} = cfg;
let mut target = Target::from_triple(&triple);
@@ -921,6 +922,9 @@ pub(crate) fn parse_inner(
@@ -934,6 +935,9 @@ pub(crate) fn parse_inner(
if let Some(s) = target_no_std {
target.no_std = s;
}
@ -62,10 +62,10 @@ index 4b7ae6df360..6bab269a33c 100644
target.cxx = target_cxx.map(PathBuf::from);
target.ar = target_ar.map(PathBuf::from);
diff --git a/src/bootstrap/src/core/config/toml/target.rs b/src/bootstrap/src/core/config/toml/target.rs
index 4c7afa50b96..83b8a1b50ca 100644
index 847b75e696b..cbe36106a6f 100644
--- a/src/bootstrap/src/core/config/toml/target.rs
+++ b/src/bootstrap/src/core/config/toml/target.rs
@@ -47,6 +47,7 @@ struct TomlTarget {
@@ -48,6 +48,7 @@ struct TomlTarget {
runner: Option<String> = "runner",
optimized_compiler_builtins: Option<CompilerBuiltins> = "optimized-compiler-builtins",
jemalloc: Option<bool> = "jemalloc",
@ -73,7 +73,7 @@ index 4c7afa50b96..83b8a1b50ca 100644
}
}
@@ -80,6 +81,7 @@ pub struct Target {
@@ -82,6 +83,7 @@ pub struct Target {
pub codegen_backends: Option<Vec<CodegenBackendKind>>,
pub optimized_compiler_builtins: Option<CompilerBuiltins>,
pub jemalloc: Option<bool>,
@ -81,7 +81,7 @@ index 4c7afa50b96..83b8a1b50ca 100644
}
impl Target {
@@ -91,6 +93,9 @@ pub fn from_triple(triple: &str) -> Self {
@@ -93,6 +95,9 @@ pub fn from_triple(triple: &str) -> Self {
if triple.contains("emscripten") {
target.runner = Some("node".into());
}
@ -92,10 +92,10 @@ index 4c7afa50b96..83b8a1b50ca 100644
}
}
diff --git a/src/bootstrap/src/lib.rs b/src/bootstrap/src/lib.rs
index dd30f05b728..cc89a84071e 100644
index a31eb0c1c80..ca28b2cb0d9 100644
--- a/src/bootstrap/src/lib.rs
+++ b/src/bootstrap/src/lib.rs
@@ -1441,6 +1441,11 @@ fn no_std(&self, target: TargetSelection) -> Option<bool> {
@@ -1448,6 +1448,11 @@ fn no_std(&self, target: TargetSelection) -> Option<bool> {
self.config.target_config.get(&target).map(|t| t.no_std)
}
@ -108,5 +108,5 @@ index dd30f05b728..cc89a84071e 100644
/// and `remote-test-server` binaries.
fn remote_tested(&self, target: TargetSelection) -> bool {
--
2.51.0
2.51.1

View File

@ -0,0 +1,67 @@
From cdd0ede64037938b5ef89da2b5ac3c77ea7c6375 Mon Sep 17 00:00:00 2001
From: Josh Stone <jistone@redhat.com>
Date: Tue, 3 Feb 2026 16:09:21 -0800
Subject: [PATCH] bootstrap: always propagate `CARGO_TARGET_{host}_LINKER`
We were already setting `CARGO_TARGET_{target}_LINKER` when there is a
setting in `bootstrap.toml`, and when the host and target are the same,
this is also used for build scripts and proc-macros.
However, the host value wasn't set when building for any other target,
and Cargo would see that as a fingerprint change for those build
artifacts, rebuilding them.
If we always set the `CARGO_TARGET_{host}_LINKER`, then those build
scripts will keep a consistent Cargo fingerprint, so they'll remain
cached no matter how we're alternating targets.
---
src/bootstrap/src/core/builder/cargo.rs | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/src/bootstrap/src/core/builder/cargo.rs b/src/bootstrap/src/core/builder/cargo.rs
index 7150b2b0d59f..488125863ee0 100644
--- a/src/bootstrap/src/core/builder/cargo.rs
+++ b/src/bootstrap/src/core/builder/cargo.rs
@@ -10,7 +10,7 @@
use crate::core::config::SplitDebuginfo;
use crate::core::config::flags::Color;
use crate::utils::build_stamp;
-use crate::utils::helpers::{self, LldThreads, check_cfg_arg, linker_args, linker_flags};
+use crate::utils::helpers::{self, LldThreads, check_cfg_arg, linker_flags};
use crate::{
BootstrapCommand, CLang, Compiler, Config, DryRun, EXTRA_CHECK_CFGS, GitRepo, Mode,
RemapScheme, TargetSelection, command, prepare_behaviour_dump_dir, t,
@@ -310,7 +310,15 @@ fn configure_linker(&mut self, builder: &Builder<'_>) -> &mut Cargo {
}
}
- for arg in linker_args(builder, compiler.host, LldThreads::Yes) {
+ // We need to set host linker flags for compiling build scripts and proc-macros.
+ // This is done the same way as the target linker flags below, so cargo won't see
+ // any fingerprint difference between host==target versus cross-compiled targets
+ // when it comes to those host build artifacts.
+ if let Some(host_linker) = builder.linker(compiler.host) {
+ let host = crate::envify(&compiler.host.triple);
+ self.command.env(format!("CARGO_TARGET_{host}_LINKER"), host_linker);
+ }
+ for arg in linker_flags(builder, compiler.host, LldThreads::Yes) {
self.hostflags.arg(&arg);
}
@@ -319,11 +327,11 @@ fn configure_linker(&mut self, builder: &Builder<'_>) -> &mut Cargo {
self.command.env(format!("CARGO_TARGET_{target}_LINKER"), target_linker);
}
// We want to set -Clinker using Cargo, therefore we only call `linker_flags` and not
- // `linker_args` here.
+ // `linker_args` here. Cargo will pass that to both rustc and rustdoc invocations.
for flag in linker_flags(builder, target, LldThreads::Yes) {
self.rustflags.arg(&flag);
}
- for arg in linker_args(builder, target, LldThreads::Yes) {
+ for arg in linker_flags(builder, target, LldThreads::Yes) {
self.rustdocflags.arg(&arg);
}
--
2.52.0

View File

@ -1,4 +1,4 @@
From 862d09fe2e8b0f5ce8fe7bfc592cda66a1d74c08 Mon Sep 17 00:00:00 2001
From 51178db0fd3d40917a78e4b039c0412bcd332e31 Mon Sep 17 00:00:00 2001
From: Josh Stone <jistone@redhat.com>
Date: Mon, 18 Aug 2025 17:13:28 -0700
Subject: [PATCH 2/2] set an external library path for wasm32-wasi
@ -11,10 +11,10 @@ Subject: [PATCH 2/2] set an external library path for wasm32-wasi
4 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs b/compiler/rustc_codegen_ssa/src/back/link.rs
index 48b01ea2df19..59b87396fed2 100644
index d35c3b6bb18..f2a067a9e8c 100644
--- a/compiler/rustc_codegen_ssa/src/back/link.rs
+++ b/compiler/rustc_codegen_ssa/src/back/link.rs
@@ -1559,6 +1559,12 @@ fn get_object_file_path(sess: &Session, name: &str, self_contained: bool) -> Pat
@@ -1565,6 +1565,12 @@ fn get_object_file_path(sess: &Session, name: &str, self_contained: bool) -> Pat
return file_path;
}
}
@ -27,7 +27,7 @@ index 48b01ea2df19..59b87396fed2 100644
for search_path in sess.target_filesearch().search_paths(PathKind::Native) {
let file_path = search_path.dir.join(name);
if file_path.exists() {
@@ -2140,6 +2146,10 @@ fn add_library_search_dirs(
@@ -2142,6 +2148,10 @@ fn add_library_search_dirs(
}
ControlFlow::<()>::Continue(())
});
@ -39,7 +39,7 @@ index 48b01ea2df19..59b87396fed2 100644
/// Add options making relocation sections in the produced ELF files read-only
diff --git a/compiler/rustc_target/src/spec/json.rs b/compiler/rustc_target/src/spec/json.rs
index f236be92b3b6..eea6e0c203d2 100644
index a972299deea..b3a6fe7c5ac 100644
--- a/compiler/rustc_target/src/spec/json.rs
+++ b/compiler/rustc_target/src/spec/json.rs
@@ -81,6 +81,7 @@ macro_rules! forward_opt {
@ -50,7 +50,7 @@ index f236be92b3b6..eea6e0c203d2 100644
forward!(pre_link_objects_self_contained);
forward!(post_link_objects_self_contained);
@@ -301,6 +302,7 @@ macro_rules! target_option_val {
@@ -308,6 +309,7 @@ macro_rules! target_option_val {
target_option_val!(linker_is_gnu_json, "linker-is-gnu");
target_option_val!(pre_link_objects);
target_option_val!(post_link_objects);
@ -58,7 +58,7 @@ index f236be92b3b6..eea6e0c203d2 100644
target_option_val!(pre_link_objects_self_contained, "pre-link-objects-fallback");
target_option_val!(post_link_objects_self_contained, "post-link-objects-fallback");
target_option_val!(link_args - pre_link_args_json, "pre-link-args");
@@ -511,6 +513,8 @@ struct TargetSpecJson {
@@ -520,6 +522,8 @@ struct TargetSpecJson {
pre_link_objects: Option<CrtObjects>,
#[serde(rename = "post-link-objects")]
post_link_objects: Option<CrtObjects>,
@ -68,10 +68,10 @@ index f236be92b3b6..eea6e0c203d2 100644
pre_link_objects_self_contained: Option<CrtObjects>,
#[serde(rename = "post-link-objects-fallback")]
diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs
index 07fb1ce63f7c..c076c2836f84 100644
index 424026bdcea..3e0d565b00d 100644
--- a/compiler/rustc_target/src/spec/mod.rs
+++ b/compiler/rustc_target/src/spec/mod.rs
@@ -1992,6 +1992,7 @@ pub struct TargetOptions {
@@ -2218,6 +2218,7 @@ pub struct TargetOptions {
/// Objects to link before and after all other object code.
pub pre_link_objects: CrtObjects,
pub post_link_objects: CrtObjects,
@ -79,7 +79,7 @@ index 07fb1ce63f7c..c076c2836f84 100644
/// Same as `(pre|post)_link_objects`, but when self-contained linking mode is enabled.
pub pre_link_objects_self_contained: CrtObjects,
pub post_link_objects_self_contained: CrtObjects,
@@ -2518,6 +2519,7 @@ fn default() -> TargetOptions {
@@ -2758,6 +2759,7 @@ fn default() -> TargetOptions {
relro_level: RelroLevel::None,
pre_link_objects: Default::default(),
post_link_objects: Default::default(),
@ -88,11 +88,11 @@ index 07fb1ce63f7c..c076c2836f84 100644
post_link_objects_self_contained: Default::default(),
link_self_contained: LinkSelfContainedDefault::False,
diff --git a/compiler/rustc_target/src/spec/targets/wasm32_wasip1.rs b/compiler/rustc_target/src/spec/targets/wasm32_wasip1.rs
index 26add451ed25..3eaf050e6823 100644
index 2d3dd0862d6..130ce1f225a 100644
--- a/compiler/rustc_target/src/spec/targets/wasm32_wasip1.rs
+++ b/compiler/rustc_target/src/spec/targets/wasm32_wasip1.rs
@@ -21,11 +21,12 @@ pub(crate) fn target() -> Target {
options.env = "p1".into();
@@ -22,11 +22,12 @@ pub(crate) fn target() -> Target {
options.env = Env::P1;
options.add_pre_link_args(LinkerFlavor::WasmLld(Cc::Yes), &["--target=wasm32-wasip1"]);
- options.pre_link_objects_self_contained = crt_objects::pre_wasi_self_contained();
@ -108,5 +108,5 @@ index 26add451ed25..3eaf050e6823 100644
// Right now this is a bit of a workaround but we're currently saying that
// the target by default has a static crt which we're taking as a signal
--
2.51.0
2.51.1

86
rust-key.gpg.ascii Normal file
View File

@ -0,0 +1,86 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
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
Mve696B5tlHyc1KxjHR6w9GRsh4=
=5FXw
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -1,5 +1,5 @@
Name: rust
Version: 1.92.0
Version: 1.93.0
Release: %autorelease
Summary: The Rust Programming Language
License: (Apache-2.0 OR MIT) AND (Artistic-2.0 AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0 AND Unicode-3.0)
@ -14,9 +14,9 @@ ExclusiveArch: %{rust_arches}
# To bootstrap from scratch, set the channel and date from src/stage0
# e.g. 1.89.0 wants rustc: 1.88.0-2025-06-26
# or nightly wants some beta-YYYY-MM-DD
%global bootstrap_version 1.91.0
%global bootstrap_channel 1.91.0
%global bootstrap_date 2025-10-30
%global bootstrap_version 1.92.0
%global bootstrap_channel 1.92.0
%global bootstrap_date 2025-12-11
# Only the specified arches will use bootstrap binaries.
# NOTE: Those binaries used to be uploaded with every new release, but that was
@ -28,7 +28,7 @@ ExclusiveArch: %{rust_arches}
# We need CRT files for *-wasi targets, at least as new as the commit in
# src/ci/docker/host-x86_64/dist-various-2/build-wasi-toolchain.sh
%global wasi_libc_url https://github.com/WebAssembly/wasi-libc
%global wasi_libc_ref wasi-sdk-27
%global wasi_libc_ref wasi-sdk-29
%global wasi_libc_name wasi-libc-%{wasi_libc_ref}
%global wasi_libc_source %{wasi_libc_url}/archive/%{wasi_libc_ref}/%{wasi_libc_name}.tar.gz
%global wasi_libc_dir %{_builddir}/%{wasi_libc_name}
@ -44,8 +44,9 @@ ExclusiveArch: %{rust_arches}
# We can also choose to just use Rust's bundled LLVM, in case the system LLVM
# is insufficient. Rust currently requires LLVM 19.0+.
# See src/bootstrap/src/core/build_steps/llvm.rs, fn check_llvm_version
# See src/llvm-project/cmake/Modules/LLVMVersion.cmake for bundled version.
%global min_llvm_version 20.0.0
%global bundled_llvm_version 21.1.3
%global bundled_llvm_version 21.1.5
#global llvm_compat_version 19
%global llvm llvm%{?llvm_compat_version}
%bcond_with bundled_llvm
@ -118,7 +119,11 @@ ExclusiveArch: %{rust_arches}
rpm.define("rustc_package rustc-" .. version_channel .. "-src")
end}
Source0: https://static.rust-lang.org/dist/%{rustc_package}.tar.xz
Source1: %{wasi_libc_source}
Source1: https://static.rust-lang.org/dist/%{rustc_package}.tar.xz.asc
Source2: https://static.rust-lang.org/rust-key.gpg.ascii
Source10: %{wasi_libc_source}
# Sources for bootstrap_arches are inserted by lua below
# By default, rust tries to use "rust-lld" as a linker for some targets.
@ -138,11 +143,15 @@ Patch4: 0001-bootstrap-allow-disabling-target-self-contained.patch
Patch5: 0002-set-an-external-library-path-for-wasm32-wasi.patch
# We don't want to use the bundled library in libsqlite3-sys
Patch6: rustc-1.92.0-unbundle-sqlite.patch
Patch6: rustc-1.93.0-unbundle-sqlite.patch
# stage0 tries to copy all of /usr/lib, sometimes unsuccessfully, see #143735
Patch7: 0001-only-copy-rustlib-into-stage0-sysroot.patch
# bootstrap: always propagate `CARGO_TARGET_{host}_LINKER`
# https://github.com/rust-lang/rust/pull/152077
Patch8: 0001-bootstrap-always-propagate-CARGO_TARGET_-host-_LINKE.patch
### RHEL-specific patches below ###
# Simple rpm macros for rust-toolset (as opposed to full rust-packaging)
@ -152,7 +161,10 @@ Source102: cargo_vendor.attr
Source103: cargo_vendor.prov
# Disable cargo->libgit2->libssh2 on RHEL, as it's not approved for FIPS (rhbz1732949)
Patch100: rustc-1.92.0-disable-libssh2.patch
Patch100: rustc-1.93.0-disable-libssh2.patch
# When building wasi, prevent linking a compiler-rt builtins library we don't have.
Patch1000: wasi-no-link-builtins.patch
# Get the Rust triple for any architecture and ABI.
%{lua: function rust_triple(arch, abi)
@ -220,15 +232,21 @@ end}
local channel = rpm.expand("%{bootstrap_channel}")
local target_arch = rpm.expand("%{_target_cpu}")
for i, arch in ipairs(bootstrap_arches) do
i = 1000 + i * 3
i = 1000 + i * 6
local suffix = channel.."-"..rust_triple(arch)
print(string.format("Source%d: %s/cargo-%s.tar.xz\n", i, base, suffix))
print(string.format("Source%d: %s/rustc-%s.tar.xz\n", i+1, base, suffix))
print(string.format("Source%d: %s/rust-std-%s.tar.xz\n", i+2, base, suffix))
print(string.format("Source%d: %s/cargo-%s.tar.xz.asc\n", i+1, base, suffix))
print(string.format("Source%d: %s/rustc-%s.tar.xz\n", i+2, base, suffix))
print(string.format("Source%d: %s/rustc-%s.tar.xz.asc\n", i+3, base, suffix))
print(string.format("Source%d: %s/rust-std-%s.tar.xz\n", i+4, base, suffix))
print(string.format("Source%d: %s/rust-std-%s.tar.xz.asc\n", i+5, base, suffix))
if arch == target_arch then
rpm.define("bootstrap_source_cargo "..i)
rpm.define("bootstrap_source_rustc "..i+1)
rpm.define("bootstrap_source_std "..i+2)
rpm.define("bootstrap_sig_cargo "..i+1)
rpm.define("bootstrap_source_rustc "..i+2)
rpm.define("bootstrap_sig_rustc "..i+3)
rpm.define("bootstrap_source_std "..i+4)
rpm.define("bootstrap_sig_std "..i+5)
rpm.define("bootstrap_suffix "..suffix)
end
end
@ -244,6 +262,12 @@ BuildRequires: (%{name} >= %{bootstrap_version} with %{name} <= %{version})
%global local_rust_root %{_prefix}
%endif
%if 0%{?rhel} && 0%{?rhel} < 11
BuildRequires: gnupg2
%else
BuildRequires: gpgverify
%endif
BuildRequires: make
BuildRequires: gcc
BuildRequires: gcc-c++
@ -665,8 +689,12 @@ the Cargo package manager, and a few convenience macros for rpm builds.
%prep
%gpgverify -k 2 -s 1 -d 0
%ifarch %{bootstrap_arches}
%gpgverify -k 2 -s %{bootstrap_sig_cargo} -d %{bootstrap_source_cargo}
%gpgverify -k 2 -s %{bootstrap_sig_rustc} -d %{bootstrap_source_rustc}
%gpgverify -k 2 -s %{bootstrap_sig_std} -d %{bootstrap_source_std}
rm -rf %{local_rust_root}
%setup -q -n cargo-%{bootstrap_suffix} -T -b %{bootstrap_source_cargo}
./install.sh --prefix=%{local_rust_root} --disable-ldconfig
@ -679,8 +707,10 @@ test -f '%{local_rust_root}/bin/rustc'
%endif
%if %{defined wasm_targets} && %{with bundled_wasi_libc}
%setup -q -n %{wasi_libc_name} -T -b 1
%setup -q -n %{wasi_libc_name} -T -b 10
rm -rf %{wasi_libc_dir}/dlmalloc/
%patch -P1000 -p1
%endif
%setup -q -n %{rustc_package}
@ -696,6 +726,7 @@ rm -rf %{wasi_libc_dir}/dlmalloc/
%patch -P6 -p1
%endif
%patch -P7 -p1
%patch -P8 -p1
%if %with disabled_libssh2
%patch -P100 -p1
@ -729,6 +760,7 @@ rm -rf src/tools/rustc-perf/collector/*-benchmarks/
%clear_dir vendor/libz-sys*/src/zlib{,-ng}/
%clear_dir vendor/lzma-sys*/xz-*/
%clear_dir vendor/openssl-src*/openssl/
%clear_dir vendor/capstone-sys-*/capstone/
%if %without bundled_libgit2
%clear_dir vendor/libgit2-sys*/libgit2/
@ -1095,9 +1127,11 @@ rm -rf "./build/%{rust_triple}/test/"
%endif
%if %with disabled_libssh2
# These tests need ssh - guaranteed to fail when libssh2 is disabled.
%global cargo_test_skip_list %{cargo_test_skip_list} \\\
net_err_suggests_fetch_with_cli \\\
%global cargo_test_skip_list %{shrink:
%{cargo_test_skip_list}
net_err_suggests_fetch_with_cli
ssh_something_happens
}
%endif
%if "%{cargo_test_skip_list}" != ""
%define cargo_test_skip --test-args "%(printf -- '--skip %%s ' %{cargo_test_skip_list})"

View File

@ -1,23 +0,0 @@
diff -up rustc-beta-src/src/tools/cargo/Cargo.lock.orig rustc-beta-src/src/tools/cargo/Cargo.lock
--- rustc-beta-src/src/tools/cargo/Cargo.lock.orig 2025-11-07 13:31:19.003737886 +0100
+++ rustc-beta-src/src/tools/cargo/Cargo.lock 2025-11-07 13:14:41.637982893 +0100
@@ -2835,7 +2835,6 @@ version = "0.35.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "133c182a6a2c87864fe97778797e46c7e999672690dc9fa3ee8e241aa4a9c13f"
dependencies = [
- "cc",
"pkg-config",
"vcpkg",
]
diff -up rustc-beta-src/src/tools/cargo/Cargo.toml.orig rustc-beta-src/src/tools/cargo/Cargo.toml
--- rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2025-11-07 13:31:28.338643618 +0100
+++ rustc-beta-src/src/tools/cargo/Cargo.toml 2025-11-07 13:15:00.266505214 +0100
@@ -81,7 +81,7 @@ proptest = "1.8.0"
pulldown-cmark = { version = "0.13.0", default-features = false, features = ["html"] }
rand = "0.9.2"
regex = "1.11.3"
-rusqlite = { version = "0.37.0", features = ["bundled"] }
+rusqlite = { version = "0.37.0", features = [] }
rustc-hash = "2.1.1"
rustc-stable-hash = "0.1.2"
rustfix = { version = "0.9.2", path = "crates/rustfix" }

View File

@ -1,7 +1,6 @@
diff -up rustc-beta-src/src/tools/cargo/Cargo.lock.orig rustc-beta-src/src/tools/cargo/Cargo.lock
--- rustc-beta-src/src/tools/cargo/Cargo.lock.orig 2025-08-16 15:47:14.000000000 -0700
+++ rustc-beta-src/src/tools/cargo/Cargo.lock 2025-08-18 17:31:39.554771554 -0700
@@ -2800,7 +2800,6 @@ checksum = "1c42fe03df2bd3c53a3a9c7317ad
--- rustc-beta-src/src/tools/cargo/Cargo.lock.orig 2025-12-18 15:41:44.817782261 -0600
+++ rustc-beta-src/src/tools/cargo/Cargo.lock 2025-12-18 15:45:06.653151595 -0600
@@ -2775,7 +2775,6 @@ checksum = "1c42fe03df2bd3c53a3a9c7317ad
dependencies = [
"cc",
"libc",
@ -9,7 +8,7 @@ diff -up rustc-beta-src/src/tools/cargo/Cargo.lock.orig rustc-beta-src/src/tools
"libz-sys",
"openssl-sys",
"pkg-config",
@@ -2847,20 +2846,6 @@ dependencies = [
@@ -2822,20 +2821,6 @@ dependencies = [
"pkg-config",
"vcpkg",
]
@ -30,15 +29,14 @@ diff -up rustc-beta-src/src/tools/cargo/Cargo.lock.orig rustc-beta-src/src/tools
[[package]]
name = "libz-rs-sys"
diff -up rustc-beta-src/src/tools/cargo/Cargo.toml.orig rustc-beta-src/src/tools/cargo/Cargo.toml
--- rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2025-08-16 15:47:14.000000000 -0700
+++ rustc-beta-src/src/tools/cargo/Cargo.toml 2025-08-18 17:33:02.401743230 -0700
@@ -46,7 +46,7 @@ curl = "0.4.48"
--- rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2025-12-18 15:41:49.665815151 -0600
+++ rustc-beta-src/src/tools/cargo/Cargo.toml 2025-12-18 15:45:45.253541794 -0600
@@ -48,7 +48,7 @@ curl = "0.4.49"
curl-sys = "0.4.83"
filetime = "0.2.26"
flate2 = { version = "1.1.2", default-features = false, features = ["zlib-rs"] }
flate2 = { version = "1.1.5", default-features = false, features = ["zlib-rs"] }
-git2 = "0.20.2"
+git2 = { version = "0.20.2", default-features = false, features = ["https"] }
git2-curl = "0.21.0"
# When updating this, also see if `gix-transport` further down needs updating or some auth-related tests will fail.
gix = { version = "0.73.0", default-features = false, features = ["progress-tree", "parallel", "dirwalk", "status"] }
gix = { version = "0.74.1", default-features = false, features = ["progress-tree", "parallel", "dirwalk", "status"] }

View File

@ -0,0 +1,21 @@
--- rustc-beta-src/src/tools/cargo/Cargo.lock.orig 2025-12-18 15:09:44.157650741 -0600
+++ rustc-beta-src/src/tools/cargo/Cargo.lock 2025-12-18 15:10:14.837395011 -0600
@@ -2817,7 +2817,6 @@ version = "0.35.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "133c182a6a2c87864fe97778797e46c7e999672690dc9fa3ee8e241aa4a9c13f"
dependencies = [
- "cc",
"pkg-config",
"vcpkg",
]
--- rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2025-12-18 15:09:57.641723932 -0600
+++ rustc-beta-src/src/tools/cargo/Cargo.toml 2025-12-18 15:10:36.866959259 -0600
@@ -83,7 +83,7 @@ proptest = "1.9.0"
pulldown-cmark = { version = "0.13.0", default-features = false, features = ["html"] }
rand = "0.9.2"
regex = "1.12.2"
-rusqlite = { version = "0.37.0", features = ["bundled"] }
+rusqlite = { version = "0.37.0", features = [] }
rustc-hash = "2.1.1"
rustc-stable-hash = "0.1.2"
rustfix = { version = "0.9.2", path = "crates/rustfix" }

View File

@ -1,2 +1,3 @@
SHA512 (wasi-libc-wasi-sdk-27.tar.gz) = dfc2c36fabf32f465fc833ed0b10efffc9a35c68162ecc3e8d656d1d684d170b734d55e790614d12d925d17f49d60f0d2d01c46cecac941cf62d68eda84df13e
SHA512 (rustc-1.92.0-src.tar.xz) = a2c0b127933595b9bc2063d7b7c88d9af512c4664b18f29d44c9a6e2c68d194b87a3071717e8f1b7c858ae940baca888e10be95cd31e0201916d0bfc312a3b15
SHA512 (rustc-1.93.0-src.tar.xz) = 9362a4b56529ce29362e256daf382b73c73204d0e9fe5b39addf07ff66a30aa66c967e34df9021ea007c13a9f3bb6efdefca1c8e4ea1bde9aac050a9fb0c736b
SHA512 (wasi-libc-wasi-sdk-29.tar.gz) = ee803c0eb6c5dab119660926cb2d3ce044cc6f1f32b7cc266d89c25c031480f34c27ab2638df34e192321add629699c6a473438b94f899a28ae9e806ab07d87b
SHA512 (rustc-1.93.0-src.tar.xz.asc) = a6ea05bb6b7d3b429a1c863622c93ac4c97b25f56027f7f06f085acde26d1395f3515cc764ae3ef941d1669556a02365755b34e28ccaebe70c1ccb84c977228f

View File

@ -0,0 +1,31 @@
--- wasi-libc-wasi-sdk-29/Makefile.orig 2026-01-08 16:43:58.310813769 -0600
+++ wasi-libc-wasi-sdk-29/Makefile 2026-01-08 16:49:21.516204812 -0600
@@ -643,17 +643,15 @@ builtins: $(BUILTINS_LIB_PATH)
# Note: libc.so is special because it shouldn't link to libc.so, and the
# -nodefaultlibs flag here disables the default `-lc` logic that clang
-# has. Note though that this also disables linking of compiler-rt
-# libraries so that is explicitly passed in via `$(BUILTINS_LIB_PATH)`
+# has.
#
# Note: --allow-undefined-file=linker-provided-symbols.txt is
# a workaround for https://github.com/llvm/llvm-project/issues/103592
-$(SYSROOT_LIB)/libc.so: $(OBJDIR)/libc.so.a $(BUILTINS_LIB_PATH)
+$(SYSROOT_LIB)/libc.so: $(OBJDIR)/libc.so.a
$(CC) --target=${TARGET_TRIPLE} -nodefaultlibs \
-shared --sysroot=$(SYSROOT) \
-o $@ -Wl,--whole-archive $< -Wl,--no-whole-archive \
-Wl,--allow-undefined-file=linker-provided-symbols.txt \
- $(BUILTINS_LIB_PATH) \
$(EXTRA_CFLAGS) $(LDFLAGS)
# Note that unlike `libc.so` above this rule does not pass `-nodefaultlibs`
@@ -865,7 +863,7 @@ STATIC_LIBS += \
$(SYSROOT_LIB)/libsetjmp.a
endif
-libc: $(INCLUDE_DIRS) $(STATIC_LIBS) builtins
+libc: $(INCLUDE_DIRS) $(STATIC_LIBS)
DUMMY := m rt pthread crypt util xnet resolv
DUMMY_LIBS := $(patsubst %,$(SYSROOT_LIB)/lib%.a,$(DUMMY))