mirror of
https://github.com/void-linux/void-packages.git
synced 2025-07-25 23:12:57 +02:00
rust: update to 1.61.0
Co-Authored-By: q66 <daniel@octaforge.org>
This commit is contained in:
parent
a2bbf9e10f
commit
c804009721
8 changed files with 171 additions and 380 deletions
|
@ -1,8 +1,8 @@
|
|||
diff --git a/compiler/rustc_target/src/spec/crt_objects.rs b/compiler/rustc_target/src/spec/crt_objects.rs
|
||||
index 2fc9ab29f92..27673615968 100644
|
||||
index 51f392a6..62560658 100644
|
||||
--- a/compiler/rustc_target/src/spec/crt_objects.rs
|
||||
+++ b/compiler/rustc_target/src/spec/crt_objects.rs
|
||||
@@ -62,28 +62,6 @@ pub(super) fn all(obj: &str) -> CrtObjects {
|
||||
@@ -63,28 +63,6 @@ pub(super) fn all(obj: &'static str) -> CrtObjects {
|
||||
])
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,7 @@ index 2fc9ab29f92..27673615968 100644
|
|||
new(&[
|
||||
(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
|
||||
index 5038a967d0a..b3c0e5bc416 100644
|
||||
index 207a87ab..88f807a5 100644
|
||||
--- a/compiler/rustc_target/src/spec/linux_musl_base.rs
|
||||
+++ b/compiler/rustc_target/src/spec/linux_musl_base.rs
|
||||
@@ -1,16 +1,9 @@
|
||||
|
@ -42,7 +42,7 @@ index 5038a967d0a..b3c0e5bc416 100644
|
|||
pub fn opts() -> TargetOptions {
|
||||
let mut base = super::linux_base::opts();
|
||||
|
||||
base.env = "musl".to_string();
|
||||
base.env = "musl".into();
|
||||
- base.pre_link_objects_fallback = crt_objects::pre_musl_fallback();
|
||||
- base.post_link_objects_fallback = crt_objects::post_musl_fallback();
|
||||
- base.crt_objects_fallback = Some(CrtObjectsFallback::Musl);
|
||||
|
@ -53,30 +53,29 @@ index 5038a967d0a..b3c0e5bc416 100644
|
|||
base
|
||||
}
|
||||
diff --git a/config.toml.example b/config.toml.example
|
||||
index 61e57eee782..77943129204 100644
|
||||
index 6e53d9b4..74980d2c 100644
|
||||
--- a/config.toml.example
|
||||
+++ b/config.toml.example
|
||||
@@ -668,15 +668,6 @@ changelog-seen = 2
|
||||
# only use static libraries. If unset, the target's default linkage is used.
|
||||
#crt-static = <platform-specific> (bool)
|
||||
@@ -511,14 +511,6 @@ changelog-seen = 2
|
||||
# supplementary build information, like distro-specific package versions.
|
||||
#description = <none> (string)
|
||||
|
||||
-# The root location of the musl installation directory. The library directory
|
||||
-# will also need to contain libunwind.a for an unwinding implementation. Note
|
||||
-# that this option only makes sense for musl targets that produce statically
|
||||
-# linked binaries.
|
||||
-#musl-root = build.musl-root (path)
|
||||
-#
|
||||
-# Defaults to /usr on musl hosts. Has no default otherwise.
|
||||
-#musl-root = <platform specific> (path)
|
||||
-
|
||||
-# The full path to the musl libdir.
|
||||
-#musl-libdir = musl-root/lib
|
||||
-
|
||||
# The root location of the `wasm32-wasi` sysroot. Only used for the
|
||||
# `wasm32-wasi` target. If you are building wasm32-wasi target, make sure to
|
||||
# create a `[target.wasm32-wasi]` section and move this field there.
|
||||
# By default the `rustc` executable is built with `-Wl,-rpath` flags on Unix
|
||||
# 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
|
||||
diff --git a/src/bootstrap/cc_detect.rs b/src/bootstrap/cc_detect.rs
|
||||
index e750c2963dd..f6ba3032b0d 100644
|
||||
index 7ce44687..4e7507ae 100644
|
||||
--- a/src/bootstrap/cc_detect.rs
|
||||
+++ b/src/bootstrap/cc_detect.rs
|
||||
@@ -98,7 +98,7 @@ pub fn find(build: &mut Build) {
|
||||
@@ -97,7 +97,7 @@ pub fn find(build: &mut Build) {
|
||||
if let Some(cc) = config.and_then(|c| c.cc.as_ref()) {
|
||||
cfg.compiler(cc);
|
||||
} else {
|
||||
|
@ -85,7 +84,7 @@ index e750c2963dd..f6ba3032b0d 100644
|
|||
}
|
||||
|
||||
let compiler = cfg.get_compiler();
|
||||
@@ -126,7 +126,7 @@ pub fn find(build: &mut Build) {
|
||||
@@ -125,7 +125,7 @@ pub fn find(build: &mut Build) {
|
||||
cfg.compiler(cxx);
|
||||
true
|
||||
} else if build.hosts.contains(&target) || build.build == target {
|
||||
|
@ -130,13 +129,14 @@ index e750c2963dd..f6ba3032b0d 100644
|
|||
}
|
||||
}
|
||||
diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
|
||||
index e9cc7662e63..4971534ba0e 100644
|
||||
index afc333b5..9d67ab56 100644
|
||||
--- a/src/bootstrap/compile.rs
|
||||
+++ b/src/bootstrap/compile.rs
|
||||
@@ -199,36 +199,7 @@ fn copy_self_contained_objects(
|
||||
@@ -197,39 +197,7 @@ fn copy_self_contained_objects(
|
||||
let mut target_deps = vec![];
|
||||
|
||||
// Copies the CRT objects.
|
||||
//
|
||||
// Copies the libc and CRT objects.
|
||||
- //
|
||||
- // rustc historically provides a more self-contained installation for musl targets
|
||||
- // not requiring the presence of a native musl toolchain. For example, it can fall back
|
||||
- // to using gcc from a glibc-targeting toolchain for linking.
|
||||
|
@ -146,7 +146,7 @@ index e9cc7662e63..4971534ba0e 100644
|
|||
- let srcdir = builder.musl_libdir(target).unwrap_or_else(|| {
|
||||
- panic!("Target {:?} does not have a \"musl-libdir\" key", target.triple)
|
||||
- });
|
||||
- for &obj in &["crt1.o", "Scrt1.o", "rcrt1.o", "crti.o", "crtn.o"] {
|
||||
- for &obj in &["libc.a", "crt1.o", "Scrt1.o", "rcrt1.o", "crti.o", "crtn.o"] {
|
||||
- copy_and_stamp(
|
||||
- builder,
|
||||
- &libdir_self_contained,
|
||||
|
@ -164,14 +164,16 @@ index e9cc7662e63..4971534ba0e 100644
|
|||
- target_deps.push((target, DependencyType::TargetSelfContained));
|
||||
- }
|
||||
-
|
||||
- let libunwind_path = copy_llvm_libunwind(builder, target, &libdir_self_contained);
|
||||
- target_deps.push((libunwind_path, DependencyType::TargetSelfContained));
|
||||
- if !target.starts_with("s390x") {
|
||||
- let libunwind_path = copy_llvm_libunwind(builder, target, &libdir_self_contained);
|
||||
- target_deps.push((libunwind_path, DependencyType::TargetSelfContained));
|
||||
- }
|
||||
- } else if target.ends_with("-wasi") {
|
||||
+ if target.ends_with("-wasi") {
|
||||
let srcdir = builder
|
||||
.wasi_root(target)
|
||||
.unwrap_or_else(|| {
|
||||
@@ -312,15 +283,6 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car
|
||||
@@ -313,15 +281,6 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car
|
||||
.arg("--manifest-path")
|
||||
.arg(builder.src.join("library/test/Cargo.toml"));
|
||||
|
||||
|
@ -188,7 +190,7 @@ index e9cc7662e63..4971534ba0e 100644
|
|||
if let Some(p) = builder.wasi_root(target) {
|
||||
let root = format!("native={}/lib/wasm32-wasi", p.to_str().unwrap());
|
||||
diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
|
||||
index e658d958d0a..914b1390b37 100644
|
||||
index 9534cc5f..642a5c24 100644
|
||||
--- a/src/bootstrap/config.rs
|
||||
+++ b/src/bootstrap/config.rs
|
||||
@@ -172,7 +172,6 @@ pub struct Config {
|
||||
|
@ -199,7 +201,7 @@ index e658d958d0a..914b1390b37 100644
|
|||
pub prefix: Option<PathBuf>,
|
||||
pub sysconfdir: Option<PathBuf>,
|
||||
pub datadir: Option<PathBuf>,
|
||||
@@ -298,8 +297,6 @@ pub struct Target {
|
||||
@@ -299,8 +298,6 @@ pub struct Target {
|
||||
pub sanitizers: Option<bool>,
|
||||
pub profiler: Option<bool>,
|
||||
pub crt_static: Option<bool>,
|
||||
|
@ -208,24 +210,24 @@ index e658d958d0a..914b1390b37 100644
|
|||
pub wasi_root: Option<PathBuf>,
|
||||
pub qemu_rootfs: Option<PathBuf>,
|
||||
pub no_std: bool,
|
||||
@@ -493,7 +490,6 @@ struct Rust {
|
||||
default_linker: Option<String>,
|
||||
channel: Option<String>,
|
||||
description: Option<String>,
|
||||
- musl_root: Option<String>,
|
||||
rpath: Option<bool>,
|
||||
verbose_tests: Option<bool>,
|
||||
optimize_tests: Option<bool>,
|
||||
@@ -536,8 +532,6 @@ struct TomlTarget {
|
||||
sanitizers: Option<bool>,
|
||||
profiler: Option<bool>,
|
||||
crt_static: Option<bool>,
|
||||
- musl_root: Option<String>,
|
||||
- musl_libdir: Option<String>,
|
||||
wasi_root: Option<String>,
|
||||
qemu_rootfs: Option<String>,
|
||||
no_std: Option<bool>,
|
||||
@@ -872,7 +866,6 @@ pub fn parse(args: &[String]) -> Config {
|
||||
@@ -587,7 +584,6 @@ struct Rust {
|
||||
default_linker: Option<String> = "default-linker",
|
||||
channel: Option<String> = "channel",
|
||||
description: Option<String> = "description",
|
||||
- musl_root: Option<String> = "musl-root",
|
||||
rpath: Option<bool> = "rpath",
|
||||
verbose_tests: Option<bool> = "verbose-tests",
|
||||
optimize_tests: Option<bool> = "optimize-tests",
|
||||
@@ -631,8 +627,6 @@ struct TomlTarget {
|
||||
sanitizers: Option<bool> = "sanitizers",
|
||||
profiler: Option<bool> = "profiler",
|
||||
crt_static: Option<bool> = "crt-static",
|
||||
- musl_root: Option<String> = "musl-root",
|
||||
- musl_libdir: Option<String> = "musl-libdir",
|
||||
wasi_root: Option<String> = "wasi-root",
|
||||
qemu_rootfs: Option<String> = "qemu-rootfs",
|
||||
no_std: Option<bool> = "no-std",
|
||||
@@ -1013,7 +1007,6 @@ pub fn parse(args: &[String]) -> Config {
|
||||
set(&mut config.llvm_tools_enabled, rust.llvm_tools);
|
||||
config.rustc_parallel = rust.parallel_compiler.unwrap_or(false);
|
||||
config.rustc_default_linker = rust.default_linker;
|
||||
|
@ -233,7 +235,7 @@ index e658d958d0a..914b1390b37 100644
|
|||
config.save_toolstates = rust.save_toolstates.map(PathBuf::from);
|
||||
set(&mut config.deny_warnings, flags.deny_warnings.or(rust.deny_warnings));
|
||||
set(&mut config.backtrace_on_ice, rust.backtrace_on_ice);
|
||||
@@ -918,8 +911,6 @@ pub fn parse(args: &[String]) -> Config {
|
||||
@@ -1059,8 +1052,6 @@ pub fn parse(args: &[String]) -> Config {
|
||||
target.ranlib = cfg.ranlib.map(PathBuf::from);
|
||||
target.linker = cfg.linker.map(PathBuf::from);
|
||||
target.crt_static = cfg.crt_static;
|
||||
|
@ -243,7 +245,7 @@ index e658d958d0a..914b1390b37 100644
|
|||
target.qemu_rootfs = cfg.qemu_rootfs.map(PathBuf::from);
|
||||
target.sanitizers = cfg.sanitizers;
|
||||
diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py
|
||||
index 94424cb4548..9ae0cc053e3 100755
|
||||
index 87a130a0..bd4c9197 100755
|
||||
--- a/src/bootstrap/configure.py
|
||||
+++ b/src/bootstrap/configure.py
|
||||
@@ -114,34 +114,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk",
|
||||
|
@ -282,18 +284,10 @@ index 94424cb4548..9ae0cc053e3 100755
|
|||
"rootfs in qemu testing, you probably don't want to use this")
|
||||
v("qemu-aarch64-rootfs", "target.aarch64-unknown-linux-gnu.qemu-rootfs",
|
||||
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
|
||||
index 2d4e1527897..3abe9f4a143 100644
|
||||
index 570a6174..f3d5f308 100644
|
||||
--- a/src/bootstrap/lib.rs
|
||||
+++ b/src/bootstrap/lib.rs
|
||||
@@ -277,7 +277,6 @@ pub struct Build {
|
||||
struct Crate {
|
||||
name: Interned<String>,
|
||||
deps: HashSet<Interned<String>>,
|
||||
- id: String,
|
||||
path: PathBuf,
|
||||
}
|
||||
|
||||
@@ -1056,25 +1055,6 @@ fn crt_static(&self, target: TargetSelection) -> Option<bool> {
|
||||
@@ -1125,25 +1125,6 @@ fn crt_static(&self, target: TargetSelection) -> Option<bool> {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -319,29 +313,8 @@ index 2d4e1527897..3abe9f4a143 100644
|
|||
/// Returns the sysroot for the wasi target, if defined
|
||||
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)
|
||||
diff --git a/src/bootstrap/metadata.rs b/src/bootstrap/metadata.rs
|
||||
index a38391c7b88..65e229697dc 100644
|
||||
--- a/src/bootstrap/metadata.rs
|
||||
+++ b/src/bootstrap/metadata.rs
|
||||
@@ -14,7 +14,6 @@ struct Output {
|
||||
|
||||
#[derive(Deserialize)]
|
||||
struct Package {
|
||||
- id: String,
|
||||
name: String,
|
||||
source: Option<String>,
|
||||
manifest_path: String,
|
||||
@@ -50,7 +49,7 @@ pub fn build(build: &mut Build) {
|
||||
.filter(|dep| dep.source.is_none())
|
||||
.map(|dep| INTERNER.intern_string(dep.name))
|
||||
.collect();
|
||||
- build.crates.insert(name, Crate { name, id: package.id, deps, path });
|
||||
+ build.crates.insert(name, Crate { name, deps, path });
|
||||
}
|
||||
}
|
||||
}
|
||||
diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs
|
||||
index d7db2cef24f..a791177956d 100644
|
||||
index 8c2899c1..dda15d76 100644
|
||||
--- a/src/bootstrap/sanity.rs
|
||||
+++ b/src/bootstrap/sanity.rs
|
||||
@@ -11,7 +11,6 @@
|
||||
|
@ -352,7 +325,7 @@ index d7db2cef24f..a791177956d 100644
|
|||
use std::path::PathBuf;
|
||||
use std::process::Command;
|
||||
|
||||
@@ -178,28 +177,6 @@ pub fn check(build: &mut Build) {
|
||||
@@ -177,28 +176,6 @@ pub fn check(build: &mut Build) {
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -11,26 +11,26 @@ diff --git a/src/bootstrap/bin/rustdoc.rs b/src/bootstrap/bin/rustdoc.rs
|
|||
index e4396d530..cb2312028 100644
|
||||
--- a/src/bootstrap/bin/rustdoc.rs
|
||||
+++ b/src/bootstrap/bin/rustdoc.rs
|
||||
@@ -20,14 +20,11 @@ fn main() {
|
||||
@@ -22,14 +22,11 @@ fn main() {
|
||||
Err(_) => 0,
|
||||
};
|
||||
|
||||
- let mut dylib_path = bootstrap::util::dylib_path();
|
||||
- let mut dylib_path = dylib_path();
|
||||
- dylib_path.insert(0, PathBuf::from(libdir.clone()));
|
||||
-
|
||||
let mut cmd = Command::new(rustdoc);
|
||||
cmd.args(&args)
|
||||
.arg("--sysroot")
|
||||
.arg(&sysroot)
|
||||
- .env(bootstrap::util::dylib_path_var(), env::join_paths(&dylib_path).unwrap());
|
||||
+ .env(bootstrap::util::dylib_path_var(), PathBuf::from(libdir.clone()));
|
||||
- .env(dylib_path_var(), env::join_paths(&dylib_path).unwrap());
|
||||
+ .env(dylib_path_var(), PathBuf::from(libdir.clone()));
|
||||
|
||||
// Force all crates compiled by this compiler to (a) be unstable and (b)
|
||||
// allow the `rustc_private` feature to link to other unstable crates
|
||||
@@ -60,7 +57,7 @@ fn main() {
|
||||
@@ -62,7 +59,7 @@ fn main() {
|
||||
eprintln!(
|
||||
"rustdoc command: {:?}={:?} {:?}",
|
||||
bootstrap::util::dylib_path_var(),
|
||||
dylib_path_var(),
|
||||
- env::join_paths(&dylib_path).unwrap(),
|
||||
+ PathBuf::from(libdir.clone()),
|
||||
cmd,
|
||||
|
|
|
@ -12,14 +12,14 @@ diff --git a/vendor/libc/src/unix/mod.rs b/vendor/libc/src/unix/mod.rs
|
|||
index 238da24b..ffb05ee7 100644
|
||||
--- a/vendor/libc/src/unix/mod.rs
|
||||
+++ b/vendor/libc/src/unix/mod.rs
|
||||
@@ -299,11 +299,11 @@ cfg_if! {
|
||||
// cargo build, don't pull in anything extra as the libstd dep
|
||||
// already pulls in all libs.
|
||||
@@ -329,11 +329,11 @@ cfg_if! {
|
||||
#[link(name = "c", cfg(not(target_feature = "crt-static")))]
|
||||
extern {}
|
||||
} else if #[cfg(target_env = "musl")] {
|
||||
+ #[link(name = "c")]
|
||||
+ extern {}
|
||||
#[cfg_attr(feature = "rustc-dep-of-std",
|
||||
- link(name = "c", kind = "static",
|
||||
- link(name = "c", kind = "static", modifiers = "-bundle",
|
||||
+ link(name = "gcc", kind = "static-nobundle",
|
||||
cfg(target_feature = "crt-static")))]
|
||||
- #[cfg_attr(feature = "rustc-dep-of-std",
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
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,
|
|
@ -1,17 +1,8 @@
|
|||
commit 57ed964d186212739fa436f103bd923a2309f341
|
||||
Author: Daniel Kolesa <daniel@octaforge.org>
|
||||
Date: Tue Dec 21 02:46:30 2021 +0100
|
||||
|
||||
allow specifying native sysroot to use for linkage
|
||||
|
||||
This allows us to get around the linker attempting to use
|
||||
incompatible libs.
|
||||
|
||||
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
|
||||
index de771280e..5faaf9439 100644
|
||||
index e816f9b4..a2668fa9 100644
|
||||
--- a/src/bootstrap/builder.rs
|
||||
+++ b/src/bootstrap/builder.rs
|
||||
@@ -1166,6 +1166,10 @@ impl<'a> Builder<'a> {
|
||||
@@ -1313,6 +1313,10 @@ pub fn cargo(
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -23,26 +14,26 @@ index de771280e..5faaf9439 100644
|
|||
cargo.env("RUSTC_HOST_LINKER", host_linker);
|
||||
}
|
||||
diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
|
||||
index 06b7a8c55..d8e9275ad 100644
|
||||
index 642a5c24..0dd4f879 100644
|
||||
--- a/src/bootstrap/config.rs
|
||||
+++ b/src/bootstrap/config.rs
|
||||
@@ -292,6 +292,7 @@ pub struct Target {
|
||||
pub ar: Option<PathBuf>,
|
||||
@@ -294,6 +294,7 @@ pub struct Target {
|
||||
pub ranlib: Option<PathBuf>,
|
||||
pub default_linker: Option<PathBuf>,
|
||||
pub linker: Option<PathBuf>,
|
||||
+ pub sysroot: Option<PathBuf>,
|
||||
pub ndk: Option<PathBuf>,
|
||||
pub sanitizers: Option<bool>,
|
||||
pub profiler: Option<bool>,
|
||||
@@ -525,6 +526,7 @@ struct TomlTarget {
|
||||
ar: Option<String>,
|
||||
ranlib: Option<String>,
|
||||
linker: Option<String>,
|
||||
+ sysroot: Option<String>,
|
||||
llvm_config: Option<String>,
|
||||
llvm_filecheck: Option<String>,
|
||||
android_ndk: Option<String>,
|
||||
@@ -909,6 +911,7 @@ impl Config {
|
||||
@@ -621,6 +622,7 @@ struct TomlTarget {
|
||||
ranlib: Option<String> = "ranlib",
|
||||
default_linker: Option<PathBuf> = "default-linker",
|
||||
linker: Option<String> = "linker",
|
||||
+ sysroot: Option<String> = "sysroot",
|
||||
llvm_config: Option<String> = "llvm-config",
|
||||
llvm_filecheck: Option<String> = "llvm-filecheck",
|
||||
android_ndk: Option<String> = "android-ndk",
|
||||
@@ -1051,6 +1053,7 @@ pub fn parse(args: &[String]) -> Config {
|
||||
target.ar = cfg.ar.map(PathBuf::from);
|
||||
target.ranlib = cfg.ranlib.map(PathBuf::from);
|
||||
target.linker = cfg.linker.map(PathBuf::from);
|
||||
|
@ -51,10 +42,10 @@ index 06b7a8c55..d8e9275ad 100644
|
|||
target.wasi_root = cfg.wasi_root.map(PathBuf::from);
|
||||
target.qemu_rootfs = cfg.qemu_rootfs.map(PathBuf::from);
|
||||
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
|
||||
index b930f3cd7..06e782520 100644
|
||||
index f3d5f308..7f8b9b27 100644
|
||||
--- a/src/bootstrap/lib.rs
|
||||
+++ b/src/bootstrap/lib.rs
|
||||
@@ -1056,6 +1056,10 @@ impl Build {
|
||||
@@ -1125,6 +1125,10 @@ fn crt_static(&self, target: TargetSelection) -> Option<bool> {
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,53 +1,8 @@
|
|||
From b92ce1ed0ac8d95831a43f4395544c17a0816c9b Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Kolesa <daniel@octaforge.org>
|
||||
Date: Sat, 3 Jul 2021 21:02:03 +0200
|
||||
Subject: [PATCH] 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/fastcall-inreg.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/borrowck/borrowck-asm.rs | 1 +
|
||||
src/test/ui/llvm-asm/llvm-asm-bad-clobber.rs | 1 +
|
||||
src/test/ui/llvm-asm/llvm-asm-in-bad-modifier.rs | 1 +
|
||||
src/test/ui/llvm-asm/llvm-asm-misplaced-option.rs | 1 +
|
||||
src/test/ui/llvm-asm/llvm-asm-out-assign-imm.rs | 1 +
|
||||
src/test/ui/llvm-asm/llvm-asm-out-no-modifier.rs | 1 +
|
||||
src/test/ui/llvm-asm/llvm-asm-out-read-uninit.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/rustc-ap-rustc_target/src/spec/mod.rs | 2 ++
|
||||
.../src/spec/powerpcle_unknown_linux_gnu.rs | 15 +++++++++++++++
|
||||
.../src/spec/powerpcle_unknown_linux_musl.rs | 15 +++++++++++++++
|
||||
vendor/target-lexicon/src/targets.rs | 7 +++++++
|
||||
vendor/tikv-jemallocator/benches/roundtrip.rs | 3 ++-
|
||||
vendor/tikv-jemallocator/src/lib.rs | 3 ++-
|
||||
37 files changed, 111 insertions(+), 6 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
|
||||
create mode 100644 vendor/rustc-ap-rustc_target/src/spec/powerpcle_unknown_linux_gnu.rs
|
||||
create mode 100644 vendor/rustc-ap-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
|
||||
index c2e9dba6..8147a3c3 100644
|
||||
index 0c1ab67cc..8d4e5f3cb 100644
|
||||
--- a/compiler/rustc_middle/src/ty/layout.rs
|
||||
+++ b/compiler/rustc_middle/src/ty/layout.rs
|
||||
@@ -2753,6 +2753,8 @@ where
|
||||
@@ -3057,6 +3057,8 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
|
||||
target.os == "linux" && target.arch == "sparc64" && target_env_gnu_like;
|
||||
let linux_powerpc_gnu_like =
|
||||
target.os == "linux" && target.arch == "powerpc" && target_env_gnu_like;
|
||||
|
@ -56,7 +11,7 @@ index c2e9dba6..8147a3c3 100644
|
|||
use SpecAbi::*;
|
||||
let rust_abi = matches!(sig.abi, RustIntrinsic | PlatformIntrinsic | Rust | RustCall);
|
||||
|
||||
@@ -2850,7 +2852,8 @@ where
|
||||
@@ -3165,7 +3167,8 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
|
||||
|| (!win_x64_gnu
|
||||
&& !linux_s390x_gnu_like
|
||||
&& !linux_sparc64_gnu_like
|
||||
|
@ -67,10 +22,10 @@ index c2e9dba6..8147a3c3 100644
|
|||
arg.mode = PassMode::Ignore;
|
||||
}
|
||||
diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs
|
||||
index 2af46693..986d84e0 100644
|
||||
index bd5b712c1..f60be010c 100644
|
||||
--- a/compiler/rustc_target/src/spec/mod.rs
|
||||
+++ b/compiler/rustc_target/src/spec/mod.rs
|
||||
@@ -716,6 +716,8 @@ supported_targets! {
|
||||
@@ -824,6 +824,8 @@ supported_targets! {
|
||||
("powerpc-unknown-linux-gnu", powerpc_unknown_linux_gnu),
|
||||
("powerpc-unknown-linux-gnuspe", powerpc_unknown_linux_gnuspe),
|
||||
("powerpc-unknown-linux-musl", powerpc_unknown_linux_musl),
|
||||
|
@ -81,7 +36,7 @@ index 2af46693..986d84e0 100644
|
|||
("powerpc64le-unknown-linux-gnu", powerpc64le_unknown_linux_gnu),
|
||||
diff --git a/compiler/rustc_target/src/spec/powerpcle_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/powerpcle_unknown_linux_gnu.rs
|
||||
new file mode 100644
|
||||
index 00000000..780c20a3
|
||||
index 000000000..b7148a2fc
|
||||
--- /dev/null
|
||||
+++ b/compiler/rustc_target/src/spec/powerpcle_unknown_linux_gnu.rs
|
||||
@@ -0,0 +1,15 @@
|
||||
|
@ -89,20 +44,20 @@ index 00000000..780c20a3
|
|||
+
|
||||
+pub fn target() -> Target {
|
||||
+ let mut base = super::linux_gnu_base::opts();
|
||||
+ base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".to_string());
|
||||
+ base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".into());
|
||||
+ base.max_atomic_width = Some(32);
|
||||
+
|
||||
+ Target {
|
||||
+ llvm_target: "powerpcle-unknown-linux-gnu".to_string(),
|
||||
+ llvm_target: "powerpcle-unknown-linux-gnu".into(),
|
||||
+ pointer_width: 32,
|
||||
+ data_layout: "e-m:e-p:32:32-i64:64-n32".to_string(),
|
||||
+ arch: "powerpc".to_string(),
|
||||
+ options: TargetOptions { mcount: "_mcount".to_string(), ..base },
|
||||
+ data_layout: "e-m:e-p:32:32-i64:64-n32".into(),
|
||||
+ arch: "powerpc".into(),
|
||||
+ options: TargetOptions { mcount: "_mcount".into(), ..base },
|
||||
+ }
|
||||
+}
|
||||
diff --git a/compiler/rustc_target/src/spec/powerpcle_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/powerpcle_unknown_linux_musl.rs
|
||||
new file mode 100644
|
||||
index 00000000..9b848ccf
|
||||
index 000000000..a826b6e47
|
||||
--- /dev/null
|
||||
+++ b/compiler/rustc_target/src/spec/powerpcle_unknown_linux_musl.rs
|
||||
@@ -0,0 +1,15 @@
|
||||
|
@ -110,24 +65,24 @@ index 00000000..9b848ccf
|
|||
+
|
||||
+pub fn target() -> Target {
|
||||
+ let mut base = super::linux_musl_base::opts();
|
||||
+ base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".to_string());
|
||||
+ base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".into());
|
||||
+ base.max_atomic_width = Some(32);
|
||||
+
|
||||
+ Target {
|
||||
+ llvm_target: "powerpcle-unknown-linux-musl".to_string(),
|
||||
+ llvm_target: "powerpcle-unknown-linux-musl".into(),
|
||||
+ pointer_width: 32,
|
||||
+ data_layout: "e-m:e-p:32:32-i64:64-n32".to_string(),
|
||||
+ arch: "powerpc".to_string(),
|
||||
+ options: TargetOptions { mcount: "_mcount".to_string(), ..base },
|
||||
+ data_layout: "e-m:e-p:32:32-i64:64-n32".into(),
|
||||
+ arch: "powerpc".into(),
|
||||
+ options: TargetOptions { mcount: "_mcount".into(), ..base },
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py
|
||||
index 4111420e..cd69a8ec 100644
|
||||
index 71b8f3c45..1505c12e4 100644
|
||||
--- a/src/bootstrap/bootstrap.py
|
||||
+++ b/src/bootstrap/bootstrap.py
|
||||
@@ -289,9 +289,11 @@ def default_build_triple(verbose):
|
||||
'i686': 'i686',
|
||||
@@ -320,9 +320,11 @@ def default_build_triple(verbose):
|
||||
'i786': 'i686',
|
||||
'm68k': 'm68k',
|
||||
'powerpc': 'powerpc',
|
||||
+ 'powerpcle': 'powerpcle',
|
||||
'powerpc64': 'powerpc64',
|
||||
|
@ -136,9 +91,9 @@ index 4111420e..cd69a8ec 100644
|
|||
+ 'ppcle': 'powerpcle',
|
||||
'ppc64': 'powerpc64',
|
||||
'ppc64le': 'powerpc64le',
|
||||
's390x': 's390x',
|
||||
'riscv64': 'riscv64gc',
|
||||
diff --git a/src/test/codegen/abi-main-signature-16bit-c-int.rs b/src/test/codegen/abi-main-signature-16bit-c-int.rs
|
||||
index 4ed491df..82ec7755 100644
|
||||
index 4ed491dfb..82ec7755d 100644
|
||||
--- a/src/test/codegen/abi-main-signature-16bit-c-int.rs
|
||||
+++ b/src/test/codegen/abi-main-signature-16bit-c-int.rs
|
||||
@@ -9,6 +9,7 @@
|
||||
|
@ -149,20 +104,8 @@ index 4ed491df..82ec7755 100644
|
|||
// ignore-powerpc64
|
||||
// ignore-riscv64
|
||||
// ignore-s390x
|
||||
diff --git a/src/test/codegen/fastcall-inreg.rs b/src/test/codegen/fastcall-inreg.rs
|
||||
index adbeae45..0fd0a9e6 100644
|
||||
--- a/src/test/codegen/fastcall-inreg.rs
|
||||
+++ b/src/test/codegen/fastcall-inreg.rs
|
||||
@@ -16,6 +16,7 @@
|
||||
// ignore-powerpc64
|
||||
// ignore-powerpc64le
|
||||
// ignore-powerpc
|
||||
+// ignore-powerpcle
|
||||
// ignore-r600
|
||||
// ignore-riscv64
|
||||
// ignore-amdgcn
|
||||
diff --git a/src/test/codegen/global_asm.rs b/src/test/codegen/global_asm.rs
|
||||
index 57d8aeb1..e0b1b692 100644
|
||||
index fab84868f..104d93d01 100644
|
||||
--- a/src/test/codegen/global_asm.rs
|
||||
+++ b/src/test/codegen/global_asm.rs
|
||||
@@ -12,6 +12,7 @@
|
||||
|
@ -174,7 +117,7 @@ index 57d8aeb1..e0b1b692 100644
|
|||
// ignore-amdgcn
|
||||
// ignore-sparc
|
||||
diff --git a/src/test/codegen/global_asm_include.rs b/src/test/codegen/global_asm_include.rs
|
||||
index 44402619..62ecfa6d 100644
|
||||
index 02ee91645..13f303332 100644
|
||||
--- a/src/test/codegen/global_asm_include.rs
|
||||
+++ b/src/test/codegen/global_asm_include.rs
|
||||
@@ -12,6 +12,7 @@
|
||||
|
@ -186,7 +129,7 @@ index 44402619..62ecfa6d 100644
|
|||
// ignore-amdgcn
|
||||
// ignore-sparc
|
||||
diff --git a/src/test/codegen/global_asm_x2.rs b/src/test/codegen/global_asm_x2.rs
|
||||
index d632d0dd..29f97775 100644
|
||||
index bdcf0ea84..1e2ff8b8d 100644
|
||||
--- a/src/test/codegen/global_asm_x2.rs
|
||||
+++ b/src/test/codegen/global_asm_x2.rs
|
||||
@@ -12,6 +12,7 @@
|
||||
|
@ -198,10 +141,10 @@ index d632d0dd..29f97775 100644
|
|||
// ignore-amdgcn
|
||||
// ignore-sparc
|
||||
diff --git a/src/test/codegen/repr-transparent-aggregates-1.rs b/src/test/codegen/repr-transparent-aggregates-1.rs
|
||||
index 3017adb4..632565bb 100644
|
||||
index 4ad3642c0..fca31c0c6 100644
|
||||
--- a/src/test/codegen/repr-transparent-aggregates-1.rs
|
||||
+++ b/src/test/codegen/repr-transparent-aggregates-1.rs
|
||||
@@ -7,6 +7,7 @@
|
||||
@@ -6,6 +6,7 @@
|
||||
// ignore-mips
|
||||
// ignore-mips64
|
||||
// ignore-powerpc
|
||||
|
@ -210,10 +153,10 @@ index 3017adb4..632565bb 100644
|
|||
// ignore-riscv64 see codegen/riscv-abi
|
||||
// ignore-windows
|
||||
diff --git a/src/test/codegen/repr-transparent-aggregates-2.rs b/src/test/codegen/repr-transparent-aggregates-2.rs
|
||||
index 429d760b..57e75f95 100644
|
||||
index b68e8e9eb..97c509b1b 100644
|
||||
--- a/src/test/codegen/repr-transparent-aggregates-2.rs
|
||||
+++ b/src/test/codegen/repr-transparent-aggregates-2.rs
|
||||
@@ -6,6 +6,7 @@
|
||||
@@ -5,6 +5,7 @@
|
||||
// ignore-emscripten
|
||||
// ignore-mips64
|
||||
// ignore-powerpc
|
||||
|
@ -222,7 +165,7 @@ index 429d760b..57e75f95 100644
|
|||
// ignore-powerpc64le
|
||||
// ignore-riscv64 see codegen/riscv-abi
|
||||
diff --git a/src/test/codegen/stack-probes.rs b/src/test/codegen/stack-probes.rs
|
||||
index 9bd351df..29073eb5 100644
|
||||
index 9bd351df3..29073eb56 100644
|
||||
--- a/src/test/codegen/stack-probes.rs
|
||||
+++ b/src/test/codegen/stack-probes.rs
|
||||
@@ -3,6 +3,7 @@
|
||||
|
@ -234,7 +177,7 @@ index 9bd351df..29073eb5 100644
|
|||
// ignore-powerpc64le
|
||||
// ignore-riscv64
|
||||
diff --git a/src/test/run-make-fulldeps/atomic-lock-free/Makefile b/src/test/run-make-fulldeps/atomic-lock-free/Makefile
|
||||
index 9e8b4fab..402d37a4 100644
|
||||
index 9e8b4fabf..402d37a45 100644
|
||||
--- a/src/test/run-make-fulldeps/atomic-lock-free/Makefile
|
||||
+++ b/src/test/run-make-fulldeps/atomic-lock-free/Makefile
|
||||
@@ -36,6 +36,8 @@ ifeq ($(filter powerpc,$(LLVM_COMPONENTS)),powerpc)
|
||||
|
@ -247,7 +190,7 @@ index 9e8b4fab..402d37a4 100644
|
|||
nm "$(TMPDIR)/libatomic_lock_free.rlib" | $(CGREP) -v __atomic_fetch_add
|
||||
$(RUSTC) --target=powerpc64le-unknown-linux-gnu atomic_lock_free.rs
|
||||
diff --git a/src/test/ui/abi/stack-probes-lto.rs b/src/test/ui/abi/stack-probes-lto.rs
|
||||
index 90df1f3f..8c6dda8b 100644
|
||||
index 90df1f3f5..8c6dda8b8 100644
|
||||
--- a/src/test/ui/abi/stack-probes-lto.rs
|
||||
+++ b/src/test/ui/abi/stack-probes-lto.rs
|
||||
@@ -4,6 +4,7 @@
|
||||
|
@ -259,7 +202,7 @@ index 90df1f3f..8c6dda8b 100644
|
|||
// ignore-sparc
|
||||
// ignore-sparc64
|
||||
diff --git a/src/test/ui/abi/stack-probes.rs b/src/test/ui/abi/stack-probes.rs
|
||||
index e998dd0f..9472e538 100644
|
||||
index e998dd0f8..9472e5387 100644
|
||||
--- a/src/test/ui/abi/stack-probes.rs
|
||||
+++ b/src/test/ui/abi/stack-probes.rs
|
||||
@@ -4,6 +4,7 @@
|
||||
|
@ -270,92 +213,8 @@ index e998dd0f..9472e538 100644
|
|||
// ignore-s390x
|
||||
// ignore-sparc
|
||||
// ignore-sparc64
|
||||
diff --git a/src/test/ui/borrowck/borrowck-asm.rs b/src/test/ui/borrowck/borrowck-asm.rs
|
||||
index a3f64524..faf9adb4 100644
|
||||
--- a/src/test/ui/borrowck/borrowck-asm.rs
|
||||
+++ b/src/test/ui/borrowck/borrowck-asm.rs
|
||||
@@ -1,6 +1,7 @@
|
||||
// ignore-s390x
|
||||
// ignore-emscripten
|
||||
// ignore-powerpc
|
||||
+// ignore-powerpcle
|
||||
// ignore-powerpc64
|
||||
// ignore-powerpc64le
|
||||
// ignore-riscv64
|
||||
diff --git a/src/test/ui/llvm-asm/llvm-asm-bad-clobber.rs b/src/test/ui/llvm-asm/llvm-asm-bad-clobber.rs
|
||||
index 2868d3d3..5c6e325b 100644
|
||||
--- a/src/test/ui/llvm-asm/llvm-asm-bad-clobber.rs
|
||||
+++ b/src/test/ui/llvm-asm/llvm-asm-bad-clobber.rs
|
||||
@@ -4,6 +4,7 @@
|
||||
// ignore-s390x
|
||||
// ignore-emscripten
|
||||
// ignore-powerpc
|
||||
+// ignore-powerpcle
|
||||
// ignore-powerpc64
|
||||
// ignore-powerpc64le
|
||||
// ignore-riscv64
|
||||
diff --git a/src/test/ui/llvm-asm/llvm-asm-in-bad-modifier.rs b/src/test/ui/llvm-asm/llvm-asm-in-bad-modifier.rs
|
||||
index e3bc7d29..49f53f67 100644
|
||||
--- a/src/test/ui/llvm-asm/llvm-asm-in-bad-modifier.rs
|
||||
+++ b/src/test/ui/llvm-asm/llvm-asm-in-bad-modifier.rs
|
||||
@@ -1,6 +1,7 @@
|
||||
// ignore-s390x
|
||||
// ignore-emscripten
|
||||
// ignore-powerpc
|
||||
+// ignore-powerpcle
|
||||
// ignore-powerpc64
|
||||
// ignore-powerpc64le
|
||||
// ignore-riscv64
|
||||
diff --git a/src/test/ui/llvm-asm/llvm-asm-misplaced-option.rs b/src/test/ui/llvm-asm/llvm-asm-misplaced-option.rs
|
||||
index daae0c81..fd505c86 100644
|
||||
--- a/src/test/ui/llvm-asm/llvm-asm-misplaced-option.rs
|
||||
+++ b/src/test/ui/llvm-asm/llvm-asm-misplaced-option.rs
|
||||
@@ -5,6 +5,7 @@
|
||||
// ignore-s390x
|
||||
// ignore-emscripten
|
||||
// ignore-powerpc
|
||||
+// ignore-powerpcle
|
||||
// ignore-powerpc64
|
||||
// ignore-powerpc64le
|
||||
// ignore-riscv64
|
||||
diff --git a/src/test/ui/llvm-asm/llvm-asm-out-assign-imm.rs b/src/test/ui/llvm-asm/llvm-asm-out-assign-imm.rs
|
||||
index 9c62532c..baa1c1ba 100644
|
||||
--- a/src/test/ui/llvm-asm/llvm-asm-out-assign-imm.rs
|
||||
+++ b/src/test/ui/llvm-asm/llvm-asm-out-assign-imm.rs
|
||||
@@ -1,6 +1,7 @@
|
||||
// ignore-s390x
|
||||
// ignore-emscripten
|
||||
// ignore-powerpc
|
||||
+// ignore-powerpcle
|
||||
// ignore-powerpc64
|
||||
// ignore-powerpc64le
|
||||
// ignore-riscv64
|
||||
diff --git a/src/test/ui/llvm-asm/llvm-asm-out-no-modifier.rs b/src/test/ui/llvm-asm/llvm-asm-out-no-modifier.rs
|
||||
index 72edb339..2fec991d 100644
|
||||
--- a/src/test/ui/llvm-asm/llvm-asm-out-no-modifier.rs
|
||||
+++ b/src/test/ui/llvm-asm/llvm-asm-out-no-modifier.rs
|
||||
@@ -1,6 +1,7 @@
|
||||
// ignore-s390x
|
||||
// ignore-emscripten
|
||||
// ignore-powerpc
|
||||
+// ignore-powerpcle
|
||||
// ignore-powerpc64
|
||||
// ignore-powerpc64le
|
||||
// ignore-riscv64
|
||||
diff --git a/src/test/ui/llvm-asm/llvm-asm-out-read-uninit.rs b/src/test/ui/llvm-asm/llvm-asm-out-read-uninit.rs
|
||||
index acf4cf9f..dfad0775 100644
|
||||
--- a/src/test/ui/llvm-asm/llvm-asm-out-read-uninit.rs
|
||||
+++ b/src/test/ui/llvm-asm/llvm-asm-out-read-uninit.rs
|
||||
@@ -1,6 +1,7 @@
|
||||
// ignore-s390x
|
||||
// ignore-emscripten
|
||||
// ignore-powerpc
|
||||
+// ignore-powerpcle
|
||||
// ignore-powerpc64
|
||||
// ignore-powerpc64le
|
||||
// ignore-riscv64
|
||||
diff --git a/src/test/ui/target-feature/gate.rs b/src/test/ui/target-feature/gate.rs
|
||||
index 164830fe..531a4b45 100644
|
||||
index 2382c98f8..e6fe855d7 100644
|
||||
--- a/src/test/ui/target-feature/gate.rs
|
||||
+++ b/src/test/ui/target-feature/gate.rs
|
||||
@@ -5,6 +5,7 @@
|
||||
|
@ -367,7 +226,7 @@ index 164830fe..531a4b45 100644
|
|||
// ignore-powerpc64le
|
||||
// ignore-riscv64
|
||||
diff --git a/src/test/ui/target-feature/invalid-attribute.rs b/src/test/ui/target-feature/invalid-attribute.rs
|
||||
index 5ea78215..47e7887a 100644
|
||||
index ad1b6e96b..122d59a57 100644
|
||||
--- a/src/test/ui/target-feature/invalid-attribute.rs
|
||||
+++ b/src/test/ui/target-feature/invalid-attribute.rs
|
||||
@@ -5,6 +5,7 @@
|
||||
|
@ -379,10 +238,10 @@ index 5ea78215..47e7887a 100644
|
|||
// ignore-powerpc64le
|
||||
// ignore-riscv64
|
||||
diff --git a/src/tools/compiletest/src/util.rs b/src/tools/compiletest/src/util.rs
|
||||
index 7dbd7094..08c9de3c 100644
|
||||
index bed509d77..8bc817897 100644
|
||||
--- a/src/tools/compiletest/src/util.rs
|
||||
+++ b/src/tools/compiletest/src/util.rs
|
||||
@@ -67,6 +67,7 @@ const ARCH_TABLE: &[(&str, &str)] = &[
|
||||
@@ -70,6 +70,7 @@ const ARCH_TABLE: &[(&str, &str)] = &[
|
||||
("msp430", "msp430"),
|
||||
("nvptx64", "nvptx64"),
|
||||
("powerpc", "powerpc"),
|
||||
|
@ -391,10 +250,10 @@ index 7dbd7094..08c9de3c 100644
|
|||
("powerpc64le", "powerpc64"),
|
||||
("riscv64gc", "riscv64"),
|
||||
diff --git a/vendor/cc/src/lib.rs b/vendor/cc/src/lib.rs
|
||||
index 5051b296..286c2fb7 100644
|
||||
index e3a2b98b0..0236729fd 100644
|
||||
--- a/vendor/cc/src/lib.rs
|
||||
+++ b/vendor/cc/src/lib.rs
|
||||
@@ -2409,6 +2409,7 @@ impl Build {
|
||||
@@ -2594,6 +2594,7 @@ impl Build {
|
||||
"powerpc-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
|
||||
"powerpc-unknown-linux-gnuspe" => Some("powerpc-linux-gnuspe"),
|
||||
"powerpc-unknown-netbsd" => Some("powerpc--netbsd"),
|
||||
|
@ -402,66 +261,11 @@ index 5051b296..286c2fb7 100644
|
|||
"powerpc64-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
|
||||
"powerpc64le-unknown-linux-gnu" => Some("powerpc64le-linux-gnu"),
|
||||
"riscv32i-unknown-none-elf" => self.find_working_gnu_prefix(&[
|
||||
diff --git a/vendor/rustc-ap-rustc_target/src/spec/mod.rs b/vendor/rustc-ap-rustc_target/src/spec/mod.rs
|
||||
index 2af46693..986d84e0 100644
|
||||
--- a/vendor/rustc-ap-rustc_target/src/spec/mod.rs
|
||||
+++ b/vendor/rustc-ap-rustc_target/src/spec/mod.rs
|
||||
@@ -716,6 +716,8 @@ supported_targets! {
|
||||
("powerpc-unknown-linux-gnu", powerpc_unknown_linux_gnu),
|
||||
("powerpc-unknown-linux-gnuspe", powerpc_unknown_linux_gnuspe),
|
||||
("powerpc-unknown-linux-musl", powerpc_unknown_linux_musl),
|
||||
+ ("powerpcle-unknown-linux-gnu", powerpcle_unknown_linux_gnu),
|
||||
+ ("powerpcle-unknown-linux-musl", powerpcle_unknown_linux_musl),
|
||||
("powerpc64-unknown-linux-gnu", powerpc64_unknown_linux_gnu),
|
||||
("powerpc64-unknown-linux-musl", powerpc64_unknown_linux_musl),
|
||||
("powerpc64le-unknown-linux-gnu", powerpc64le_unknown_linux_gnu),
|
||||
diff --git a/vendor/rustc-ap-rustc_target/src/spec/powerpcle_unknown_linux_gnu.rs b/vendor/rustc-ap-rustc_target/src/spec/powerpcle_unknown_linux_gnu.rs
|
||||
new file mode 100644
|
||||
index 00000000..780c20a3
|
||||
--- /dev/null
|
||||
+++ b/vendor/rustc-ap-rustc_target/src/spec/powerpcle_unknown_linux_gnu.rs
|
||||
@@ -0,0 +1,15 @@
|
||||
+use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
+
|
||||
+pub fn target() -> Target {
|
||||
+ let mut base = super::linux_gnu_base::opts();
|
||||
+ base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".to_string());
|
||||
+ base.max_atomic_width = Some(32);
|
||||
+
|
||||
+ Target {
|
||||
+ llvm_target: "powerpcle-unknown-linux-gnu".to_string(),
|
||||
+ pointer_width: 32,
|
||||
+ data_layout: "e-m:e-p:32:32-i64:64-n32".to_string(),
|
||||
+ arch: "powerpc".to_string(),
|
||||
+ options: TargetOptions { mcount: "_mcount".to_string(), ..base },
|
||||
+ }
|
||||
+}
|
||||
diff --git a/vendor/rustc-ap-rustc_target/src/spec/powerpcle_unknown_linux_musl.rs b/vendor/rustc-ap-rustc_target/src/spec/powerpcle_unknown_linux_musl.rs
|
||||
new file mode 100644
|
||||
index 00000000..9b848ccf
|
||||
--- /dev/null
|
||||
+++ b/vendor/rustc-ap-rustc_target/src/spec/powerpcle_unknown_linux_musl.rs
|
||||
@@ -0,0 +1,15 @@
|
||||
+use crate::spec::{LinkerFlavor, Target, TargetOptions};
|
||||
+
|
||||
+pub fn target() -> Target {
|
||||
+ let mut base = super::linux_musl_base::opts();
|
||||
+ base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".to_string());
|
||||
+ base.max_atomic_width = Some(32);
|
||||
+
|
||||
+ Target {
|
||||
+ llvm_target: "powerpcle-unknown-linux-musl".to_string(),
|
||||
+ pointer_width: 32,
|
||||
+ data_layout: "e-m:e-p:32:32-i64:64-n32".to_string(),
|
||||
+ arch: "powerpc".to_string(),
|
||||
+ options: TargetOptions { mcount: "_mcount".to_string(), ..base },
|
||||
+ }
|
||||
+}
|
||||
diff --git a/vendor/target-lexicon/src/targets.rs b/vendor/target-lexicon/src/targets.rs
|
||||
index 87c237aa..dc694010 100644
|
||||
index 22cc95cc3..46167e34e 100644
|
||||
--- a/vendor/target-lexicon/src/targets.rs
|
||||
+++ b/vendor/target-lexicon/src/targets.rs
|
||||
@@ -26,6 +26,7 @@ pub enum Architecture {
|
||||
@@ -29,6 +29,7 @@ pub enum Architecture {
|
||||
Msp430,
|
||||
Nvptx64,
|
||||
Powerpc,
|
||||
|
@ -469,7 +273,7 @@ index 87c237aa..dc694010 100644
|
|||
Powerpc64,
|
||||
Powerpc64le,
|
||||
Riscv32(Riscv32Architecture),
|
||||
@@ -517,6 +518,7 @@ impl Architecture {
|
||||
@@ -533,6 +534,7 @@ impl Architecture {
|
||||
| Mips64(Mips64Architecture::Mipsisa64r6el)
|
||||
| Msp430
|
||||
| Nvptx64
|
||||
|
@ -477,15 +281,15 @@ index 87c237aa..dc694010 100644
|
|||
| Powerpc64le
|
||||
| Riscv32(_)
|
||||
| Riscv64(_)
|
||||
@@ -553,6 +555,7 @@ impl Architecture {
|
||||
| Sparc
|
||||
| Wasm32
|
||||
@@ -574,6 +576,7 @@ impl Architecture {
|
||||
| M68k
|
||||
| Mips32(_)
|
||||
| Powerpc
|
||||
+ | Powerpcle
|
||||
| Powerpc => Ok(PointerWidth::U32),
|
||||
| XTensa => Ok(PointerWidth::U32),
|
||||
AmdGcn
|
||||
| Powerpc64le
|
||||
@@ -737,6 +740,7 @@ impl fmt::Display for Architecture {
|
||||
| Bpfeb
|
||||
@@ -763,6 +766,7 @@ impl fmt::Display for Architecture {
|
||||
Msp430 => f.write_str("msp430"),
|
||||
Nvptx64 => f.write_str("nvptx64"),
|
||||
Powerpc => f.write_str("powerpc"),
|
||||
|
@ -493,7 +297,7 @@ index 87c237aa..dc694010 100644
|
|||
Powerpc64 => f.write_str("powerpc64"),
|
||||
Powerpc64le => f.write_str("powerpc64le"),
|
||||
Riscv32(riscv32) => riscv32.fmt(f),
|
||||
@@ -913,6 +917,7 @@ impl FromStr for Architecture {
|
||||
@@ -943,6 +947,7 @@ impl FromStr for Architecture {
|
||||
"msp430" => Msp430,
|
||||
"nvptx64" => Nvptx64,
|
||||
"powerpc" => Powerpc,
|
||||
|
@ -501,8 +305,8 @@ index 87c237aa..dc694010 100644
|
|||
"powerpc64" => Powerpc64,
|
||||
"powerpc64le" => Powerpc64le,
|
||||
"s390x" => S390x,
|
||||
@@ -1380,6 +1385,8 @@ mod tests {
|
||||
"powerpc-unknown-netbsd",
|
||||
@@ -1445,6 +1450,8 @@ mod tests {
|
||||
"powerpc-unknown-openbsd",
|
||||
"powerpc-wrs-vxworks",
|
||||
"powerpc-wrs-vxworks-spe",
|
||||
+ "powerpcle-unknown-linux-gnu",
|
||||
|
@ -511,7 +315,7 @@ index 87c237aa..dc694010 100644
|
|||
"powerpc64-unknown-linux-gnu",
|
||||
"powerpc64-unknown-linux-musl",
|
||||
diff --git a/vendor/tikv-jemallocator/benches/roundtrip.rs b/vendor/tikv-jemallocator/benches/roundtrip.rs
|
||||
index 40b8005f..bc4df023 100644
|
||||
index 767abe8d4..704bf955a 100644
|
||||
--- a/vendor/tikv-jemallocator/benches/roundtrip.rs
|
||||
+++ b/vendor/tikv-jemallocator/benches/roundtrip.rs
|
||||
@@ -22,7 +22,8 @@ static A: Jemalloc = Jemalloc;
|
||||
|
@ -525,19 +329,16 @@ index 40b8005f..bc4df023 100644
|
|||
const MIN_ALIGN: usize = 8;
|
||||
#[cfg(all(any(
|
||||
diff --git a/vendor/tikv-jemallocator/src/lib.rs b/vendor/tikv-jemallocator/src/lib.rs
|
||||
index 9a489b62..1ed12b26 100644
|
||||
index 4a9397331..4cf47c05d 100644
|
||||
--- a/vendor/tikv-jemallocator/src/lib.rs
|
||||
+++ b/vendor/tikv-jemallocator/src/lib.rs
|
||||
@@ -44,7 +44,8 @@ use libc::{c_int, c_void};
|
||||
@@ -46,7 +46,8 @@ use libc::{c_int, c_void};
|
||||
target_arch = "arm",
|
||||
target_arch = "mips",
|
||||
target_arch = "mipsel",
|
||||
- target_arch = "powerpc"
|
||||
+ target_arch = "powerpc",
|
||||
+ target_arch = "powerpcle"
|
||||
+ target_arch = "powerpcle",
|
||||
)))]
|
||||
const ALIGNOF_MAX_ALIGN_T: usize = 8;
|
||||
#[cfg(all(any(
|
||||
--
|
||||
2.32.0
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
# uploaded to https://repo-default.voidlinux.org/distfiles/
|
||||
#
|
||||
pkgname=rust
|
||||
version=1.57.0
|
||||
version=1.61.0
|
||||
revision=1
|
||||
wrksrc="rustc-${version}-src"
|
||||
hostmakedepends="cmake curl pkg-config python3 tar cargo-bootstrap"
|
||||
|
@ -19,7 +19,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
|
|||
license="MIT, Apache-2.0"
|
||||
homepage="https://www.rust-lang.org/"
|
||||
distfiles="https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"
|
||||
checksum=3546f9c3b91b1f8b8efd26c94d6b50312c08210397b4072ed2748e2bd4445c1a
|
||||
checksum=ad0b4351675aa9abdf4c7e066613bd274c4391c5506db152983426376101daed
|
||||
lib32disabled=yes
|
||||
make_check=no # CBA for now
|
||||
|
||||
|
@ -61,7 +61,6 @@ post_patch() {
|
|||
_clear_vendor_checksums libc
|
||||
_clear_vendor_checksums typenum
|
||||
_clear_vendor_checksums cc
|
||||
_clear_vendor_checksums rustc-ap-rustc_target
|
||||
_clear_vendor_checksums target-lexicon
|
||||
_clear_vendor_checksums tikv-jemallocator
|
||||
}
|
||||
|
@ -216,14 +215,8 @@ do_install() {
|
|||
|
||||
cd ${DESTDIR}/usr/lib
|
||||
# symlinks instead of copies
|
||||
mv *.so rustlib/${RUST_TARGET}/lib
|
||||
rm *.so
|
||||
ln -sf rustlib/${RUST_TARGET}/lib/*.so .
|
||||
|
||||
# executable used for split dwarf, currently unstable on linux.
|
||||
# it's copied directly from the local llvm package, but
|
||||
# FIXME: cross builds are installing the version from the build machine,
|
||||
# it shouldn't be necessary to remove it
|
||||
rm rustlib/${RUST_TARGET}/bin/rust-llvm-dwp
|
||||
}
|
||||
|
||||
rust-doc_package() {
|
||||
|
|
Loading…
Add table
Reference in a new issue