rust: update to 1.82.0

This commit is contained in:
tranzystorekk 2024-10-18 00:12:42 +02:00
parent cf15b72e19
commit 9dbdc61231
5 changed files with 84 additions and 45 deletions

View File

@ -6,12 +6,11 @@ Subject: [PATCH 02/15] Remove -nostdlib and musl_root from musl targets
extended by various void contributors to match our musl setup
diff --git a/compiler/rustc_target/src/spec/base/linux_musl.rs b/compiler/rustc_target/src/spec/base/linux_musl.rs
index 5117cadbe..c7d0433bb 100644
index 42aa1e1a6..c7d0433bb 100644
--- a/compiler/rustc_target/src/spec/base/linux_musl.rs
+++ b/compiler/rustc_target/src/spec/base/linux_musl.rs
@@ -1,16 +1,9 @@
-use crate::spec::crt_objects;
-use crate::spec::{base, LinkSelfContainedDefault, TargetOptions};
@@ -1,15 +1,9 @@
-use crate::spec::{base, crt_objects, LinkSelfContainedDefault, TargetOptions};
+use crate::spec::{base, TargetOptions};
pub fn opts() -> TargetOptions {
@ -28,10 +27,10 @@ index 5117cadbe..c7d0433bb 100644
base
}
diff --git a/compiler/rustc_target/src/spec/crt_objects.rs b/compiler/rustc_target/src/spec/crt_objects.rs
index 53f710b8f..2a4eec15f 100644
index e3b6430a4..13a96e2cb 100644
--- a/compiler/rustc_target/src/spec/crt_objects.rs
+++ b/compiler/rustc_target/src/spec/crt_objects.rs
@@ -61,28 +61,6 @@ pub(super) fn all(obj: &'static str) -> CrtObjects {
@@ -62,28 +62,6 @@ pub(super) fn all(obj: &'static str) -> CrtObjects {
])
}
@ -61,10 +60,10 @@ index 53f710b8f..2a4eec15f 100644
new(&[
(LinkOutputKind::DynamicNoPicExe, &["crt2.o", "rsbegin.o"]),
diff --git a/config.example.toml b/config.example.toml
index 26687bcfb..6a23e4cdd 100644
index f1dc32234..462a86f5b 100644
--- a/config.example.toml
+++ b/config.example.toml
@@ -591,14 +591,6 @@
@@ -599,14 +599,6 @@
# behavior -- this may lead to miscompilations or other bugs.
#description = ""
@ -119,10 +118,10 @@ index 768aac912..6aebd9189 100755
"riscv32gc-unknown-linux-musl install directory")
v("musl-root-riscv64gc", "target.riscv64gc-unknown-linux-musl.musl-root",
diff --git a/src/bootstrap/src/core/build_steps/compile.rs b/src/bootstrap/src/core/build_steps/compile.rs
index 3e79acad1..ebcdc479a 100644
index edf18e2eb..7597d6cd2 100644
--- a/src/bootstrap/src/core/build_steps/compile.rs
+++ b/src/bootstrap/src/core/build_steps/compile.rs
@@ -362,39 +362,7 @@ fn copy_self_contained_objects(
@@ -372,39 +372,7 @@ fn copy_self_contained_objects(
let mut target_deps = vec![];
// Copies the libc and CRT objects.
@ -163,7 +162,7 @@ index 3e79acad1..ebcdc479a 100644
let srcdir = builder.wasi_libdir(target).unwrap_or_else(|| {
panic!(
"Target {:?} does not have a \"wasi-root\" key in Config.toml \
@@ -502,15 +470,6 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car
@@ -566,15 +534,6 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car
.arg("--manifest-path")
.arg(builder.src.join("library/sysroot/Cargo.toml"));
@ -180,10 +179,10 @@ index 3e79acad1..ebcdc479a 100644
if let Some(dir) = builder.wasi_libdir(target) {
let root = format!("native={}", dir.to_str().unwrap());
diff --git a/src/bootstrap/src/core/config/config.rs b/src/bootstrap/src/core/config/config.rs
index 9d5aa795c..c44e8a2b2 100644
index bdfee55d8..18db92320 100644
--- a/src/bootstrap/src/core/config/config.rs
+++ b/src/bootstrap/src/core/config/config.rs
@@ -314,7 +314,6 @@ pub struct Config {
@@ -321,7 +321,6 @@ pub struct Config {
pub print_step_rusage: bool,
// Fallback musl-root for all targets
@ -191,7 +190,7 @@ index 9d5aa795c..c44e8a2b2 100644
pub prefix: Option<PathBuf>,
pub sysconfdir: Option<PathBuf>,
pub datadir: Option<PathBuf>,
@@ -558,8 +557,6 @@ pub struct Target {
@@ -582,8 +581,6 @@ pub struct Target {
pub profiler: Option<StringOrBool>,
pub rpath: Option<bool>,
pub crt_static: Option<bool>,
@ -200,7 +199,7 @@ index 9d5aa795c..c44e8a2b2 100644
pub wasi_root: Option<PathBuf>,
pub qemu_rootfs: Option<PathBuf>,
pub runner: Option<String>,
@@ -1079,7 +1076,6 @@ define_config! {
@@ -1104,7 +1101,6 @@ define_config! {
default_linker: Option<String> = "default-linker",
channel: Option<String> = "channel",
description: Option<String> = "description",
@ -208,7 +207,7 @@ index 9d5aa795c..c44e8a2b2 100644
rpath: Option<bool> = "rpath",
strip: Option<bool> = "strip",
frame_pointers: Option<bool> = "frame-pointers",
@@ -1133,8 +1129,6 @@ define_config! {
@@ -1158,8 +1154,6 @@ define_config! {
profiler: Option<StringOrBool> = "profiler",
rpath: Option<bool> = "rpath",
crt_static: Option<bool> = "crt-static",
@ -217,7 +216,7 @@ index 9d5aa795c..c44e8a2b2 100644
wasi_root: Option<String> = "wasi-root",
qemu_rootfs: Option<String> = "qemu-rootfs",
no_std: Option<bool> = "no-std",
@@ -1599,7 +1593,6 @@ impl Config {
@@ -1632,7 +1626,6 @@ impl Config {
default_linker,
channel,
description,
@ -225,7 +224,7 @@ index 9d5aa795c..c44e8a2b2 100644
rpath,
verbose_tests,
optimize_tests,
@@ -1687,7 +1680,6 @@ impl Config {
@@ -1722,7 +1715,6 @@ impl Config {
config.rustc_parallel =
parallel_compiler.unwrap_or(config.channel == "dev" || config.channel == "nightly");
config.rustc_default_linker = default_linker;
@ -233,7 +232,7 @@ index 9d5aa795c..c44e8a2b2 100644
config.save_toolstates = save_toolstates.map(PathBuf::from);
set(
&mut config.deny_warnings,
@@ -1906,8 +1898,6 @@ impl Config {
@@ -1973,8 +1965,6 @@ impl Config {
target.ranlib = cfg.ranlib.map(PathBuf::from);
target.linker = cfg.linker.map(PathBuf::from);
target.crt_static = cfg.crt_static;
@ -242,7 +241,7 @@ index 9d5aa795c..c44e8a2b2 100644
target.wasi_root = cfg.wasi_root.map(PathBuf::from);
target.qemu_rootfs = cfg.qemu_rootfs.map(PathBuf::from);
target.runner = cfg.runner;
@@ -2667,7 +2657,6 @@ fn check_incompatible_options_for_ci_rustc(rust: &Rust) {
@@ -2919,7 +2909,6 @@ fn check_incompatible_options_for_ci_rustc(
split_debuginfo: _,
backtrace: _,
parallel_compiler: _,
@ -251,18 +250,19 @@ index 9d5aa795c..c44e8a2b2 100644
optimize_tests: _,
codegen_tests: _,
diff --git a/src/bootstrap/src/core/sanity.rs b/src/bootstrap/src/core/sanity.rs
index 2be819d52..daedfb521 100644
index 60ec57d0d..31b411259 100644
--- a/src/bootstrap/src/core/sanity.rs
+++ b/src/bootstrap/src/core/sanity.rs
@@ -11,7 +11,6 @@
use std::collections::HashMap;
use std::env;
@@ -11,7 +11,7 @@
use std::collections::{HashMap, HashSet};
use std::ffi::{OsStr, OsString};
-use std::fs;
use std::path::PathBuf;
-use std::{env, fs};
+use std::env;
#[cfg(not(feature = "bootstrap-self-test"))]
@@ -326,28 +325,6 @@ than building it.
use crate::builder::Builder;
@@ -325,28 +325,6 @@ than building it.
continue;
}
@ -292,10 +292,10 @@ index 2be819d52..daedfb521 100644
// There are three builds of cmake on windows: MSVC, MinGW, and
// Cygwin. The Cygwin build does not have generators for Visual
diff --git a/src/bootstrap/src/lib.rs b/src/bootstrap/src/lib.rs
index a8555b2c3..b0325f309 100644
index 82b640f54..d906d2186 100644
--- a/src/bootstrap/src/lib.rs
+++ b/src/bootstrap/src/lib.rs
@@ -1317,25 +1317,6 @@ Executed at: {executed_at}"#,
@@ -1282,25 +1282,6 @@ Executed at: {executed_at}"#,
}
}
@ -322,7 +322,7 @@ index a8555b2c3..b0325f309 100644
/// configured.
///
diff --git a/src/bootstrap/src/utils/cc_detect.rs b/src/bootstrap/src/utils/cc_detect.rs
index 20d79e490..1f8b880d8 100644
index 29e6b74aa..a32fddbac 100644
--- a/src/bootstrap/src/utils/cc_detect.rs
+++ b/src/bootstrap/src/utils/cc_detect.rs
@@ -197,30 +197,6 @@ fn default_compiler(

View File

@ -3,10 +3,30 @@ From: q66 <daniel@octaforge.org>
Date: Sun, 3 May 2020 18:02:03 +0200
Subject: [PATCH 10/15] Fix dynamic linkage of musl libc for the libc crate
diff --git a/vendor/libc-0.2.155/src/unix/mod.rs b/vendor/libc-0.2.155/src/unix/mod.rs
index 49984d3f0..6c3b5a47e 100644
--- a/vendor/libc-0.2.155/src/unix/mod.rs
+++ b/vendor/libc-0.2.155/src/unix/mod.rs
diff --git a/vendor/libc-0.2.157/src/unix/mod.rs b/vendor/libc-0.2.157/src/unix/mod.rs
index 8b3d988ae..b4ab3db3f 100644
--- a/vendor/libc-0.2.157/src/unix/mod.rs
+++ b/vendor/libc-0.2.157/src/unix/mod.rs
@@ -347,7 +347,14 @@ cfg_if! {
#[link(name = "dl", cfg(not(target_feature = "crt-static")))]
#[link(name = "c", cfg(not(target_feature = "crt-static")))]
extern {}
- } else if #[cfg(any(target_env = "musl", target_env = "ohos"))] {
+ } else if #[cfg(target_env = "musl")] {
+ #[link(name = "c")]
+ extern {}
+ #[cfg_attr(feature = "rustc-dep-of-std",
+ link(name = "gcc", kind = "static", modifiers = "-bundle",
+ cfg(target_feature = "crt-static")))]
+ extern {}
+ } else if #[cfg(target_env = "ohos")] {
#[cfg_attr(feature = "rustc-dep-of-std",
link(name = "c", kind = "static", modifiers = "-bundle",
cfg(target_feature = "crt-static")))]
diff --git a/vendor/libc-0.2.158/src/unix/mod.rs b/vendor/libc-0.2.158/src/unix/mod.rs
index 8b3d988ae..b4ab3db3f 100644
--- a/vendor/libc-0.2.158/src/unix/mod.rs
+++ b/vendor/libc-0.2.158/src/unix/mod.rs
@@ -347,7 +347,14 @@ cfg_if! {
#[link(name = "dl", cfg(not(target_feature = "crt-static")))]
#[link(name = "c", cfg(not(target_feature = "crt-static")))]

View File

@ -7,16 +7,21 @@ This patches librustc_target so that ELFv2 is used everywhere, matching our
LLVM. While this is not perfect (it does not allow rustc to compile legacy
binaries), rustc never requests specific ABI from llvm in the first place,
so at least match the environment we have.
---
compiler/rustc_target/src/abi/call/powerpc64.rs | 9 +--------
.../rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs | 6 +-----
2 files changed, 2 insertions(+), 13 deletions(-)
diff --git a/compiler/rustc_target/src/abi/call/powerpc64.rs b/compiler/rustc_target/src/abi/call/powerpc64.rs
index 359bb8fc0..414c70cea 100644
index 749eea0ef..1dfa3cbd0 100644
--- a/compiler/rustc_target/src/abi/call/powerpc64.rs
+++ b/compiler/rustc_target/src/abi/call/powerpc64.rs
@@ -119,14 +119,7 @@ where
@@ -3,7 +3,7 @@
// need to be fixed when PowerPC vector support is added.
use crate::abi::call::{Align, ArgAbi, FnAbi, Reg, RegKind, Uniform};
-use crate::abi::{Endian, HasDataLayout, TyAbiInterface};
+use crate::abi::{HasDataLayout, TyAbiInterface};
use crate::spec::HasTargetSpec;
#[derive(Debug, Clone, Copy, PartialEq)]
@@ -91,14 +91,7 @@ where
Ty: TyAbiInterface<'a, C> + Copy,
C: HasDataLayout + HasTargetSpec,
{
@ -30,5 +35,5 @@ index 359bb8fc0..414c70cea 100644
- };
+ let abi = ELFv2;
if !fn_abi.ret.is_ignore() {
classify_ret(cx, &mut fn_abi.ret, abi);
classify(cx, &mut fn_abi.ret, abi, true);

View File

@ -0,0 +1,13 @@
diff --git a/src/bootstrap/src/lib.rs b/src/bootstrap/src/lib.rs
index 82b640f54..83fe7660c 100644
--- a/src/bootstrap/src/lib.rs
+++ b/src/bootstrap/src/lib.rs
@@ -484,7 +484,7 @@ impl Build {
pub fn require_submodule(&self, submodule: &str, err_hint: Option<&str>) {
// When testing bootstrap itself, it is much faster to ignore
// submodules. Almost all Steps work fine without their submodules.
- if cfg!(test) && !self.config.submodules() {
+ if cfg!(test) || !self.config.submodules() {
return;
}
self.config.update_submodule(submodule);

View File

@ -8,17 +8,17 @@
# uploaded to https://repo-default.voidlinux.org/distfiles/
#
pkgname=rust
version=1.81.0
version=1.82.0
revision=1
hostmakedepends="curl pkg-config python3 tar cargo-bootstrap"
makedepends="libffi-devel ncurses-devel libxml2-devel zlib-devel llvm18-devel"
depends="rust-std gcc"
short_desc="Safe, concurrent, practical systems language"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="MIT, Apache-2.0"
license="Apache-2.0 OR MIT"
homepage="https://www.rust-lang.org/"
distfiles="https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"
checksum=872448febdff32e50c3c90a7e15f9bb2db131d13c588fe9071b0ed88837ccfa7
checksum=7c53f4509eda184e174efa6ba7d5eeb586585686ce8edefc781a2b11a7cf512a
lib32disabled=yes
make_check=no # CBA for now
python_version=3 # needed for python files in rust-src
@ -58,7 +58,8 @@ post_patch() {
fi
# clear out all the checksum nonsense of patched vendor crates
_clear_vendor_checksums libc-0.2.155
_clear_vendor_checksums libc-0.2.157
_clear_vendor_checksums libc-0.2.158
# pre-configure 01-override-config overwrites vendor files
_clear_vendor_checksums onig_sys-69.8.1