rust: update to 1.63.0.

This commit is contained in:
Jan Christian Grünhage 2022-08-14 02:26:31 +02:00 committed by classabbyamp
parent 9151ff2b12
commit caef184732
20 changed files with 250 additions and 199 deletions

View File

@ -1,4 +1,4 @@
From 4443eca0d6b3ba599832b2f73a5350fdd0c90d10 Mon Sep 17 00:00:00 2001 From 99a046adc7d1c7b2da3a31e077722ea69f84eeb6 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org> From: Samuel Holland <samuel@sholland.org>
Date: Fri, 8 Sep 2017 00:04:29 -0500 Date: Fri, 8 Sep 2017 00:04:29 -0500
Subject: [PATCH 01/15] Fix LLVM build Subject: [PATCH 01/15] Fix LLVM build
@ -8,10 +8,10 @@ Subject: [PATCH 01/15] Fix LLVM build
1 file changed, 2 insertions(+), 1 deletion(-) 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
index a476d25f..c7e63990 100644 index 4ac857b47..b603ae90a 100644
--- a/src/bootstrap/lib.rs --- a/src/bootstrap/lib.rs
+++ b/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs
@@ -768,7 +768,8 @@ impl Build { @@ -1050,7 +1050,8 @@ impl Build {
.args() .args()
.iter() .iter()
.map(|s| s.to_string_lossy().into_owned()) .map(|s| s.to_string_lossy().into_owned())
@ -22,5 +22,5 @@ index a476d25f..c7e63990 100644
// If we're compiling on macOS then we add a few unconditional flags // If we're compiling on macOS then we add a few unconditional flags
-- --
2.26.2 2.37.2

View File

@ -1,5 +1,23 @@
From 7219ba1c9accbad9b530d312fd9a9f69330c93da Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Sun, 3 May 2020 17:53:33 +0200
Subject: [PATCH 02/15] Remove -nostdlib and musl_root from musl targets
extended by various void contributors to match our musl setup
---
compiler/rustc_target/src/spec/crt_objects.rs | 22 ----------
.../rustc_target/src/spec/linux_musl_base.rs | 7 ---
config.toml.example | 8 ----
src/bootstrap/cc_detect.rs | 25 +----------
src/bootstrap/compile.rs | 43 +------------------
src/bootstrap/config.rs | 9 ----
src/bootstrap/configure.py | 28 ------------
src/bootstrap/lib.rs | 19 --------
src/bootstrap/sanity.rs | 23 ----------
9 files changed, 3 insertions(+), 181 deletions(-)
diff --git a/compiler/rustc_target/src/spec/crt_objects.rs b/compiler/rustc_target/src/spec/crt_objects.rs diff --git a/compiler/rustc_target/src/spec/crt_objects.rs b/compiler/rustc_target/src/spec/crt_objects.rs
index 51f392a6..62560658 100644 index 52ac3622e..f35e5b9d8 100644
--- a/compiler/rustc_target/src/spec/crt_objects.rs --- a/compiler/rustc_target/src/spec/crt_objects.rs
+++ b/compiler/rustc_target/src/spec/crt_objects.rs +++ b/compiler/rustc_target/src/spec/crt_objects.rs
@@ -63,28 +63,6 @@ pub(super) fn all(obj: &'static str) -> CrtObjects { @@ -63,28 +63,6 @@ pub(super) fn all(obj: &'static str) -> CrtObjects {
@ -32,7 +50,7 @@ index 51f392a6..62560658 100644
new(&[ new(&[
(LinkOutputKind::DynamicNoPicExe, &["crt2.o", "rsbegin.o"]), (LinkOutputKind::DynamicNoPicExe, &["crt2.o", "rsbegin.o"]),
diff --git a/compiler/rustc_target/src/spec/linux_musl_base.rs b/compiler/rustc_target/src/spec/linux_musl_base.rs diff --git a/compiler/rustc_target/src/spec/linux_musl_base.rs b/compiler/rustc_target/src/spec/linux_musl_base.rs
index 207a87ab..88f807a5 100644 index 207a87ab0..88f807a58 100644
--- a/compiler/rustc_target/src/spec/linux_musl_base.rs --- a/compiler/rustc_target/src/spec/linux_musl_base.rs
+++ b/compiler/rustc_target/src/spec/linux_musl_base.rs +++ b/compiler/rustc_target/src/spec/linux_musl_base.rs
@@ -1,16 +1,9 @@ @@ -1,16 +1,9 @@
@ -53,10 +71,10 @@ index 207a87ab..88f807a5 100644
base base
} }
diff --git a/config.toml.example b/config.toml.example diff --git a/config.toml.example b/config.toml.example
index 6e53d9b4..74980d2c 100644 index b3284050f..62ac07f87 100644
--- a/config.toml.example --- a/config.toml.example
+++ b/config.toml.example +++ b/config.toml.example
@@ -511,14 +511,6 @@ changelog-seen = 2 @@ -523,14 +523,6 @@ changelog-seen = 2
# supplementary build information, like distro-specific package versions. # supplementary build information, like distro-specific package versions.
#description = <none> (string) #description = <none> (string)
@ -72,7 +90,7 @@ index 6e53d9b4..74980d2c 100644
# platforms to ensure that the compiler is usable by default from the build # platforms to ensure that the compiler is usable by default from the build
# directory (as it links to a number of dynamic libraries). This may not be # directory (as it links to a number of dynamic libraries). This may not be
diff --git a/src/bootstrap/cc_detect.rs b/src/bootstrap/cc_detect.rs diff --git a/src/bootstrap/cc_detect.rs b/src/bootstrap/cc_detect.rs
index 7ce44687..4e7507ae 100644 index dca782c29..8eb35ea43 100644
--- a/src/bootstrap/cc_detect.rs --- a/src/bootstrap/cc_detect.rs
+++ b/src/bootstrap/cc_detect.rs +++ b/src/bootstrap/cc_detect.rs
@@ -97,7 +97,7 @@ pub fn find(build: &mut Build) { @@ -97,7 +97,7 @@ pub fn find(build: &mut Build) {
@ -93,7 +111,7 @@ index 7ce44687..4e7507ae 100644
true true
} else { } else {
// Use an auto-detected compiler (or one configured via `CXX_target_triple` env vars). // Use an auto-detected compiler (or one configured via `CXX_target_triple` env vars).
@@ -157,7 +157,6 @@ fn set_compiler( @@ -161,7 +161,6 @@ fn set_compiler(
compiler: Language, compiler: Language,
target: TargetSelection, target: TargetSelection,
config: Option<&Target>, config: Option<&Target>,
@ -101,7 +119,7 @@ index 7ce44687..4e7507ae 100644
) { ) {
match &*target.triple { match &*target.triple {
// When compiling for android we may have the NDK configured in the // When compiling for android we may have the NDK configured in the
@@ -200,26 +199,6 @@ fn set_compiler( @@ -204,26 +203,6 @@ fn set_compiler(
} }
} }
@ -129,10 +147,10 @@ index 7ce44687..4e7507ae 100644
} }
} }
diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
index afc333b5..9d67ab56 100644 index b4807d1ab..ce483bf6b 100644
--- a/src/bootstrap/compile.rs --- a/src/bootstrap/compile.rs
+++ b/src/bootstrap/compile.rs +++ b/src/bootstrap/compile.rs
@@ -197,39 +197,7 @@ fn copy_self_contained_objects( @@ -200,39 +200,7 @@ fn copy_self_contained_objects(
let mut target_deps = vec![]; let mut target_deps = vec![];
// Copies the libc and CRT objects. // Copies the libc and CRT objects.
@ -173,7 +191,7 @@ index afc333b5..9d67ab56 100644
let srcdir = builder let srcdir = builder
.wasi_root(target) .wasi_root(target)
.unwrap_or_else(|| { .unwrap_or_else(|| {
@@ -313,15 +281,6 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car @@ -316,15 +284,6 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car
.arg("--manifest-path") .arg("--manifest-path")
.arg(builder.src.join("library/test/Cargo.toml")); .arg(builder.src.join("library/test/Cargo.toml"));
@ -190,10 +208,10 @@ index afc333b5..9d67ab56 100644
if let Some(p) = builder.wasi_root(target) { if let Some(p) = builder.wasi_root(target) {
let root = format!("native={}/lib/wasm32-wasi", p.to_str().unwrap()); let root = format!("native={}/lib/wasm32-wasi", p.to_str().unwrap());
diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
index 9534cc5f..642a5c24 100644 index 146077419..18a764689 100644
--- a/src/bootstrap/config.rs --- a/src/bootstrap/config.rs
+++ b/src/bootstrap/config.rs +++ b/src/bootstrap/config.rs
@@ -172,7 +172,6 @@ pub struct Config { @@ -186,7 +186,6 @@ pub struct Config {
pub missing_tools: bool, pub missing_tools: bool,
// Fallback musl-root for all targets // Fallback musl-root for all targets
@ -201,7 +219,7 @@ index 9534cc5f..642a5c24 100644
pub prefix: Option<PathBuf>, pub prefix: Option<PathBuf>,
pub sysconfdir: Option<PathBuf>, pub sysconfdir: Option<PathBuf>,
pub datadir: Option<PathBuf>, pub datadir: Option<PathBuf>,
@@ -299,8 +298,6 @@ pub struct Target { @@ -400,8 +399,6 @@ pub struct Target {
pub sanitizers: Option<bool>, pub sanitizers: Option<bool>,
pub profiler: Option<bool>, pub profiler: Option<bool>,
pub crt_static: Option<bool>, pub crt_static: Option<bool>,
@ -210,7 +228,7 @@ index 9534cc5f..642a5c24 100644
pub wasi_root: Option<PathBuf>, pub wasi_root: Option<PathBuf>,
pub qemu_rootfs: Option<PathBuf>, pub qemu_rootfs: Option<PathBuf>,
pub no_std: bool, pub no_std: bool,
@@ -587,7 +584,6 @@ struct Rust { @@ -689,7 +686,6 @@ define_config! {
default_linker: Option<String> = "default-linker", default_linker: Option<String> = "default-linker",
channel: Option<String> = "channel", channel: Option<String> = "channel",
description: Option<String> = "description", description: Option<String> = "description",
@ -218,7 +236,7 @@ index 9534cc5f..642a5c24 100644
rpath: Option<bool> = "rpath", rpath: Option<bool> = "rpath",
verbose_tests: Option<bool> = "verbose-tests", verbose_tests: Option<bool> = "verbose-tests",
optimize_tests: Option<bool> = "optimize-tests", optimize_tests: Option<bool> = "optimize-tests",
@@ -631,8 +627,6 @@ struct TomlTarget { @@ -734,8 +730,6 @@ define_config! {
sanitizers: Option<bool> = "sanitizers", sanitizers: Option<bool> = "sanitizers",
profiler: Option<bool> = "profiler", profiler: Option<bool> = "profiler",
crt_static: Option<bool> = "crt-static", crt_static: Option<bool> = "crt-static",
@ -227,7 +245,7 @@ index 9534cc5f..642a5c24 100644
wasi_root: Option<String> = "wasi-root", wasi_root: Option<String> = "wasi-root",
qemu_rootfs: Option<String> = "qemu-rootfs", qemu_rootfs: Option<String> = "qemu-rootfs",
no_std: Option<bool> = "no-std", no_std: Option<bool> = "no-std",
@@ -1013,7 +1007,6 @@ pub fn parse(args: &[String]) -> Config { @@ -1107,7 +1101,6 @@ impl Config {
set(&mut config.llvm_tools_enabled, rust.llvm_tools); set(&mut config.llvm_tools_enabled, rust.llvm_tools);
config.rustc_parallel = rust.parallel_compiler.unwrap_or(false); config.rustc_parallel = rust.parallel_compiler.unwrap_or(false);
config.rustc_default_linker = rust.default_linker; config.rustc_default_linker = rust.default_linker;
@ -235,7 +253,7 @@ index 9534cc5f..642a5c24 100644
config.save_toolstates = rust.save_toolstates.map(PathBuf::from); config.save_toolstates = rust.save_toolstates.map(PathBuf::from);
set(&mut config.deny_warnings, flags.deny_warnings.or(rust.deny_warnings)); set(&mut config.deny_warnings, flags.deny_warnings.or(rust.deny_warnings));
set(&mut config.backtrace_on_ice, rust.backtrace_on_ice); set(&mut config.backtrace_on_ice, rust.backtrace_on_ice);
@@ -1059,8 +1052,6 @@ pub fn parse(args: &[String]) -> Config { @@ -1164,8 +1157,6 @@ impl Config {
target.ranlib = cfg.ranlib.map(PathBuf::from); target.ranlib = cfg.ranlib.map(PathBuf::from);
target.linker = cfg.linker.map(PathBuf::from); target.linker = cfg.linker.map(PathBuf::from);
target.crt_static = cfg.crt_static; target.crt_static = cfg.crt_static;
@ -245,7 +263,7 @@ index 9534cc5f..642a5c24 100644
target.qemu_rootfs = cfg.qemu_rootfs.map(PathBuf::from); target.qemu_rootfs = cfg.qemu_rootfs.map(PathBuf::from);
target.sanitizers = cfg.sanitizers; target.sanitizers = cfg.sanitizers;
diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py
index 87a130a0..bd4c9197 100755 index 2fc036082..91737e0ea 100755
--- a/src/bootstrap/configure.py --- a/src/bootstrap/configure.py
+++ b/src/bootstrap/configure.py +++ b/src/bootstrap/configure.py
@@ -114,34 +114,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk", @@ -114,34 +114,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk",
@ -284,10 +302,10 @@ index 87a130a0..bd4c9197 100755
"rootfs in qemu testing, you probably don't want to use this") "rootfs in qemu testing, you probably don't want to use this")
v("qemu-aarch64-rootfs", "target.aarch64-unknown-linux-gnu.qemu-rootfs", v("qemu-aarch64-rootfs", "target.aarch64-unknown-linux-gnu.qemu-rootfs",
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
index 570a6174..f3d5f308 100644 index b603ae90a..0a7012dbd 100644
--- a/src/bootstrap/lib.rs --- a/src/bootstrap/lib.rs
+++ b/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs
@@ -1125,25 +1125,6 @@ fn crt_static(&self, target: TargetSelection) -> Option<bool> { @@ -1153,25 +1153,6 @@ impl Build {
} }
} }
@ -314,7 +332,7 @@ index 570a6174..f3d5f308 100644
fn wasi_root(&self, target: TargetSelection) -> Option<&Path> { fn wasi_root(&self, target: TargetSelection) -> Option<&Path> {
self.config.target_config.get(&target).and_then(|t| t.wasi_root.as_ref()).map(|p| &**p) self.config.target_config.get(&target).and_then(|t| t.wasi_root.as_ref()).map(|p| &**p)
diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs
index 8c2899c1..dda15d76 100644 index 64c5dd7ae..b8f9104ea 100644
--- a/src/bootstrap/sanity.rs --- a/src/bootstrap/sanity.rs
+++ b/src/bootstrap/sanity.rs +++ b/src/bootstrap/sanity.rs
@@ -11,7 +11,6 @@ @@ -11,7 +11,6 @@
@ -325,7 +343,7 @@ index 8c2899c1..dda15d76 100644
use std::path::PathBuf; use std::path::PathBuf;
use std::process::Command; use std::process::Command;
@@ -177,28 +176,6 @@ pub fn check(build: &mut Build) { @@ -190,28 +189,6 @@ than building it.
} }
} }
@ -354,3 +372,6 @@ index 8c2899c1..dda15d76 100644
if need_cmake && target.contains("msvc") { if need_cmake && target.contains("msvc") {
// There are three builds of cmake on windows: MSVC, MinGW, and // There are three builds of cmake on windows: MSVC, MinGW, and
// Cygwin. The Cygwin build does not have generators for Visual // Cygwin. The Cygwin build does not have generators for Visual
--
2.37.2

View File

@ -1,7 +1,7 @@
From f9a680688a685ec47ee5ec001574d9b91b4ba35e Mon Sep 17 00:00:00 2001 From 8938b002edbec432be46de7b6f1b9d0a6912873a Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org> From: Daniel Kolesa <daniel@octaforge.org>
Date: Mon, 20 Dec 2021 00:45:35 +0100 Date: Mon, 20 Dec 2021 00:45:35 +0100
Subject: [PATCH 3/9] move debugger scripts to /usr/share/rust Subject: [PATCH 03/15] move debugger scripts to /usr/share/rust
--- ---
src/bootstrap/dist.rs | 2 +- src/bootstrap/dist.rs | 2 +-
@ -11,10 +11,10 @@ Subject: [PATCH 3/9] move debugger scripts to /usr/share/rust
4 files changed, 5 insertions(+), 5 deletions(-) 4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
index d4875cfe1..e8b61b8a2 100644 index b1fae356d..e7a077134 100644
--- a/src/bootstrap/dist.rs --- a/src/bootstrap/dist.rs
+++ b/src/bootstrap/dist.rs +++ b/src/bootstrap/dist.rs
@@ -499,7 +499,7 @@ impl Step for DebuggerScripts { @@ -460,7 +460,7 @@ impl Step for DebuggerScripts {
fn run(self, builder: &Builder<'_>) { fn run(self, builder: &Builder<'_>) {
let host = self.host; let host = self.host;
let sysroot = self.sysroot; let sysroot = self.sysroot;
@ -65,5 +65,5 @@ index bce72f1ba..8abb01245 100755
# Call LLDB with the commands added to the argument list # Call LLDB with the commands added to the argument list
exec "$lldb" --one-line-before-file "$script_import" --source-before-file "$commands_file" "$@" exec "$lldb" --one-line-before-file "$script_import" --source-before-file "$commands_file" "$@"
-- --
2.34.1 2.37.2

View File

@ -1,7 +1,7 @@
From d5a6a431024790c911d04fd54381c515fb05819e Mon Sep 17 00:00:00 2001 From d7d7fc24d1744a3db70a9fb010c31daa14a46df7 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org> From: Daniel Kolesa <daniel@octaforge.org>
Date: Mon, 20 Dec 2021 00:55:18 +0100 Date: Mon, 20 Dec 2021 00:55:18 +0100
Subject: [PATCH 4/9] fix shebang on install-template.sh Subject: [PATCH 04/15] fix shebang on install-template.sh
--- ---
src/tools/rust-installer/install-template.sh | 2 +- src/tools/rust-installer/install-template.sh | 2 +-
@ -18,5 +18,5 @@ index e68be8911..beaa90f7b 100644
# file at the top-level directory of this distribution and at # file at the top-level directory of this distribution and at
# http://rust-lang.org/COPYRIGHT. # http://rust-lang.org/COPYRIGHT.
-- --
2.34.1 2.37.2

View File

@ -1,24 +0,0 @@
Additions for build.rs by q66, necessary for our musl setup.
From 1eb558f246269606c6d8d73824ef6b44fa10764e Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Sat, 9 Sep 2017 00:14:16 -0500
Subject: [PATCH 06/16] Prefer libgcc_eh over libunwind for musl
---
src/libunwind/lib.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/libunwind/lib.rs b/src/libunwind/lib.rs
index 9182e349b19..0377fbb58fc 100644
--- a/library/unwind/src/lib.rs
+++ b/library/unwind/src/lib.rs
@@ -51,7 +51,7 @@
#[link(name = "unwind", cfg(not(target_feature = "crt-static")))]
extern "C" {}
} else {
- #[link(name = "unwind", kind = "static", modifiers = "-bundle", cfg(target_feature = "crt-static"))]
+ #[link(name = "gcc_eh", cfg(target_feature = "crt-static"))]
#[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))]
extern "C" {}
}

View File

@ -1,17 +1,17 @@
From fc69414484327e4dbff138dd0834fc3bde626008 Mon Sep 17 00:00:00 2001 From 1335a445327a6605c5f933d9647b97e771089abd Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org> From: Daniel Kolesa <daniel@octaforge.org>
Date: Mon, 20 Dec 2021 01:44:54 +0100 Date: Mon, 20 Dec 2021 01:44:54 +0100
Subject: [PATCH 6/9] do not install libunwind source (removed) Subject: [PATCH 05/15] do not install libunwind source (removed)
--- ---
src/bootstrap/dist.rs | 2 +- src/bootstrap/dist.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
index e8b61b8a2..02d24a77d 100644 index e7a077134..74e75df4b 100644
--- a/src/bootstrap/dist.rs --- a/src/bootstrap/dist.rs
+++ b/src/bootstrap/dist.rs +++ b/src/bootstrap/dist.rs
@@ -849,7 +849,7 @@ impl Step for Src { @@ -804,7 +804,7 @@ impl Step for Src {
copy_src_dirs( copy_src_dirs(
builder, builder,
&builder.src, &builder.src,
@ -21,5 +21,5 @@ index e8b61b8a2..02d24a77d 100644
// not needed and contains symlinks which rustup currently // not needed and contains symlinks which rustup currently
// chokes on when unpacking. // chokes on when unpacking.
-- --
2.34.1 2.37.2

View File

@ -1,17 +1,17 @@
From 81ba387384e8ce0aa9bb9b4bd76014d922d85de8 Mon Sep 17 00:00:00 2001 From 50075907c3dd2f06d471b3375d7c0ee850263eb2 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org> From: Daniel Kolesa <daniel@octaforge.org>
Date: Mon, 20 Dec 2021 01:48:14 +0100 Date: Mon, 20 Dec 2021 01:48:14 +0100
Subject: [PATCH 7/9] fix rustdoc when cross-compiling Subject: [PATCH 06/15] fix rustdoc when cross-compiling
--- ---
src/bootstrap/bin/rustdoc.rs | 7 ++----- src/bootstrap/bin/rustdoc.rs | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-) 1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/src/bootstrap/bin/rustdoc.rs b/src/bootstrap/bin/rustdoc.rs diff --git a/src/bootstrap/bin/rustdoc.rs b/src/bootstrap/bin/rustdoc.rs
index e4396d530..cb2312028 100644 index 5f85fc5aa..01e81fc39 100644
--- a/src/bootstrap/bin/rustdoc.rs --- a/src/bootstrap/bin/rustdoc.rs
+++ b/src/bootstrap/bin/rustdoc.rs +++ b/src/bootstrap/bin/rustdoc.rs
@@ -22,14 +22,11 @@ fn main() { @@ -26,9 +26,6 @@ fn main() {
Err(_) => 0, Err(_) => 0,
}; };
@ -19,15 +19,18 @@ index e4396d530..cb2312028 100644
- dylib_path.insert(0, PathBuf::from(libdir.clone())); - dylib_path.insert(0, PathBuf::from(libdir.clone()));
- -
let mut cmd = Command::new(rustdoc); let mut cmd = Command::new(rustdoc);
cmd.args(&args)
.arg("--sysroot") // cfg(bootstrap)
.arg(&sysroot) @@ -43,7 +40,7 @@ fn main() {
- .env(dylib_path_var(), env::join_paths(&dylib_path).unwrap()); }
+ .env(dylib_path_var(), PathBuf::from(libdir.clone()));
cmd.args(&args);
- cmd.env(dylib_path_var(), env::join_paths(&dylib_path).unwrap());
+ cmd.env(dylib_path_var(), PathBuf::from(libdir.clone()));
// Force all crates compiled by this compiler to (a) be unstable and (b) // Force all crates compiled by this compiler to (a) be unstable and (b)
// allow the `rustc_private` feature to link to other unstable crates // allow the `rustc_private` feature to link to other unstable crates
@@ -62,7 +59,7 @@ fn main() { @@ -69,7 +66,7 @@ fn main() {
eprintln!( eprintln!(
"rustdoc command: {:?}={:?} {:?}", "rustdoc command: {:?}={:?} {:?}",
dylib_path_var(), dylib_path_var(),
@ -37,5 +40,5 @@ index e4396d530..cb2312028 100644
); );
eprintln!("sysroot: {:?}", sysroot); eprintln!("sysroot: {:?}", sysroot);
-- --
2.34.1 2.37.2

View File

@ -1,7 +1,7 @@
From 1c4a66621a5fa34c78fc020084e4166f3af7cbb5 Mon Sep 17 00:00:00 2001 From c2de45cbdaee1a8c81b2d65f6bced1439a738e00 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org> From: Daniel Kolesa <daniel@octaforge.org>
Date: Mon, 20 Dec 2021 01:48:49 +0100 Date: Mon, 20 Dec 2021 01:48:49 +0100
Subject: [PATCH 8/9] link stage 2 tools dynamically to libstd Subject: [PATCH 07/15] link stage 2 tools dynamically to libstd
stage 2 tools are the ones that are distributed, and we distribute stage 2 tools are the ones that are distributed, and we distribute
them together with the rust libs so there is no need to worry them together with the rust libs so there is no need to worry
@ -11,10 +11,10 @@ about unstable ABI
1 file changed, 2 insertions(+) 1 file changed, 2 insertions(+)
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
index 6750f7a54..de771280e 100644 index 62b5416ce..554dd4188 100644
--- a/src/bootstrap/builder.rs --- a/src/bootstrap/builder.rs
+++ b/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs
@@ -1520,6 +1520,8 @@ impl<'a> Builder<'a> { @@ -2066,6 +2066,8 @@ impl<'a> Builder<'a> {
// linking all deps statically into the dylib. // linking all deps statically into the dylib.
if matches!(mode, Mode::Std | Mode::Rustc) { if matches!(mode, Mode::Std | Mode::Rustc) {
rustflags.arg("-Cprefer-dynamic"); rustflags.arg("-Cprefer-dynamic");
@ -24,5 +24,5 @@ index 6750f7a54..de771280e 100644
// When building incrementally we default to a lower ThinLTO import limit // When building incrementally we default to a lower ThinLTO import limit
-- --
2.34.1 2.37.2

View File

@ -1,8 +1,18 @@
From f229c2bbd32deab98978d8453d0f44f23849fa09 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 3 May 2020 18:05:22 +0200
Subject: [PATCH 08/15] Void: fix linkage against host/target LLVM in cross
setups
---
compiler/rustc_llvm/build.rs | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/compiler/rustc_llvm/build.rs b/compiler/rustc_llvm/build.rs diff --git a/compiler/rustc_llvm/build.rs b/compiler/rustc_llvm/build.rs
index 36a6d2cc3..af4e1219f 100644 index 7729ec6be..66b8a4215 100644
--- a/compiler/rustc_llvm/build.rs --- a/compiler/rustc_llvm/build.rs
+++ b/compiler/rustc_llvm/build.rs +++ b/compiler/rustc_llvm/build.rs
@@ -230,9 +230,11 @@ fn main() { @@ -291,9 +291,11 @@ fn main() {
for lib in output(&mut cmd).split_whitespace() { for lib in output(&mut cmd).split_whitespace() {
if is_crossed { if is_crossed {
if let Some(stripped) = lib.strip_prefix("-LIBPATH:") { if let Some(stripped) = lib.strip_prefix("-LIBPATH:") {
@ -17,5 +27,5 @@ index 36a6d2cc3..af4e1219f 100644
} else if let Some(stripped) = lib.strip_prefix("-LIBPATH:") { } else if let Some(stripped) = lib.strip_prefix("-LIBPATH:") {
println!("cargo:rustc-link-search=native={}", stripped); println!("cargo:rustc-link-search=native={}", stripped);
-- --
2.34.1 2.37.2

View File

@ -0,0 +1,29 @@
From 5e9e5fa2b2aefefbdc00547d7f10ee92d9b3356a Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Tue, 21 Dec 2021 00:48:29 +0100
Subject: [PATCH 09/15] do not export LD_LIBRARY_PATH
---
src/bootstrap/bootstrap.py | 6 ------
1 file changed, 6 deletions(-)
diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py
index 40d478a17..3501fd901 100644
--- a/src/bootstrap/bootstrap.py
+++ b/src/bootstrap/bootstrap.py
@@ -756,12 +756,6 @@ class RustBuild(object):
del env["CARGO_BUILD_TARGET"]
env["CARGO_TARGET_DIR"] = build_dir
env["RUSTC"] = self.rustc()
- env["LD_LIBRARY_PATH"] = os.path.join(self.bin_root(), "lib") + \
- (os.pathsep + env["LD_LIBRARY_PATH"]) \
- if "LD_LIBRARY_PATH" in env else ""
- env["DYLD_LIBRARY_PATH"] = os.path.join(self.bin_root(), "lib") + \
- (os.pathsep + env["DYLD_LIBRARY_PATH"]) \
- if "DYLD_LIBRARY_PATH" in env else ""
env["LIBRARY_PATH"] = os.path.join(self.bin_root(), "lib") + \
(os.pathsep + env["LIBRARY_PATH"]) \
if "LIBRARY_PATH" in env else ""
--
2.37.2

View File

@ -1,18 +1,17 @@
From e363a0e0ff7ffc8bd83f72ec1a20d289996b6370 Mon Sep 17 00:00:00 2001 From 7e100ca9dad23efa1aafccd8faf86ec5fa85c351 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org> From: q66 <daniel@octaforge.org>
Date: Sun, 3 May 2020 18:02:03 +0200 Date: Sun, 3 May 2020 18:02:03 +0200
Subject: [PATCH 12/15] Fix dynamic linkage of musl libc for the libc crate Subject: [PATCH 10/15] Fix dynamic linkage of musl libc for the libc crate
--- ---
vendor/libc/src/lib.rs | 1 +
vendor/libc/src/unix/mod.rs | 6 +++--- vendor/libc/src/unix/mod.rs | 6 +++---
2 files changed, 4 insertions(+), 3 deletions(-) 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/vendor/libc/src/unix/mod.rs b/vendor/libc/src/unix/mod.rs diff --git a/vendor/libc/src/unix/mod.rs b/vendor/libc/src/unix/mod.rs
index 238da24b..ffb05ee7 100644 index ecee44411..7ae05f24e 100644
--- a/vendor/libc/src/unix/mod.rs --- a/vendor/libc/src/unix/mod.rs
+++ b/vendor/libc/src/unix/mod.rs +++ b/vendor/libc/src/unix/mod.rs
@@ -329,11 +329,11 @@ cfg_if! { @@ -337,11 +337,11 @@ cfg_if! {
#[link(name = "c", cfg(not(target_feature = "crt-static")))] #[link(name = "c", cfg(not(target_feature = "crt-static")))]
extern {} extern {}
} else if #[cfg(target_env = "musl")] { } else if #[cfg(target_env = "musl")] {
@ -20,14 +19,13 @@ index 238da24b..ffb05ee7 100644
+ extern {} + extern {}
#[cfg_attr(feature = "rustc-dep-of-std", #[cfg_attr(feature = "rustc-dep-of-std",
- link(name = "c", kind = "static", modifiers = "-bundle", - link(name = "c", kind = "static", modifiers = "-bundle",
+ link(name = "gcc", kind = "static-nobundle", + link(name = "gcc", kind = "static", modifiers = "-bundle",
cfg(target_feature = "crt-static")))] cfg(target_feature = "crt-static")))]
- #[cfg_attr(feature = "rustc-dep-of-std", - #[cfg_attr(feature = "rustc-dep-of-std",
- link(name = "c", cfg(not(target_feature = "crt-static"))))] - link(name = "c", cfg(not(target_feature = "crt-static"))))]
extern {} extern {}
} else if #[cfg(target_os = "emscripten")] { } else if #[cfg(target_os = "emscripten")] {
#[link(name = "c")] #[link(name = "c")]
index 0b1496af..7f7e85a7 100644
-- --
2.26.2 2.37.2

View File

@ -1,23 +0,0 @@
commit 798e44e67c0bac6509b7915767450b0381c94017
Author: Daniel Kolesa <daniel@octaforge.org>
Date: Tue Dec 21 00:48:29 2021 +0100
do not export LD_LIBRARY_PATH
diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py
index 0170be967..f7a9ec785 100644
--- a/src/bootstrap/bootstrap.py
+++ b/src/bootstrap/bootstrap.py
@@ -924,12 +924,6 @@ class RustBuild(object):
del env["CARGO_BUILD_TARGET"]
env["CARGO_TARGET_DIR"] = build_dir
env["RUSTC"] = self.rustc(True)
- env["LD_LIBRARY_PATH"] = os.path.join(self.bin_root(True), "lib") + \
- (os.pathsep + env["LD_LIBRARY_PATH"]) \
- if "LD_LIBRARY_PATH" in env else ""
- env["DYLD_LIBRARY_PATH"] = os.path.join(self.bin_root(True), "lib") + \
- (os.pathsep + env["DYLD_LIBRARY_PATH"]) \
- if "DYLD_LIBRARY_PATH" in env else ""
env["LIBRARY_PATH"] = os.path.join(self.bin_root(True), "lib") + \
(os.pathsep + env["LIBRARY_PATH"]) \
if "LIBRARY_PATH" in env else ""

View File

@ -1,24 +1,24 @@
From c6b54a373e74a1e4ce64f349b5b69105f2bc1a49 Mon Sep 17 00:00:00 2001 From de93abe8a0d9dc7878a48f61b9e3ae4a923020f6 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org> From: q66 <daniel@octaforge.org>
Date: Sun, 3 May 2020 18:08:09 +0200 Date: Sun, 3 May 2020 18:08:09 +0200
Subject: [PATCH 15/15] Use ELFv2 ABI on all powerpc64 targets Subject: [PATCH 11/15] Use ELFv2 ABI on all powerpc64 targets
This patches librustc_target so that ELFv2 is used everywhere, matching our 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 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, binaries), rustc never requests specific ABI from llvm in the first place,
so at least match the environment we have. so at least match the environment we have.
--- ---
src/librustc_target/abi/call/powerpc64.rs | 9 +-------- compiler/rustc_target/src/abi/call/powerpc64.rs | 9 +--------
src/librustc_target/spec/powerpc64_unknown_linux_gnu.rs | 6 +----- .../rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs | 6 +-----
2 files changed, 2 insertions(+), 13 deletions(-) 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 diff --git a/compiler/rustc_target/src/abi/call/powerpc64.rs b/compiler/rustc_target/src/abi/call/powerpc64.rs
index 8c2a9d09a..2dcbf2c09 100644 index c22ef9c8f..932172b2f 100644
--- a/compiler/rustc_target/src/abi/call/powerpc64.rs --- a/compiler/rustc_target/src/abi/call/powerpc64.rs
+++ b/compiler/rustc_target/src/abi/call/powerpc64.rs +++ b/compiler/rustc_target/src/abi/call/powerpc64.rs
@@ -119,14 +119,7 @@ where @@ -119,14 +119,7 @@ where
Ty: TyAndLayoutMethods<'a, C> + Copy, Ty: TyAbiInterface<'a, C> + Copy,
C: LayoutOf<Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout + HasTargetSpec, C: HasDataLayout + HasTargetSpec,
{ {
- let abi = if cx.target_spec().env == "musl" { - let abi = if cx.target_spec().env == "musl" {
- ELFv2 - ELFv2
@ -33,7 +33,7 @@ index 8c2a9d09a..2dcbf2c09 100644
if !fn_abi.ret.is_ignore() { if !fn_abi.ret.is_ignore() {
classify_ret(cx, &mut fn_abi.ret, abi); classify_ret(cx, &mut fn_abi.ret, abi);
diff --git a/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs diff --git a/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs
index 751022c12..c4d55a62e 100644 index 24d5d187e..aa594b02e 100644
--- a/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs --- a/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs
+++ b/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs
@@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
@ -44,7 +44,7 @@ index 751022c12..c4d55a62e 100644
pub fn target() -> Target { pub fn target() -> Target {
let mut base = super::linux_gnu_base::opts(); let mut base = super::linux_gnu_base::opts();
@@ -7,10 +7,6 @@ pub fn target() -> Target { @@ -7,10 +7,6 @@ pub fn target() -> Target {
base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-m64".to_string()); base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m64".into());
base.max_atomic_width = Some(64); base.max_atomic_width = Some(64);
- // ld.so in at least RHEL6 on ppc64 has a bug related to BIND_NOW, so only enable partial RELRO - // ld.so in at least RHEL6 on ppc64 has a bug related to BIND_NOW, so only enable partial RELRO
@ -52,8 +52,8 @@ index 751022c12..c4d55a62e 100644
- base.relro_level = RelroLevel::Partial; - base.relro_level = RelroLevel::Partial;
- -
Target { Target {
llvm_target: "powerpc64-unknown-linux-gnu".to_string(), llvm_target: "powerpc64-unknown-linux-gnu".into(),
pointer_width: 64, pointer_width: 64,
-- --
2.26.2 2.37.2

View File

@ -1,7 +1,7 @@
From 283619cf5ca25272b294525273ec42e9c7820edb Mon Sep 17 00:00:00 2001 From 4b803b211f765f6c6b18223e23670dbf754a980f Mon Sep 17 00:00:00 2001
From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Date: Sat, 29 May 2021 12:38:46 +0000 Date: Sat, 29 May 2021 12:38:46 +0000
Subject: [PATCH] bootstrap: Disable initial-exec TLS model on powerpc Subject: [PATCH 12/15] bootstrap: Disable initial-exec TLS model on powerpc
Fixes #81334. Fixes #81334.
--- ---
@ -9,10 +9,10 @@ Fixes #81334.
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
index 6750f7a549d..6032a685776 100644 index 554dd4188..6a02a225c 100644
--- a/src/bootstrap/builder.rs --- a/src/bootstrap/builder.rs
+++ b/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs
@@ -1299,7 +1299,7 @@ pub fn cargo( @@ -1844,7 +1844,7 @@ impl<'a> Builder<'a> {
// efficient initial-exec TLS model. This doesn't work with `dlopen`, // efficient initial-exec TLS model. This doesn't work with `dlopen`,
// so we can't use it by default in general, but we can use it for tools // so we can't use it by default in general, but we can use it for tools
// and our own internal libraries. // and our own internal libraries.
@ -21,3 +21,6 @@ index 6750f7a549d..6032a685776 100644
rustflags.arg("-Ztls-model=initial-exec"); rustflags.arg("-Ztls-model=initial-exec");
} }
--
2.37.2

View File

@ -1,8 +1,21 @@
From 236c0272667d69380d03984cfa8bad44b033fd69 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Tue, 21 Dec 2021 02:46:30 +0100
Subject: [PATCH 13/15] allow specifying native sysroot to use for linkage
This allows us to get around the linker attempting to use
incompatible libs.
---
src/bootstrap/builder.rs | 4 ++++
src/bootstrap/config.rs | 3 +++
src/bootstrap/lib.rs | 4 ++++
3 files changed, 11 insertions(+)
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
index e816f9b4..a2668fa9 100644 index 6a02a225c..483aa8818 100644
--- a/src/bootstrap/builder.rs --- a/src/bootstrap/builder.rs
+++ b/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs
@@ -1313,6 +1313,10 @@ pub fn cargo( @@ -1708,6 +1708,10 @@ impl<'a> Builder<'a> {
} }
} }
@ -14,10 +27,10 @@ index e816f9b4..a2668fa9 100644
cargo.env("RUSTC_HOST_LINKER", host_linker); cargo.env("RUSTC_HOST_LINKER", host_linker);
} }
diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
index 642a5c24..0dd4f879 100644 index 18a764689..f8b9bbd96 100644
--- a/src/bootstrap/config.rs --- a/src/bootstrap/config.rs
+++ b/src/bootstrap/config.rs +++ b/src/bootstrap/config.rs
@@ -294,6 +294,7 @@ pub struct Target { @@ -395,6 +395,7 @@ pub struct Target {
pub ranlib: Option<PathBuf>, pub ranlib: Option<PathBuf>,
pub default_linker: Option<PathBuf>, pub default_linker: Option<PathBuf>,
pub linker: Option<PathBuf>, pub linker: Option<PathBuf>,
@ -25,15 +38,15 @@ index 642a5c24..0dd4f879 100644
pub ndk: Option<PathBuf>, pub ndk: Option<PathBuf>,
pub sanitizers: Option<bool>, pub sanitizers: Option<bool>,
pub profiler: Option<bool>, pub profiler: Option<bool>,
@@ -621,6 +622,7 @@ struct TomlTarget { @@ -723,6 +724,7 @@ define_config! {
ranlib: Option<String> = "ranlib", ranlib: Option<String> = "ranlib",
default_linker: Option<PathBuf> = "default-linker", default_linker: Option<PathBuf> = "default-linker",
linker: Option<String> = "linker", linker: Option<String> = "linker",
+ sysroot: Option<String> = "sysroot", + sysroot: Option<String> = "sysroot",
llvm_config: Option<String> = "llvm-config", llvm_config: Option<String> = "llvm-config",
llvm_filecheck: Option<String> = "llvm-filecheck", llvm_filecheck: Option<String> = "llvm-filecheck",
android_ndk: Option<String> = "android-ndk", llvm_libunwind: Option<String> = "llvm-libunwind",
@@ -1051,6 +1053,7 @@ pub fn parse(args: &[String]) -> Config { @@ -1156,6 +1158,7 @@ impl Config {
target.ar = cfg.ar.map(PathBuf::from); target.ar = cfg.ar.map(PathBuf::from);
target.ranlib = cfg.ranlib.map(PathBuf::from); target.ranlib = cfg.ranlib.map(PathBuf::from);
target.linker = cfg.linker.map(PathBuf::from); target.linker = cfg.linker.map(PathBuf::from);
@ -42,17 +55,20 @@ index 642a5c24..0dd4f879 100644
target.wasi_root = cfg.wasi_root.map(PathBuf::from); target.wasi_root = cfg.wasi_root.map(PathBuf::from);
target.qemu_rootfs = cfg.qemu_rootfs.map(PathBuf::from); target.qemu_rootfs = cfg.qemu_rootfs.map(PathBuf::from);
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
index f3d5f308..7f8b9b27 100644 index 0a7012dbd..cded50d20 100644
--- a/src/bootstrap/lib.rs --- a/src/bootstrap/lib.rs
+++ b/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs
@@ -1125,6 +1125,10 @@ fn crt_static(&self, target: TargetSelection) -> Option<bool> { @@ -1152,6 +1152,10 @@ impl Build {
self.config.target_config.get(&target).and_then(|t| t.crt_static)
} }
} }
+
+ fn native_sysroot(&self, target: TargetSelection) -> Option<&Path> { + fn native_sysroot(&self, target: TargetSelection) -> Option<&Path> {
+ self.config.target_config.get(&target).and_then(|c| c.sysroot.as_ref()).map(|p| &**p) + self.config.target_config.get(&target).and_then(|c| c.sysroot.as_ref()).map(|p| &**p)
+ } + }
+
/// Returns the sysroot for the wasi target, if defined /// Returns the sysroot for the wasi target, if defined
fn wasi_root(&self, target: TargetSelection) -> Option<&Path> { fn wasi_root(&self, target: TargetSelection) -> Option<&Path> {
self.config.target_config.get(&target).and_then(|t| t.wasi_root.as_ref()).map(|p| &**p) --
2.37.2

View File

@ -0,0 +1,28 @@
From 0b057b456a5b24ce5cf898e47eddb7cbc7448fe2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Fri, 16 Apr 2021 03:34:16 -0300
Subject: [PATCH 14/15] copy new version of need-ssp_nonshared.patch from
alpine
---
library/std/src/sys/unix/mod.rs | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/library/std/src/sys/unix/mod.rs b/library/std/src/sys/unix/mod.rs
index 34a023b02..934a87570 100644
--- a/library/std/src/sys/unix/mod.rs
+++ b/library/std/src/sys/unix/mod.rs
@@ -297,6 +297,10 @@ cfg_if::cfg_if! {
#[link(name = "dl")]
#[link(name = "log")]
extern "C" {}
+ } else if #[cfg(all(target_os = "linux", target_env = "musl"))] {
+ #[link(name = "ssp_nonshared")]
+ #[link(name = "execinfo")]
+ extern "C" {}
} else if #[cfg(target_os = "freebsd")] {
#[link(name = "execinfo")]
#[link(name = "pthread")]
--
2.37.2

View File

@ -1,8 +1,40 @@
From 2b3b4a11dd75ff43e0f1f12de395d0ce29f8555f Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sat, 3 Jul 2021 21:02:03 +0200
Subject: [PATCH 15/15] initial ppcle port
---
compiler/rustc_middle/src/ty/layout.rs | 5 ++++-
compiler/rustc_target/src/spec/mod.rs | 2 ++
.../src/spec/powerpcle_unknown_linux_gnu.rs | 15 +++++++++++++++
.../src/spec/powerpcle_unknown_linux_musl.rs | 15 +++++++++++++++
src/bootstrap/bootstrap.py | 2 ++
.../codegen/abi-main-signature-16bit-c-int.rs | 1 +
src/test/codegen/global_asm.rs | 1 +
src/test/codegen/global_asm_include.rs | 1 +
src/test/codegen/global_asm_x2.rs | 1 +
src/test/codegen/repr-transparent-aggregates-1.rs | 1 +
src/test/codegen/repr-transparent-aggregates-2.rs | 1 +
src/test/codegen/stack-probes.rs | 1 +
.../run-make-fulldeps/atomic-lock-free/Makefile | 2 ++
src/test/ui/abi/stack-probes-lto.rs | 1 +
src/test/ui/abi/stack-probes.rs | 1 +
src/test/ui/target-feature/gate.rs | 1 +
src/test/ui/target-feature/invalid-attribute.rs | 1 +
src/tools/compiletest/src/util.rs | 1 +
vendor/cc/src/lib.rs | 1 +
vendor/target-lexicon/src/targets.rs | 7 +++++++
vendor/tikv-jemallocator/benches/roundtrip.rs | 3 ++-
vendor/tikv-jemallocator/src/lib.rs | 3 ++-
22 files changed, 64 insertions(+), 3 deletions(-)
create mode 100644 compiler/rustc_target/src/spec/powerpcle_unknown_linux_gnu.rs
create mode 100644 compiler/rustc_target/src/spec/powerpcle_unknown_linux_musl.rs
diff --git a/compiler/rustc_middle/src/ty/layout.rs b/compiler/rustc_middle/src/ty/layout.rs diff --git a/compiler/rustc_middle/src/ty/layout.rs b/compiler/rustc_middle/src/ty/layout.rs
index 0c1ab67cc..8d4e5f3cb 100644 index 3b05e42a5..66420f507 100644
--- a/compiler/rustc_middle/src/ty/layout.rs --- a/compiler/rustc_middle/src/ty/layout.rs
+++ b/compiler/rustc_middle/src/ty/layout.rs +++ b/compiler/rustc_middle/src/ty/layout.rs
@@ -3057,6 +3057,8 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> { @@ -3205,6 +3205,8 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
target.os == "linux" && target.arch == "sparc64" && target_env_gnu_like; target.os == "linux" && target.arch == "sparc64" && target_env_gnu_like;
let linux_powerpc_gnu_like = let linux_powerpc_gnu_like =
target.os == "linux" && target.arch == "powerpc" && target_env_gnu_like; target.os == "linux" && target.arch == "powerpc" && target_env_gnu_like;
@ -11,7 +43,7 @@ index 0c1ab67cc..8d4e5f3cb 100644
use SpecAbi::*; use SpecAbi::*;
let rust_abi = matches!(sig.abi, RustIntrinsic | PlatformIntrinsic | Rust | RustCall); let rust_abi = matches!(sig.abi, RustIntrinsic | PlatformIntrinsic | Rust | RustCall);
@@ -3165,7 +3167,8 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> { @@ -3311,7 +3313,8 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
|| (!win_x64_gnu || (!win_x64_gnu
&& !linux_s390x_gnu_like && !linux_s390x_gnu_like
&& !linux_sparc64_gnu_like && !linux_sparc64_gnu_like
@ -22,10 +54,10 @@ index 0c1ab67cc..8d4e5f3cb 100644
arg.mode = PassMode::Ignore; arg.mode = PassMode::Ignore;
} }
diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs
index bd5b712c1..f60be010c 100644 index da0589cdd..2db403913 100644
--- a/compiler/rustc_target/src/spec/mod.rs --- a/compiler/rustc_target/src/spec/mod.rs
+++ b/compiler/rustc_target/src/spec/mod.rs +++ b/compiler/rustc_target/src/spec/mod.rs
@@ -824,6 +824,8 @@ supported_targets! { @@ -831,6 +831,8 @@ supported_targets! {
("powerpc-unknown-linux-gnu", powerpc_unknown_linux_gnu), ("powerpc-unknown-linux-gnu", powerpc_unknown_linux_gnu),
("powerpc-unknown-linux-gnuspe", powerpc_unknown_linux_gnuspe), ("powerpc-unknown-linux-gnuspe", powerpc_unknown_linux_gnuspe),
("powerpc-unknown-linux-musl", powerpc_unknown_linux_musl), ("powerpc-unknown-linux-musl", powerpc_unknown_linux_musl),
@ -77,10 +109,10 @@ index 000000000..a826b6e47
+ } + }
+} +}
diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py
index 71b8f3c45..1505c12e4 100644 index 3501fd901..a28f456d3 100644
--- a/src/bootstrap/bootstrap.py --- a/src/bootstrap/bootstrap.py
+++ b/src/bootstrap/bootstrap.py +++ b/src/bootstrap/bootstrap.py
@@ -320,9 +320,11 @@ def default_build_triple(verbose): @@ -339,9 +339,11 @@ def default_build_triple(verbose):
'i786': 'i686', 'i786': 'i686',
'm68k': 'm68k', 'm68k': 'm68k',
'powerpc': 'powerpc', 'powerpc': 'powerpc',
@ -141,7 +173,7 @@ index bdcf0ea84..1e2ff8b8d 100644
// ignore-amdgcn // ignore-amdgcn
// ignore-sparc // ignore-sparc
diff --git a/src/test/codegen/repr-transparent-aggregates-1.rs b/src/test/codegen/repr-transparent-aggregates-1.rs diff --git a/src/test/codegen/repr-transparent-aggregates-1.rs b/src/test/codegen/repr-transparent-aggregates-1.rs
index 4ad3642c0..fca31c0c6 100644 index 9d18c5f03..8e69d2afd 100644
--- a/src/test/codegen/repr-transparent-aggregates-1.rs --- a/src/test/codegen/repr-transparent-aggregates-1.rs
+++ b/src/test/codegen/repr-transparent-aggregates-1.rs +++ b/src/test/codegen/repr-transparent-aggregates-1.rs
@@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
@ -238,10 +270,10 @@ index ad1b6e96b..122d59a57 100644
// ignore-powerpc64le // ignore-powerpc64le
// ignore-riscv64 // ignore-riscv64
diff --git a/src/tools/compiletest/src/util.rs b/src/tools/compiletest/src/util.rs diff --git a/src/tools/compiletest/src/util.rs b/src/tools/compiletest/src/util.rs
index bed509d77..8bc817897 100644 index 215af347f..a1c7e4c6a 100644
--- a/src/tools/compiletest/src/util.rs --- a/src/tools/compiletest/src/util.rs
+++ b/src/tools/compiletest/src/util.rs +++ b/src/tools/compiletest/src/util.rs
@@ -70,6 +70,7 @@ const ARCH_TABLE: &[(&str, &str)] = &[ @@ -71,6 +71,7 @@ const ARCH_TABLE: &[(&str, &str)] = &[
("msp430", "msp430"), ("msp430", "msp430"),
("nvptx64", "nvptx64"), ("nvptx64", "nvptx64"),
("powerpc", "powerpc"), ("powerpc", "powerpc"),
@ -342,3 +374,6 @@ index 4a9397331..4cf47c05d 100644
)))] )))]
const ALIGNOF_MAX_ALIGN_T: usize = 8; const ALIGNOF_MAX_ALIGN_T: usize = 8;
#[cfg(all(any( #[cfg(all(any(
--
2.37.2

View File

@ -1,33 +0,0 @@
From beb4e16f055aa7925194fd2c360105a6d55f10f6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lo=C3=AFc=20BRANSTETT?= <lolo.branstett@numericable.fr>
Date: Wed, 27 Apr 2022 19:11:56 +0200
Subject: [PATCH] Add missing `target_feature` to the list of well known cfg
names
---
compiler/rustc_session/src/config.rs | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/compiler/rustc_session/src/config.rs b/compiler/rustc_session/src/config.rs
index 12c5c4445d46f..330201dd8fef6 100644
--- a/compiler/rustc_session/src/config.rs
+++ b/compiler/rustc_session/src/config.rs
@@ -1038,6 +1038,7 @@ impl CrateCheckConfig {
sym::target_has_atomic_load_store,
sym::target_has_atomic,
sym::target_has_atomic_equal_alignment,
+ sym::target_feature,
sym::panic,
sym::sanitize,
sym::debug_assertions,
@@ -1081,6 +1082,10 @@ impl CrateCheckConfig {
.into_iter()
.map(|sanitizer| Symbol::intern(sanitizer.as_str().unwrap()));
+ // Unknown possible values:
+ // - `feature`
+ // - `target_feature`
+
// No-values
for name in [
sym::doc,

View File

@ -1,13 +0,0 @@
--- a/library/std/src/sys/unix/mod.rs
+++ b/library/std/src/sys/unix/mod.rs
@@ -212,6 +212,10 @@ cfg_if::cfg_if! {
#[link(name = "log")]
#[link(name = "gcc")]
extern "C" {}
+ } else if #[cfg(all(target_os = "linux", target_env = "musl"))] {
+ #[link(name = "ssp_nonshared")]
+ #[link(name = "execinfo")]
+ extern "C" {}
} else if #[cfg(target_os = "freebsd")] {
#[link(name = "execinfo")]
#[link(name = "pthread")]

View File

@ -8,7 +8,7 @@
# uploaded to https://repo-default.voidlinux.org/distfiles/ # uploaded to https://repo-default.voidlinux.org/distfiles/
# #
pkgname=rust pkgname=rust
version=1.61.0 version=1.63.0
revision=1 revision=1
wrksrc="rustc-${version}-src" wrksrc="rustc-${version}-src"
hostmakedepends="cmake curl pkg-config python3 tar cargo-bootstrap" hostmakedepends="cmake curl pkg-config python3 tar cargo-bootstrap"
@ -19,7 +19,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
license="MIT, Apache-2.0" license="MIT, Apache-2.0"
homepage="https://www.rust-lang.org/" homepage="https://www.rust-lang.org/"
distfiles="https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz" distfiles="https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"
checksum=ad0b4351675aa9abdf4c7e066613bd274c4391c5506db152983426376101daed checksum=1f9580295642ef5da7e475a8da2397d65153d3f2cb92849dbd08ed0effca99d0
lib32disabled=yes lib32disabled=yes
make_check=no # CBA for now make_check=no # CBA for now
@ -127,6 +127,7 @@ do_configure() {
incremental = false incremental = false
parallel-compiler = false parallel-compiler = false
channel = "stable" channel = "stable"
description = "Void Linux"
rpath = ${_use_rpath} rpath = ${_use_rpath}
verbose-tests = true verbose-tests = true
dist-src = false dist-src = false