diff options
author | Samuel Holland <samuel@sholland.org> | 2019-03-21 22:34:00 -0500 |
---|---|---|
committer | Samuel Holland <samuel@sholland.org> | 2019-03-22 23:28:00 -0500 |
commit | fd100f124927cd65cf821bd5d538815e81034c1b (patch) | |
tree | 380911715310d268c8c085a5f30f45f9195dd485 | |
parent | edffe262c383c979833766a85cd65b74fb5231fa (diff) | |
download | packages-fd100f124927cd65cf821bd5d538815e81034c1b.tar.gz packages-fd100f124927cd65cf821bd5d538815e81034c1b.tar.bz2 packages-fd100f124927cd65cf821bd5d538815e81034c1b.tar.xz packages-fd100f124927cd65cf821bd5d538815e81034c1b.zip |
user/rust: Bump to 1.33.0
28 files changed, 286 insertions, 1063 deletions
diff --git a/user/rust/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch b/user/rust/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch index f56ceb7e8..bb20cb7b6 100644 --- a/user/rust/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch +++ b/user/rust/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch @@ -1,17 +1,17 @@ -From 2a82e95d73d7e86bd420c15f712b09eb104a82c1 Mon Sep 17 00:00:00 2001 +From 6861c8305fc6449fdc019405d501e5740d44b818 Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Wed, 10 Jan 2018 13:36:41 -0600 -Subject: [PATCH 01/23] Don't pass CFLAGS to the C++ compiler +Subject: [PATCH 01/14] Don't pass CFLAGS to the C++ compiler --- src/bootstrap/builder.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs -index 02e9ca9250..7be38b1e8b 100644 +index 9c58f5b179..bbb275c572 100644 --- a/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs -@@ -1041,7 +1041,7 @@ impl<'a> Builder<'a> { +@@ -1037,7 +1037,7 @@ impl<'a> Builder<'a> { let cflags = self.cflags(target, GitRepo::Rustc).join(" "); cargo .env(format!("CFLAGS_{}", target), cflags.clone()) @@ -20,7 +20,7 @@ index 02e9ca9250..7be38b1e8b 100644 if let Some(ar) = self.ar(target) { let ranlib = format!("{} s", ar.display()); -@@ -1056,9 +1056,7 @@ impl<'a> Builder<'a> { +@@ -1052,9 +1052,7 @@ impl<'a> Builder<'a> { let cxx = ccacheify(&cxx); cargo .env(format!("CXX_{}", target), &cxx) @@ -32,5 +32,5 @@ index 02e9ca9250..7be38b1e8b 100644 } -- -2.19.2 +2.21.0 diff --git a/user/rust/0002-Fix-LLVM-build.patch b/user/rust/0002-Fix-LLVM-build.patch index 6938e0faf..7d12e84d3 100644 --- a/user/rust/0002-Fix-LLVM-build.patch +++ b/user/rust/0002-Fix-LLVM-build.patch @@ -1,26 +1,26 @@ -From d70cd5b6d304cc1b6d8f245460b27b8b0e0e6869 Mon Sep 17 00:00:00 2001 +From d44d2ca85013e85b2b72940609131d1229647461 Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Fri, 8 Sep 2017 00:04:29 -0500 -Subject: [PATCH 02/23] Fix LLVM build +Subject: [PATCH 02/14] Fix LLVM build --- src/bootstrap/lib.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs -index ab3d0b5137..30e84bc13f 100644 +index 7491385af7..74c04bac6b 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs -@@ -785,7 +785,8 @@ impl Build { +@@ -772,7 +772,8 @@ impl Build { // cc-rs because the build scripts will determine that for themselves. let mut base = self.cc[&target].args().iter() .map(|s| s.to_string_lossy().into_owned()) - .filter(|s| !s.starts_with("-O") && !s.starts_with("/O")) + .filter(|s| !s.starts_with("-O") && !s.starts_with("/O") + && !s.starts_with("-static")) - .collect::<Vec<_>>(); + .collect::<Vec<String>>(); // If we're compiling on macOS then we add a few unconditional flags -- -2.19.2 +2.21.0 diff --git a/user/rust/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch b/user/rust/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch index 588c4df66..c1cb5e930 100644 --- a/user/rust/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch +++ b/user/rust/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch @@ -1,7 +1,7 @@ -From 0613fed83ccf58ce3305a1df35e31eda25ba409e Mon Sep 17 00:00:00 2001 +From 520ceedb4a6384da5c207aa434a29d68fc8e238a Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Sat, 2 Dec 2017 17:25:44 -0600 -Subject: [PATCH 03/23] Allow rustdoc to work when cross-compiling on musl +Subject: [PATCH 03/14] Allow rustdoc to work when cross-compiling on musl musl can't handle foreign-architecture libraries in LD_LIBRARY_PATH. --- @@ -9,10 +9,10 @@ musl can't handle foreign-architecture libraries in LD_LIBRARY_PATH. 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/bootstrap/bin/rustdoc.rs b/src/bootstrap/bin/rustdoc.rs -index bb5a21e3e4..1b6b78b90a 100644 +index dec74e60c7..af76331db0 100644 --- a/src/bootstrap/bin/rustdoc.rs +++ b/src/bootstrap/bin/rustdoc.rs -@@ -34,9 +34,6 @@ fn main() { +@@ -24,9 +24,6 @@ fn main() { Err(_) => 0, }; @@ -22,7 +22,7 @@ index bb5a21e3e4..1b6b78b90a 100644 //FIXME(misdreavus): once stdsimd uses cfg(rustdoc) instead of cfg(dox), remove the `--cfg dox` //arguments here let mut cmd = Command::new(rustdoc); -@@ -48,7 +45,7 @@ fn main() { +@@ -38,7 +35,7 @@ fn main() { .arg("--sysroot") .arg(sysroot) .env(bootstrap::util::dylib_path_var(), @@ -32,5 +32,5 @@ index bb5a21e3e4..1b6b78b90a 100644 // Force all crates compiled by this compiler to (a) be unstable and (b) // allow the `rustc_private` feature to link to other unstable crates -- -2.19.2 +2.21.0 diff --git a/user/rust/0004-Require-static-native-libraries-when-linking-static-.patch b/user/rust/0004-Require-static-native-libraries-when-linking-static-.patch index cd01e4153..6ec5eb76f 100644 --- a/user/rust/0004-Require-static-native-libraries-when-linking-static-.patch +++ b/user/rust/0004-Require-static-native-libraries-when-linking-static-.patch @@ -1,7 +1,7 @@ -From 4e6debd6806faf62ba737c01bb74080a637b127a Mon Sep 17 00:00:00 2001 +From 46e6ead56b2899d9041fe73c1530b7f02df2ca40 Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Fri, 8 Sep 2017 00:05:18 -0500 -Subject: [PATCH 04/23] Require static native libraries when linking static +Subject: [PATCH 04/14] Require static native libraries when linking static executables gcc/ld will create a dynamically-linked executable without warning, even @@ -15,10 +15,10 @@ Fixes #54243 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/librustc_codegen_llvm/back/link.rs b/src/librustc_codegen_llvm/back/link.rs -index 86c6a5e65b..0e3ff6da07 100644 +index fc744201a3..bae8b6ed75 100644 --- a/src/librustc_codegen_llvm/back/link.rs +++ b/src/librustc_codegen_llvm/back/link.rs -@@ -1588,8 +1588,8 @@ fn add_upstream_rust_crates(cmd: &mut dyn Linker, +@@ -1413,8 +1413,8 @@ fn add_upstream_rust_crates(cmd: &mut dyn Linker, } } @@ -29,7 +29,7 @@ index 86c6a5e65b..0e3ff6da07 100644 // dependencies. We've got two cases then: // // 1. The upstream crate is an rlib. In this case we *must* link in the -@@ -1633,7 +1633,14 @@ fn add_upstream_native_libraries(cmd: &mut dyn Linker, +@@ -1458,7 +1458,14 @@ fn add_upstream_native_libraries(cmd: &mut dyn Linker, continue } match lib.kind { @@ -46,5 +46,5 @@ index 86c6a5e65b..0e3ff6da07 100644 NativeLibraryKind::NativeStaticNobundle => { // Link "static-nobundle" native libs only if the crate they originate from -- -2.19.2 +2.21.0 diff --git a/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch b/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch index 4c0a8dee0..6053de26b 100644 --- a/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch +++ b/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch @@ -1,28 +1,28 @@ -From c822b31f554ed2f930be8625973a401fd438c123 Mon Sep 17 00:00:00 2001 +From 5d98731bae319172c5fbfd8235f62bb00acb3a7d Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Fri, 8 Sep 2017 22:11:14 -0500 -Subject: [PATCH 05/23] Remove -nostdlib and musl_root from musl targets +Subject: [PATCH 05/14] Remove -nostdlib and musl_root from musl targets --- - config.toml.example | 6 --- - src/bootstrap/bin/rustc.rs | 10 ----- - src/bootstrap/cc_detect.rs | 27 ++---------- - src/bootstrap/compile.rs | 31 -------------- - src/bootstrap/config.rs | 7 ---- - src/bootstrap/configure.py | 22 ---------- - src/bootstrap/lib.rs | 8 ---- - src/bootstrap/sanity.rs | 30 +------------- - .../dist-i586-gnu-i586-i686-musl/Dockerfile | 2 - - src/ci/docker/dist-various-1/Dockerfile | 7 ---- + config.toml.example | 6 ---- + src/bootstrap/bin/rustc.rs | 12 -------- + src/bootstrap/cc_detect.rs | 27 ++---------------- + src/bootstrap/compile.rs | 21 -------------- + src/bootstrap/config.rs | 7 ----- + src/bootstrap/configure.py | 22 --------------- + src/bootstrap/lib.rs | 8 ------ + src/bootstrap/sanity.rs | 28 ------------------- + .../dist-i586-gnu-i586-i686-musl/Dockerfile | 2 -- + src/ci/docker/dist-various-1/Dockerfile | 7 ----- src/ci/docker/dist-x86_64-musl/Dockerfile | 1 - - src/librustc_target/spec/linux_musl_base.rs | 41 ------------------- - 12 files changed, 4 insertions(+), 188 deletions(-) + src/librustc_target/spec/linux_musl_base.rs | 16 ----------- + 12 files changed, 3 insertions(+), 154 deletions(-) diff --git a/config.toml.example b/config.toml.example -index e8cb0cba6b..1971fea758 100644 +index 23943d34b7..5eace54c6b 100644 --- a/config.toml.example +++ b/config.toml.example -@@ -452,12 +452,6 @@ +@@ -461,12 +461,6 @@ # only use static libraries. If unset, the target's default linkage is used. #crt-static = false @@ -36,10 +36,10 @@ index e8cb0cba6b..1971fea758 100644 # probably don't want to use this. #qemu-rootfs = "..." diff --git a/src/bootstrap/bin/rustc.rs b/src/bootstrap/bin/rustc.rs -index b6764c1aae..6fa60bd9a5 100644 +index a0c75cd9e9..f8daab9bd1 100644 --- a/src/bootstrap/bin/rustc.rs +++ b/src/bootstrap/bin/rustc.rs -@@ -30,7 +30,6 @@ +@@ -20,7 +20,6 @@ extern crate bootstrap; use std::env; @@ -47,27 +47,29 @@ index b6764c1aae..6fa60bd9a5 100644 use std::io; use std::path::PathBuf; use std::process::Command; -@@ -126,15 +125,6 @@ fn main() { +@@ -116,17 +115,6 @@ fn main() { cmd.arg("-Cprefer-dynamic"); } - // Help the libc crate compile by assisting it in finding the MUSL - // native libraries. - if let Some(s) = env::var_os("MUSL_ROOT") { -- let mut root = OsString::from("native="); -- root.push(&s); -- root.push("/lib"); -- cmd.arg("-L").arg(&root); +- if target.contains("musl") { +- let mut root = OsString::from("native="); +- root.push(&s); +- root.push("/lib"); +- cmd.arg("-L").arg(&root); +- } - } - // Override linker if necessary. if let Ok(target_linker) = env::var("RUSTC_TARGET_LINKER") { cmd.arg(format!("-Clinker={}", target_linker)); diff --git a/src/bootstrap/cc_detect.rs b/src/bootstrap/cc_detect.rs -index d5da0cabec..47cc31bded 100644 +index 37844759c7..fa553c0b06 100644 --- a/src/bootstrap/cc_detect.rs +++ b/src/bootstrap/cc_detect.rs -@@ -95,7 +95,7 @@ pub fn find(build: &mut Build) { +@@ -85,7 +85,7 @@ pub fn find(build: &mut Build) { if let Some(cc) = config.and_then(|c| c.cc.as_ref()) { cfg.compiler(cc); } else { @@ -76,7 +78,7 @@ index d5da0cabec..47cc31bded 100644 } let compiler = cfg.get_compiler(); -@@ -124,7 +124,7 @@ pub fn find(build: &mut Build) { +@@ -114,7 +114,7 @@ pub fn find(build: &mut Build) { if let Some(cxx) = config.and_then(|c| c.cxx.as_ref()) { cfg.compiler(cxx); } else { @@ -85,7 +87,7 @@ index d5da0cabec..47cc31bded 100644 } let compiler = cfg.get_compiler(); build.verbose(&format!("CXX_{} = {:?}", host, compiler.path())); -@@ -135,8 +135,7 @@ pub fn find(build: &mut Build) { +@@ -125,8 +125,7 @@ pub fn find(build: &mut Build) { fn set_compiler(cfg: &mut cc::Build, compiler: Language, target: Interned<String>, @@ -95,7 +97,7 @@ index d5da0cabec..47cc31bded 100644 match &*target { // When compiling for android we may have the NDK configured in the // config.toml in which case we look there. Otherwise the default -@@ -173,26 +172,6 @@ fn set_compiler(cfg: &mut cc::Build, +@@ -166,26 +165,6 @@ fn set_compiler(cfg: &mut cc::Build, } } @@ -123,60 +125,36 @@ index d5da0cabec..47cc31bded 100644 } } diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs -index 69d45acded..7bb38ac7ec 100644 +index b581271663..21421b2e38 100644 --- a/src/bootstrap/compile.rs +++ b/src/bootstrap/compile.rs -@@ -86,13 +86,6 @@ impl Step for Std { - }); - builder.info(&format!("Uplifting stage1 std ({} -> {})", from.host, target)); - -- // Even if we're not building std this stage, the new sysroot must -- // still contain the musl startup objects. -- if target.contains("musl") { -- let libdir = builder.sysroot_libdir(compiler, target); -- copy_musl_third_party_objects(builder, target, &libdir); -- } -- - builder.ensure(StdLink { - compiler: from, - target_compiler: compiler, -@@ -101,11 +94,6 @@ impl Step for Std { - return; - } +@@ -114,21 +114,6 @@ impl Step for Std { + fn copy_third_party_objects(builder: &Builder, compiler: &Compiler, target: Interned<String>) { + let libdir = builder.sysroot_libdir(*compiler, target); -- if target.contains("musl") { -- let libdir = builder.sysroot_libdir(compiler, target); -- copy_musl_third_party_objects(builder, target, &libdir); +- // Copies the crt(1,i,n).o startup objects +- // +- // Since musl supports fully static linking, we can cross link for it even +- // with a glibc-targeting toolchain, given we have the appropriate startup +- // files. As those shipped with glibc won't work, copy the ones provided by +- // musl so we have them on linux-gnu hosts. +- if target.contains("musl") { +- for &obj in &["crt1.o", "crti.o", "crtn.o"] { +- builder.copy( +- &builder.musl_root(target).unwrap().join("lib").join(obj), +- &libdir.join(obj), +- ); - } -- - let mut cargo = builder.cargo(compiler, Mode::Std, target, "build"); - std_cargo(builder, &compiler, target, &mut cargo); - -@@ -126,20 +114,6 @@ impl Step for Std { - } - } - --/// Copies the crt(1,i,n).o startup objects --/// --/// Since musl supports fully static linking, we can cross link for it even --/// with a glibc-targeting toolchain, given we have the appropriate startup --/// files. As those shipped with glibc won't work, copy the ones provided by --/// musl so we have them on linux-gnu hosts. --fn copy_musl_third_party_objects(builder: &Builder, -- target: Interned<String>, -- into: &Path) { -- for &obj in &["crt1.o", "crti.o", "crtn.o"] { -- builder.copy(&builder.musl_root(target).unwrap().join("lib").join(obj), &into.join(obj)); - } --} - - /// Configure cargo to compile the standard library, adding appropriate env vars - /// and such. - pub fn std_cargo(builder: &Builder, -@@ -193,11 +167,6 @@ pub fn std_cargo(builder: &Builder, - cargo.env("JEMALLOC_OVERRIDE", jemalloc); - } - } + // Copies libunwind.a compiled to be linked wit x86_64-fortanix-unknown-sgx. + // + // This target needs to be linked to Fortanix's port of llvm's libunwind. +@@ -182,12 +167,6 @@ pub fn std_cargo(builder: &Builder, + cargo.arg("--features").arg(features) + .arg("--manifest-path") + .arg(builder.src.join("src/libstd/Cargo.toml")); +- - if target.contains("musl") { - if let Some(p) = builder.musl_root(target) { - cargo.env("MUSL_ROOT", p); @@ -186,10 +164,10 @@ index 69d45acded..7bb38ac7ec 100644 } diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs -index a9d330e06a..745785a8ae 100644 +index 9421817ae6..cd70c1a1e4 100644 --- a/src/bootstrap/config.rs +++ b/src/bootstrap/config.rs -@@ -136,8 +136,6 @@ pub struct Config { +@@ -128,8 +128,6 @@ pub struct Config { pub print_step_timings: bool, pub missing_tools: bool, @@ -198,7 +176,7 @@ index a9d330e06a..745785a8ae 100644 pub prefix: Option<PathBuf>, pub sysconfdir: Option<PathBuf>, pub datadir: Option<PathBuf>, -@@ -173,7 +171,6 @@ pub struct Target { +@@ -164,7 +162,6 @@ pub struct Target { pub linker: Option<PathBuf>, pub ndk: Option<PathBuf>, pub crt_static: Option<bool>, @@ -206,7 +184,7 @@ index a9d330e06a..745785a8ae 100644 pub qemu_rootfs: Option<PathBuf>, pub no_std: bool, } -@@ -305,7 +302,6 @@ struct Rust { +@@ -296,7 +293,6 @@ struct Rust { backtrace: Option<bool>, default_linker: Option<String>, channel: Option<String>, @@ -214,7 +192,7 @@ index a9d330e06a..745785a8ae 100644 rpath: Option<bool>, optimize_tests: Option<bool>, debuginfo_tests: Option<bool>, -@@ -343,7 +339,6 @@ struct TomlTarget { +@@ -335,7 +331,6 @@ struct TomlTarget { linker: Option<String>, android_ndk: Option<String>, crt_static: Option<bool>, @@ -222,7 +200,7 @@ index a9d330e06a..745785a8ae 100644 qemu_rootfs: Option<String>, } -@@ -560,7 +555,6 @@ impl Config { +@@ -549,7 +544,6 @@ impl Config { set(&mut config.llvm_tools_enabled, rust.llvm_tools); config.rustc_parallel_queries = rust.experimental_parallel_queries.unwrap_or(false); config.rustc_default_linker = rust.default_linker.clone(); @@ -230,7 +208,7 @@ index a9d330e06a..745785a8ae 100644 config.save_toolstates = rust.save_toolstates.clone().map(PathBuf::from); set(&mut config.deny_warnings, rust.deny_warnings.or(flags.warnings)); set(&mut config.backtrace_on_ice, rust.backtrace_on_ice); -@@ -604,7 +598,6 @@ impl Config { +@@ -592,7 +586,6 @@ impl Config { target.ranlib = cfg.ranlib.clone().map(PathBuf::from); target.linker = cfg.linker.clone().map(PathBuf::from); target.crt_static = cfg.crt_static.clone(); @@ -239,10 +217,10 @@ index a9d330e06a..745785a8ae 100644 config.target_config.insert(INTERNER.intern_string(triple.clone()), target); diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py -index 0cf84a6298..4845e93a0e 100755 +index b0c3c97024..5128897bf7 100755 --- a/src/bootstrap/configure.py +++ b/src/bootstrap/configure.py -@@ -112,28 +112,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk", +@@ -105,28 +105,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk", "aarch64-linux-android NDK standalone path") v("x86_64-linux-android-ndk", "target.x86_64-linux-android.android-ndk", "x86_64-linux-android NDK standalone path") @@ -272,10 +250,10 @@ index 0cf84a6298..4845e93a0e 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 30e84bc13f..cf6f410ccb 100644 +index 74c04bac6b..aa91600ea7 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs -@@ -861,14 +861,6 @@ impl Build { +@@ -849,14 +849,6 @@ impl Build { } } @@ -291,19 +269,10 @@ index 30e84bc13f..cf6f410ccb 100644 fn no_std(&self, target: Interned<String>) -> Option<bool> { self.config.target_config.get(&target) diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs -index 724cb5841f..5af34e441c 100644 +index fe547a6b15..a452c874c4 100644 --- a/src/bootstrap/sanity.rs +++ b/src/bootstrap/sanity.rs -@@ -21,7 +21,7 @@ - use std::collections::HashMap; - use std::env; - use std::ffi::{OsString, OsStr}; --use std::fs::{self, File}; -+use std::fs::File; - use std::io::Read; - use std::path::PathBuf; - use std::process::Command; -@@ -186,34 +186,6 @@ pub fn check(build: &mut Build) { +@@ -169,34 +169,6 @@ pub fn check(build: &mut Build) { } } @@ -352,12 +321,12 @@ index ba2d32a929..412c37fdd1 100644 --disable-docs diff --git a/src/ci/docker/dist-various-1/Dockerfile b/src/ci/docker/dist-various-1/Dockerfile -index e2484b7224..1855b7f3e5 100644 +index ab2dd5a399..a9569fe6d4 100644 --- a/src/ci/docker/dist-various-1/Dockerfile +++ b/src/ci/docker/dist-various-1/Dockerfile -@@ -116,13 +116,6 @@ ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \ - CC_armebv7r_none_eabi=arm-none-eabi-gcc - +@@ -128,13 +128,6 @@ ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \ + CXX_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-g++ + ENV RUST_CONFIGURE_ARGS \ - --musl-root-armv5te=/musl-armv5te \ - --musl-root-arm=/musl-arm \ @@ -382,10 +351,10 @@ index 06f8a2fbba..f5dd379528 100644 --disable-docs diff --git a/src/librustc_target/spec/linux_musl_base.rs b/src/librustc_target/spec/linux_musl_base.rs -index 7a3f3c2a51..32fe2f880a 100644 +index 1bc90d1a73..e26a5240a6 100644 --- a/src/librustc_target/spec/linux_musl_base.rs +++ b/src/librustc_target/spec/linux_musl_base.rs -@@ -13,53 +13,12 @@ use spec::{LinkerFlavor, TargetOptions}; +@@ -3,28 +3,12 @@ use spec::{LinkerFlavor, TargetOptions}; pub fn opts() -> TargetOptions { let mut base = super::linux_base::opts(); @@ -400,31 +369,6 @@ index 7a3f3c2a51..32fe2f880a 100644 // argument is *not* necessary for normal builds, but it can't hurt! base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-Wl,--eh-frame-hdr".to_string()); -- // There's a whole bunch of circular dependencies when dealing with MUSL -- // unfortunately. To put this in perspective libc is statically linked to -- // liblibc and libunwind is statically linked to libstd: -- // -- // * libcore depends on `fmod` which is in libc (transitively in liblibc). -- // liblibc, however, depends on libcore. -- // * compiler-rt has personality symbols that depend on libunwind, but -- // libunwind is in libstd which depends on compiler-rt. -- // -- // Recall that linkers discard libraries and object files as much as -- // possible, and with all the static linking and archives flying around with -- // MUSL the linker is super aggressively stripping out objects. For example -- // the first case has fmod stripped from liblibc (it's in its own object -- // file) so it's not there when libcore needs it. In the second example all -- // the unused symbols from libunwind are stripped (each is in its own object -- // file in libstd) before we end up linking compiler-rt which depends on -- // those symbols. -- // -- // To deal with these circular dependencies we just force the compiler to -- // link everything as a group, not stripping anything out until everything -- // is processed. The linker will still perform a pass to strip out object -- // files but it won't do so until all objects/archives have been processed. -- base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-Wl,-(".to_string()); -- base.post_link_args.insert(LinkerFlavor::Gcc, vec!["-Wl,-)".to_string()]); -- - // When generating a statically linked executable there's generally some - // small setup needed which is listed in these files. These are provided by - // a musl toolchain and are linked by default by the `musl-gcc` script. Note @@ -440,5 +384,5 @@ index 7a3f3c2a51..32fe2f880a 100644 base.crt_static_default = true; // These targets allow the user to choose between static and dynamic linking. -- -2.19.2 +2.21.0 diff --git a/user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch b/user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch index e3a4b47cf..f7f7ccd3e 100644 --- a/user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch +++ b/user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch @@ -1,17 +1,17 @@ -From 916ce9740ddd2e41a567f821f9c0e86faa3c8269 Mon Sep 17 00:00:00 2001 +From eb2340bd8c8d9e79eb4bb231ccb31cd4e4bba907 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/23] Prefer libgcc_eh over libunwind for musl +Subject: [PATCH 06/14] 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 954eb9d6d0..a127aa5d96 100644 +index 7ed7837268..2f38a43845 100644 --- a/src/libunwind/lib.rs +++ b/src/libunwind/lib.rs -@@ -36,6 +36,6 @@ cfg_if! { +@@ -26,6 +26,6 @@ cfg_if! { } #[cfg(target_env = "musl")] @@ -20,5 +20,5 @@ index 954eb9d6d0..a127aa5d96 100644 #[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))] extern {} -- -2.19.2 +2.21.0 diff --git a/user/rust/0007-Add-powerpc-unknown-linux-musl-target.patch b/user/rust/0007-Add-powerpc-unknown-linux-musl-target.patch deleted file mode 100644 index f186af55f..000000000 --- a/user/rust/0007-Add-powerpc-unknown-linux-musl-target.patch +++ /dev/null @@ -1,66 +0,0 @@ -From a69d4e607d3eda390fd5c6e97022d4ef20af5676 Mon Sep 17 00:00:00 2001 -From: Samuel Holland <samuel@sholland.org> -Date: Mon, 10 Sep 2018 01:35:35 +0000 -Subject: [PATCH 07/23] Add powerpc-unknown-linux-musl target - ---- - src/librustc_target/spec/mod.rs | 1 + - .../spec/powerpc_unknown_linux_musl.rs | 34 +++++++++++++++++++ - 2 files changed, 35 insertions(+) - create mode 100644 src/librustc_target/spec/powerpc_unknown_linux_musl.rs - -diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs -index d43d45f64a..4b03f6141f 100644 ---- a/src/librustc_target/spec/mod.rs -+++ b/src/librustc_target/spec/mod.rs -@@ -297,6 +297,7 @@ supported_targets! { - ("mipsel-unknown-linux-gnu", mipsel_unknown_linux_gnu), - ("powerpc-unknown-linux-gnu", powerpc_unknown_linux_gnu), - ("powerpc-unknown-linux-gnuspe", powerpc_unknown_linux_gnuspe), -+ ("powerpc-unknown-linux-musl", powerpc_unknown_linux_musl), - ("powerpc64-unknown-linux-gnu", powerpc64_unknown_linux_gnu), - ("powerpc64le-unknown-linux-gnu", powerpc64le_unknown_linux_gnu), - ("powerpc64le-unknown-linux-musl", powerpc64le_unknown_linux_musl), -diff --git a/src/librustc_target/spec/powerpc_unknown_linux_musl.rs b/src/librustc_target/spec/powerpc_unknown_linux_musl.rs -new file mode 100644 -index 0000000000..48340da514 ---- /dev/null -+++ b/src/librustc_target/spec/powerpc_unknown_linux_musl.rs -@@ -0,0 +1,34 @@ -+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT -+// file at the top-level directory of this distribution and at -+// http://rust-lang.org/COPYRIGHT. -+// -+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -+// option. This file may not be copied, modified, or distributed -+// except according to those terms. -+ -+use spec::{LinkerFlavor, Target, TargetResult}; -+ -+pub fn target() -> TargetResult { -+ let mut base = super::linux_musl_base::opts(); -+ base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-m32".to_string()); -+ base.max_atomic_width = Some(32); -+ -+ // see #36994 -+ base.exe_allocation_crate = None; -+ -+ Ok(Target { -+ llvm_target: "powerpc-unknown-linux-musl".to_string(), -+ target_endian: "big".to_string(), -+ target_pointer_width: "32".to_string(), -+ target_c_int_width: "32".to_string(), -+ data_layout: "E-m:e-p:32:32-i64:64-n32".to_string(), -+ arch: "powerpc".to_string(), -+ target_os: "linux".to_string(), -+ target_env: "musl".to_string(), -+ target_vendor: "unknown".to_string(), -+ linker_flavor: LinkerFlavor::Gcc, -+ options: base, -+ }) -+} --- -2.19.2 - diff --git a/user/rust/0012-runtest-Fix-proc-macro-tests-on-musl-hosts.patch b/user/rust/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch index c8b2529d8..6435eeef0 100644 --- a/user/rust/0012-runtest-Fix-proc-macro-tests-on-musl-hosts.patch +++ b/user/rust/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch @@ -1,17 +1,17 @@ -From 050dfd0e91b92cb350ca52599266cefc6c765106 Mon Sep 17 00:00:00 2001 +From e60db771c8ffe7b82a97ca516737cbf40b372e54 Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Sun, 16 Sep 2018 16:40:04 +0000 -Subject: [PATCH 12/23] runtest: Fix proc-macro tests on musl hosts +Subject: [PATCH 07/14] runtest: Fix proc-macro tests on musl hosts --- src/tools/compiletest/src/runtest.rs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs -index a80bbd401a..bbe0a6fb7a 100644 +index 400c205d44..be5c50b070 100644 --- a/src/tools/compiletest/src/runtest.rs +++ b/src/tools/compiletest/src/runtest.rs -@@ -1582,7 +1582,6 @@ impl<'test> TestCx<'test> { +@@ -1566,7 +1566,6 @@ impl<'test> TestCx<'test> { None } else if self.config.target.contains("cloudabi") || self.config.target.contains("emscripten") @@ -19,7 +19,7 @@ index a80bbd401a..bbe0a6fb7a 100644 || self.config.target.contains("wasm32") { // We primarily compile all auxiliary libraries as dynamic libraries -@@ -1590,10 +1589,8 @@ impl<'test> TestCx<'test> { +@@ -1574,10 +1573,8 @@ impl<'test> TestCx<'test> { // for the test suite (otherwise including libstd statically in all // executables takes up quite a bit of space). // @@ -33,5 +33,5 @@ index a80bbd401a..bbe0a6fb7a 100644 } else { Some("dylib") -- -2.19.2 +2.21.0 diff --git a/user/rust/0008-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch b/user/rust/0008-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch deleted file mode 100644 index 1c4c813fc..000000000 --- a/user/rust/0008-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 8a2c9af2ea8b21d38f5ff779fde29f612bb63575 Mon Sep 17 00:00:00 2001 -From: Samuel Holland <samuel@sholland.org> -Date: Sun, 16 Sep 2018 16:34:15 +0000 -Subject: [PATCH 08/23] Fix powerpc64 ELFv2 big-endian struct-passing ABI - -The requirements here are not "ELFv1" requirements, but big-endian -requirements, as the extension or non-extension of the argument is -necessary to put the argument in the correct half of the register. -Parameter passing in the ELFv2 ABI needs these same transformations. -Since this code makes no difference on little-endian machines, simplify -it to use the same code path everywhere. ---- - src/librustc_target/abi/call/powerpc64.rs | 29 ++++++++++------------- - src/librustc_target/abi/mod.rs | 2 +- - 2 files changed, 13 insertions(+), 18 deletions(-) - -diff --git a/src/librustc_target/abi/call/powerpc64.rs b/src/librustc_target/abi/call/powerpc64.rs -index 0c5ec77a39..934d2b1138 100644 ---- a/src/librustc_target/abi/call/powerpc64.rs -+++ b/src/librustc_target/abi/call/powerpc64.rs -@@ -75,7 +75,9 @@ fn classify_ret_ty<'a, Ty, C>(cx: C, ret: &mut ArgType<'a, Ty>, abi: ABI) - let size = ret.layout.size; - let bits = size.bits(); - if bits <= 128 { -- let unit = if bits <= 8 { -+ let unit = if cx.data_layout().endian == Endian::Big { -+ Reg { kind: RegKind::Integer, size } -+ } else if bits <= 8 { - Reg::i8() - } else if bits <= 16 { - Reg::i16() -@@ -110,22 +112,15 @@ fn classify_arg_ty<'a, Ty, C>(cx: C, arg: &mut ArgType<'a, Ty>, abi: ABI) - } - - let size = arg.layout.size; -- let (unit, total) = match abi { -- ELFv1 => { -- // In ELFv1, aggregates smaller than a doubleword should appear in -- // the least-significant bits of the parameter doubleword. The rest -- // should be padded at their tail to fill out multiple doublewords. -- if size.bits() <= 64 { -- (Reg { kind: RegKind::Integer, size }, size) -- } else { -- let align = Align::from_bits(64, 64).unwrap(); -- (Reg::i64(), size.abi_align(align)) -- } -- }, -- ELFv2 => { -- // In ELFv2, we can just cast directly. -- (Reg::i64(), size) -- }, -+ let (unit, total) = if size.bits() <= 64 { -+ // Aggregates smaller than a doubleword should appear in -+ // the least-significant bits of the parameter doubleword. -+ (Reg { kind: RegKind::Integer, size }, size) -+ } else { -+ // Aggregates larger than a doubleword should be padded -+ // at the tail to fill out a whole number of doublewords. -+ let align = Align::from_bits(64, 64).unwrap(); -+ (Reg::i64(), size.abi_align(align)) - }; - - arg.cast_to(Uniform { -diff --git a/src/librustc_target/abi/mod.rs b/src/librustc_target/abi/mod.rs -index 1a5d2801af..0ec2cc0d7b 100644 ---- a/src/librustc_target/abi/mod.rs -+++ b/src/librustc_target/abi/mod.rs -@@ -214,7 +214,7 @@ impl<'a> HasDataLayout for &'a TargetDataLayout { - } - - /// Endianness of the target, which must match cfg(target-endian). --#[derive(Copy, Clone)] -+#[derive(Copy, Clone, PartialEq)] - pub enum Endian { - Little, - Big --- -2.19.2 - diff --git a/user/rust/0008-test-enum-debug-Correct-minimum-LLVM-version.patch b/user/rust/0008-test-enum-debug-Correct-minimum-LLVM-version.patch new file mode 100644 index 000000000..dddaf75bf --- /dev/null +++ b/user/rust/0008-test-enum-debug-Correct-minimum-LLVM-version.patch @@ -0,0 +1,67 @@ +From 8dbda1b85a15b04300f73eb30c1e2da196750cfb Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Fri, 22 Mar 2019 17:08:06 -0500 +Subject: [PATCH 08/14] test/enum-debug*: Correct minimum LLVM version + +--- + src/test/codegen/enum-debug-clike.rs | 2 +- + src/test/codegen/enum-debug-niche-2.rs | 2 +- + src/test/codegen/enum-debug-niche.rs | 2 +- + src/test/codegen/enum-debug-tagged.rs | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/test/codegen/enum-debug-clike.rs b/src/test/codegen/enum-debug-clike.rs +index 98f07505f7..11e2fae596 100644 +--- a/src/test/codegen/enum-debug-clike.rs ++++ b/src/test/codegen/enum-debug-clike.rs +@@ -4,7 +4,7 @@ + + // ignore-tidy-linelength + // ignore-windows +-// min-system-llvm-version 7.0 ++// min-system-llvm-version 8.0 + + // compile-flags: -g -C no-prepopulate-passes + +diff --git a/src/test/codegen/enum-debug-niche-2.rs b/src/test/codegen/enum-debug-niche-2.rs +index 369fa1fcfd..aa6cbf66b4 100644 +--- a/src/test/codegen/enum-debug-niche-2.rs ++++ b/src/test/codegen/enum-debug-niche-2.rs +@@ -4,7 +4,7 @@ + + // ignore-tidy-linelength + // ignore-windows +-// min-system-llvm-version 7.0 ++// min-system-llvm-version 8.0 + + // compile-flags: -g -C no-prepopulate-passes + +diff --git a/src/test/codegen/enum-debug-niche.rs b/src/test/codegen/enum-debug-niche.rs +index 1273a785ba..93eebde7b8 100644 +--- a/src/test/codegen/enum-debug-niche.rs ++++ b/src/test/codegen/enum-debug-niche.rs +@@ -4,7 +4,7 @@ + + // ignore-tidy-linelength + // ignore-windows +-// min-system-llvm-version 7.0 ++// min-system-llvm-version 8.0 + + // compile-flags: -g -C no-prepopulate-passes + +diff --git a/src/test/codegen/enum-debug-tagged.rs b/src/test/codegen/enum-debug-tagged.rs +index 5c37e40c27..84976ce97a 100644 +--- a/src/test/codegen/enum-debug-tagged.rs ++++ b/src/test/codegen/enum-debug-tagged.rs +@@ -4,7 +4,7 @@ + + // ignore-tidy-linelength + // ignore-windows +-// min-system-llvm-version 7.0 ++// min-system-llvm-version 8.0 + + // compile-flags: -g -C no-prepopulate-passes + +-- +2.21.0 + diff --git a/user/rust/0009-Use-the-ELFv2-ABI-on-powerpc64-musl.patch b/user/rust/0009-Use-the-ELFv2-ABI-on-powerpc64-musl.patch deleted file mode 100644 index c6da310da..000000000 --- a/user/rust/0009-Use-the-ELFv2-ABI-on-powerpc64-musl.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 44c55a243178d34d5a21e08abc38d103e6ddb0c8 Mon Sep 17 00:00:00 2001 -From: Samuel Holland <samuel@sholland.org> -Date: Wed, 8 Aug 2018 22:06:18 -0500 -Subject: [PATCH 09/23] Use the ELFv2 ABI on powerpc64 musl - ---- - src/librustc_target/abi/call/powerpc64.rs | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - -diff --git a/src/librustc_target/abi/call/powerpc64.rs b/src/librustc_target/abi/call/powerpc64.rs -index 934d2b1138..18d14495e2 100644 ---- a/src/librustc_target/abi/call/powerpc64.rs -+++ b/src/librustc_target/abi/call/powerpc64.rs -@@ -14,11 +14,12 @@ - - use abi::call::{FnType, ArgType, Reg, RegKind, Uniform}; - use abi::{Align, Endian, HasDataLayout, LayoutOf, TyLayout, TyLayoutMethods}; -+use spec::HasTargetSpec; - - #[derive(Debug, Clone, Copy, PartialEq)] - enum ABI { - ELFv1, // original ABI used for powerpc64 (big-endian) -- ELFv2, // newer ABI used for powerpc64le -+ ELFv2, // newer ABI used for powerpc64le and musl (both endians) - } - use self::ABI::*; - -@@ -131,11 +132,15 @@ fn classify_arg_ty<'a, Ty, C>(cx: C, arg: &mut ArgType<'a, Ty>, abi: ABI) - - pub fn compute_abi_info<'a, Ty, C>(cx: C, fty: &mut FnType<'a, Ty>) - where Ty: TyLayoutMethods<'a, C> + Copy, -- C: LayoutOf<Ty = Ty, TyLayout = TyLayout<'a, Ty>> + HasDataLayout -+ C: LayoutOf<Ty = Ty, TyLayout = TyLayout<'a, Ty>> + HasDataLayout + HasTargetSpec - { -- let abi = match cx.data_layout().endian { -- Endian::Big => ELFv1, -- Endian::Little => ELFv2, -+ let abi = if cx.target_spec().target_env == "musl" { -+ ELFv2 -+ } else { -+ match cx.data_layout().endian { -+ Endian::Big => ELFv1, -+ Endian::Little => ELFv2 -+ } - }; - - if !fty.ret.is_ignore() { --- -2.19.2 - diff --git a/user/rust/0018-test-use-extern-for-plugins-Don-t-assume-multilib.patch b/user/rust/0009-test-use-extern-for-plugins-Don-t-assume-multilib.patch index 7d63cc1cc..da9d25537 100644 --- a/user/rust/0018-test-use-extern-for-plugins-Don-t-assume-multilib.patch +++ b/user/rust/0009-test-use-extern-for-plugins-Don-t-assume-multilib.patch @@ -1,7 +1,7 @@ -From 8fbb4ae754fff3f4daa82ad222b3743aace0aa97 Mon Sep 17 00:00:00 2001 +From b7fdd2b4b192e1ac7e59fe009e7b7bba8943c8dc Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Sat, 6 Oct 2018 04:01:48 +0000 -Subject: [PATCH 18/23] test/use-extern-for-plugins: Don't assume multilib +Subject: [PATCH 09/14] test/use-extern-for-plugins: Don't assume multilib --- src/test/run-make-fulldeps/use-extern-for-plugins/Makefile | 7 +------ @@ -26,5 +26,5 @@ index cc7bc176f4..36553f1e44 100644 all: $(RUSTC) foo.rs -C extra-filename=-host -- -2.19.2 +2.21.0 diff --git a/user/rust/0010-Add-powerpc64-unknown-linux-musl-target.patch b/user/rust/0010-Add-powerpc64-unknown-linux-musl-target.patch deleted file mode 100644 index a575b1345..000000000 --- a/user/rust/0010-Add-powerpc64-unknown-linux-musl-target.patch +++ /dev/null @@ -1,67 +0,0 @@ -From c0d3804aa53dee33c03ebc8b64bd6f7a7b54044c Mon Sep 17 00:00:00 2001 -From: Samuel Holland <samuel@sholland.org> -Date: Tue, 7 Aug 2018 21:59:15 -0500 -Subject: [PATCH 10/23] Add powerpc64-unknown-linux-musl target - ---- - src/librustc_target/spec/mod.rs | 1 + - .../spec/powerpc64_unknown_linux_musl.rs | 35 +++++++++++++++++++ - 2 files changed, 36 insertions(+) - create mode 100644 src/librustc_target/spec/powerpc64_unknown_linux_musl.rs - -diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs -index 4b03f6141f..f75c4940c6 100644 ---- a/src/librustc_target/spec/mod.rs -+++ b/src/librustc_target/spec/mod.rs -@@ -299,6 +299,7 @@ supported_targets! { - ("powerpc-unknown-linux-gnuspe", powerpc_unknown_linux_gnuspe), - ("powerpc-unknown-linux-musl", powerpc_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), - ("powerpc64le-unknown-linux-musl", powerpc64le_unknown_linux_musl), - ("s390x-unknown-linux-gnu", s390x_unknown_linux_gnu), -diff --git a/src/librustc_target/spec/powerpc64_unknown_linux_musl.rs b/src/librustc_target/spec/powerpc64_unknown_linux_musl.rs -new file mode 100644 -index 0000000000..24ff9e0ecd ---- /dev/null -+++ b/src/librustc_target/spec/powerpc64_unknown_linux_musl.rs -@@ -0,0 +1,35 @@ -+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT -+// file at the top-level directory of this distribution and at -+// http://rust-lang.org/COPYRIGHT. -+// -+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -+// option. This file may not be copied, modified, or distributed -+// except according to those terms. -+ -+use spec::{LinkerFlavor, Target, TargetResult}; -+ -+pub fn target() -> TargetResult { -+ let mut base = super::linux_musl_base::opts(); -+ base.cpu = "ppc64".to_string(); -+ base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-m64".to_string()); -+ base.max_atomic_width = Some(64); -+ -+ // see #36994 -+ base.exe_allocation_crate = None; -+ -+ Ok(Target { -+ llvm_target: "powerpc64-unknown-linux-musl".to_string(), -+ target_endian: "big".to_string(), -+ target_pointer_width: "64".to_string(), -+ target_c_int_width: "32".to_string(), -+ data_layout: "E-m:e-i64:64-n32:64".to_string(), -+ arch: "powerpc64".to_string(), -+ target_os: "linux".to_string(), -+ target_env: "musl".to_string(), -+ target_vendor: "unknown".to_string(), -+ linker_flavor: LinkerFlavor::Gcc, -+ options: base, -+ }) -+} --- -2.19.2 - diff --git a/user/rust/0019-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch b/user/rust/0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch index 4f4b42a9c..ff49416e0 100644 --- a/user/rust/0019-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch +++ b/user/rust/0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch @@ -1,7 +1,7 @@ -From 8d74dfc55bad7461bbbc26a83c4103cc419bbf50 Mon Sep 17 00:00:00 2001 +From 4ca0a1760317d3029bfcb0e6253252b926ef92ce Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Mon, 17 Sep 2018 01:32:20 +0000 -Subject: [PATCH 19/23] test/sysroot-crates-are-unstable: Fix test when rpath +Subject: [PATCH 10/14] test/sysroot-crates-are-unstable: Fix test when rpath is disabled Without this environment var, the test can't run rustc to find @@ -21,5 +21,5 @@ index a35174b3c2..9e77070685 100644 - python2.7 test.py + env '$(HOST_RPATH_ENV)' python2.7 test.py -- -2.19.2 +2.21.0 diff --git a/user/rust/0020-Ignore-broken-and-non-applicable-tests.patch b/user/rust/0011-Ignore-broken-and-non-applicable-tests.patch index 3305b52d0..ebf711f77 100644 --- a/user/rust/0020-Ignore-broken-and-non-applicable-tests.patch +++ b/user/rust/0011-Ignore-broken-and-non-applicable-tests.patch @@ -1,7 +1,7 @@ -From 5fd5ee6042170262f6832b65a90c54989f6a9847 Mon Sep 17 00:00:00 2001 +From 63a413a24f98461476aac7ac7ead69c948874e7d Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Sun, 16 Sep 2018 16:38:48 +0000 -Subject: [PATCH 20/23] Ignore broken and non-applicable tests +Subject: [PATCH 11/14] Ignore broken and non-applicable tests long-linker-command-lines: takes >10 minutes to run (but still passes) sparc-struct-abi: no sparc target @@ -10,13 +10,14 @@ sysroot-crates-are-unstable: can't run rustc without rpath src/test/codegen/sparc-struct-abi.rs | 1 + src/test/run-make-fulldeps/long-linker-command-lines/Makefile | 1 - src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 2 +- - 3 files changed, 2 insertions(+), 2 deletions(-) + src/test/run-pass/simd/simd-intrinsic-generic-select.rs | 2 ++ + 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/test/codegen/sparc-struct-abi.rs b/src/test/codegen/sparc-struct-abi.rs -index 56c4364d59..9aebf8f002 100644 +index 78e5b14a21..6f93e93286 100644 --- a/src/test/codegen/sparc-struct-abi.rs +++ b/src/test/codegen/sparc-struct-abi.rs -@@ -13,6 +13,7 @@ +@@ -4,6 +4,7 @@ // only-sparc64 // compile-flags: -O --target=sparc64-unknown-linux-gnu --crate-type=rlib @@ -43,6 +44,19 @@ index 9e77070685..7784230b46 100644 all: - env '$(HOST_RPATH_ENV)' python2.7 test.py + true +diff --git a/src/test/run-pass/simd/simd-intrinsic-generic-select.rs b/src/test/run-pass/simd/simd-intrinsic-generic-select.rs +index f79b140494..39080c8c90 100644 +--- a/src/test/run-pass/simd/simd-intrinsic-generic-select.rs ++++ b/src/test/run-pass/simd/simd-intrinsic-generic-select.rs +@@ -2,6 +2,8 @@ + #![allow(non_camel_case_types)] + + // ignore-emscripten ++// ignore-powerpc ++// ignore-powerpc64 + + // Test that the simd_select intrinsics produces correct results. + -- -2.19.2 +2.21.0 diff --git a/user/rust/0011-rustc_data_structures-use-libc-types-constants-in-fl.patch b/user/rust/0011-rustc_data_structures-use-libc-types-constants-in-fl.patch deleted file mode 100644 index 9fb760bb1..000000000 --- a/user/rust/0011-rustc_data_structures-use-libc-types-constants-in-fl.patch +++ /dev/null @@ -1,209 +0,0 @@ -From c99b99efd9f9632ac4917e1c410bf34e3c2be78b Mon Sep 17 00:00:00 2001 -From: Samuel Holland <samuel@sholland.org> -Date: Tue, 9 Oct 2018 04:15:48 +0000 -Subject: [PATCH 11/23] rustc_data_structures: use libc types/constants in - flock - ---- - src/librustc_data_structures/flock.rs | 155 ++------------------------ - 1 file changed, 10 insertions(+), 145 deletions(-) - -diff --git a/src/librustc_data_structures/flock.rs b/src/librustc_data_structures/flock.rs -index 38ce331051..d5c38b9a39 100644 ---- a/src/librustc_data_structures/flock.rs -+++ b/src/librustc_data_structures/flock.rs -@@ -26,143 +26,6 @@ cfg_if! { - use std::os::unix::prelude::*; - use libc; - -- #[cfg(any(target_os = "linux", target_os = "android"))] -- mod os { -- use libc; -- -- #[repr(C)] -- pub struct flock { -- pub l_type: libc::c_short, -- pub l_whence: libc::c_short, -- pub l_start: libc::off_t, -- pub l_len: libc::off_t, -- pub l_pid: libc::pid_t, -- -- // not actually here, but brings in line with freebsd -- pub l_sysid: libc::c_int, -- } -- -- pub const F_RDLCK: libc::c_short = 0; -- pub const F_WRLCK: libc::c_short = 1; -- pub const F_UNLCK: libc::c_short = 2; -- pub const F_SETLK: libc::c_int = 6; -- pub const F_SETLKW: libc::c_int = 7; -- } -- -- #[cfg(target_os = "freebsd")] -- mod os { -- use libc; -- -- #[repr(C)] -- pub struct flock { -- pub l_start: libc::off_t, -- pub l_len: libc::off_t, -- pub l_pid: libc::pid_t, -- pub l_type: libc::c_short, -- pub l_whence: libc::c_short, -- pub l_sysid: libc::c_int, -- } -- -- pub const F_RDLCK: libc::c_short = 1; -- pub const F_UNLCK: libc::c_short = 2; -- pub const F_WRLCK: libc::c_short = 3; -- pub const F_SETLK: libc::c_int = 12; -- pub const F_SETLKW: libc::c_int = 13; -- } -- -- #[cfg(any(target_os = "dragonfly", -- target_os = "bitrig", -- target_os = "netbsd", -- target_os = "openbsd"))] -- mod os { -- use libc; -- -- #[repr(C)] -- pub struct flock { -- pub l_start: libc::off_t, -- pub l_len: libc::off_t, -- pub l_pid: libc::pid_t, -- pub l_type: libc::c_short, -- pub l_whence: libc::c_short, -- -- // not actually here, but brings in line with freebsd -- pub l_sysid: libc::c_int, -- } -- -- pub const F_RDLCK: libc::c_short = 1; -- pub const F_UNLCK: libc::c_short = 2; -- pub const F_WRLCK: libc::c_short = 3; -- pub const F_SETLK: libc::c_int = 8; -- pub const F_SETLKW: libc::c_int = 9; -- } -- -- #[cfg(target_os = "haiku")] -- mod os { -- use libc; -- -- #[repr(C)] -- pub struct flock { -- pub l_type: libc::c_short, -- pub l_whence: libc::c_short, -- pub l_start: libc::off_t, -- pub l_len: libc::off_t, -- pub l_pid: libc::pid_t, -- -- // not actually here, but brings in line with freebsd -- pub l_sysid: libc::c_int, -- } -- -- pub const F_RDLCK: libc::c_short = 0x0040; -- pub const F_UNLCK: libc::c_short = 0x0200; -- pub const F_WRLCK: libc::c_short = 0x0400; -- pub const F_SETLK: libc::c_int = 0x0080; -- pub const F_SETLKW: libc::c_int = 0x0100; -- } -- -- #[cfg(any(target_os = "macos", target_os = "ios"))] -- mod os { -- use libc; -- -- #[repr(C)] -- pub struct flock { -- pub l_start: libc::off_t, -- pub l_len: libc::off_t, -- pub l_pid: libc::pid_t, -- pub l_type: libc::c_short, -- pub l_whence: libc::c_short, -- -- // not actually here, but brings in line with freebsd -- pub l_sysid: libc::c_int, -- } -- -- pub const F_RDLCK: libc::c_short = 1; -- pub const F_UNLCK: libc::c_short = 2; -- pub const F_WRLCK: libc::c_short = 3; -- pub const F_SETLK: libc::c_int = 8; -- pub const F_SETLKW: libc::c_int = 9; -- } -- -- #[cfg(target_os = "solaris")] -- mod os { -- use libc; -- -- #[repr(C)] -- pub struct flock { -- pub l_type: libc::c_short, -- pub l_whence: libc::c_short, -- pub l_start: libc::off_t, -- pub l_len: libc::off_t, -- pub l_sysid: libc::c_int, -- pub l_pid: libc::pid_t, -- } -- -- pub const F_RDLCK: libc::c_short = 1; -- pub const F_WRLCK: libc::c_short = 2; -- pub const F_UNLCK: libc::c_short = 3; -- pub const F_SETLK: libc::c_int = 6; -- pub const F_SETLKW: libc::c_int = 7; -- } -- - #[derive(Debug)] - pub struct Lock { - fd: libc::c_int, -@@ -192,20 +55,21 @@ cfg_if! { - } - - let lock_type = if exclusive { -- os::F_WRLCK -+ libc::F_WRLCK - } else { -- os::F_RDLCK -+ libc::F_RDLCK - }; - -- let flock = os::flock { -+ let flock = libc::flock { - l_start: 0, - l_len: 0, - l_pid: 0, - l_whence: libc::SEEK_SET as libc::c_short, -- l_type: lock_type, -+ l_type: lock_type as libc::c_short, -+ #[cfg(any(target_os = "freebsd", target_os = "solaris"))] - l_sysid: 0, - }; -- let cmd = if wait { os::F_SETLKW } else { os::F_SETLK }; -+ let cmd = if wait { libc::F_SETLKW } else { libc::F_SETLK }; - let ret = unsafe { - libc::fcntl(fd, cmd, &flock) - }; -@@ -221,16 +85,17 @@ cfg_if! { - - impl Drop for Lock { - fn drop(&mut self) { -- let flock = os::flock { -+ let flock = libc::flock { - l_start: 0, - l_len: 0, - l_pid: 0, - l_whence: libc::SEEK_SET as libc::c_short, -- l_type: os::F_UNLCK, -+ l_type: libc::F_UNLCK as libc::c_short, -+ #[cfg(any(target_os = "freebsd", target_os = "solaris"))] - l_sysid: 0, - }; - unsafe { -- libc::fcntl(self.fd, os::F_SETLK, &flock); -+ libc::fcntl(self.fd, libc::F_SETLK, &flock); - libc::close(self.fd); - } - } --- -2.19.2 - diff --git a/user/rust/0021-Link-stage-2-tools-dynamically-to-libstd.patch b/user/rust/0012-Link-stage-2-tools-dynamically-to-libstd.patch index dfb43d9b7..8d37b335c 100644 --- a/user/rust/0021-Link-stage-2-tools-dynamically-to-libstd.patch +++ b/user/rust/0012-Link-stage-2-tools-dynamically-to-libstd.patch @@ -1,17 +1,17 @@ -From 0aac206a1c7af54f5974eb4043b0f821720f4bf7 Mon Sep 17 00:00:00 2001 +From 51b5ec642911295036d4ff19d4d6799037da3efc Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Mon, 24 Sep 2018 23:42:23 +0000 -Subject: [PATCH 21/23] Link stage 2 tools dynamically to libstd +Subject: [PATCH 12/14] Link stage 2 tools dynamically to libstd --- src/bootstrap/tool.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs -index 6868a063ce..3a91b4fa07 100644 +index 9f6db73e6f..69cc2219c1 100644 --- a/src/bootstrap/tool.rs +++ b/src/bootstrap/tool.rs -@@ -217,7 +217,9 @@ pub fn prepare_tool_cargo( +@@ -208,7 +208,9 @@ pub fn prepare_tool_cargo( // We don't want to build tools dynamically as they'll be running across // stages and such and it's just easier if they're not dynamically linked. @@ -23,5 +23,5 @@ index 6868a063ce..3a91b4fa07 100644 if source_type == SourceType::Submodule { cargo.env("RUSTC_EXTERNAL_TOOL", "1"); -- -2.19.2 +2.21.0 diff --git a/user/rust/0013-Fix-double_check-tests-on-big-endian-targets.patch b/user/rust/0013-Fix-double_check-tests-on-big-endian-targets.patch deleted file mode 100644 index 546afbf20..000000000 --- a/user/rust/0013-Fix-double_check-tests-on-big-endian-targets.patch +++ /dev/null @@ -1,75 +0,0 @@ -From cdcbabdffce7f1b5379faf96db0dc12e4a5f1a36 Mon Sep 17 00:00:00 2001 -From: Samuel Holland <samuel@sholland.org> -Date: Sun, 16 Sep 2018 18:27:56 +0000 -Subject: [PATCH 13/23] Fix double_check tests on big-endian targets - -Since the enums get optimized down to 1 byte long, the bits -set in the usize member don't align with the enums on big-endian -machines. Avoid this issue by shrinking the integer member to the -same size as the enums. ---- - src/test/ui/consts/const-eval/double_check.rs | 8 ++++---- - src/test/ui/consts/const-eval/double_check2.rs | 8 ++++---- - src/test/ui/consts/const-eval/double_check2.stderr | 4 ++-- - 3 files changed, 10 insertions(+), 10 deletions(-) - -diff --git a/src/test/ui/consts/const-eval/double_check.rs b/src/test/ui/consts/const-eval/double_check.rs -index 81f6e7ddd2..76f9276c05 100644 ---- a/src/test/ui/consts/const-eval/double_check.rs -+++ b/src/test/ui/consts/const-eval/double_check.rs -@@ -21,12 +21,12 @@ enum Bar { - union Union { - foo: &'static Foo, - bar: &'static Bar, -- usize: &'static usize, -+ u8: &'static u8, - } --static BAR: usize = 42; -+static BAR: u8 = 42; - static FOO: (&Foo, &Bar) = unsafe {( -- Union { usize: &BAR }.foo, -- Union { usize: &BAR }.bar, -+ Union { u8: &BAR }.foo, -+ Union { u8: &BAR }.bar, - )}; - - fn main() {} -diff --git a/src/test/ui/consts/const-eval/double_check2.rs b/src/test/ui/consts/const-eval/double_check2.rs -index b661ee9247..701632362c 100644 ---- a/src/test/ui/consts/const-eval/double_check2.rs -+++ b/src/test/ui/consts/const-eval/double_check2.rs -@@ -19,12 +19,12 @@ enum Bar { - union Union { - foo: &'static Foo, - bar: &'static Bar, -- usize: &'static usize, -+ u8: &'static u8, - } --static BAR: usize = 5; -+static BAR: u8 = 5; - static FOO: (&Foo, &Bar) = unsafe {( //~ undefined behavior -- Union { usize: &BAR }.foo, -- Union { usize: &BAR }.bar, -+ Union { u8: &BAR }.foo, -+ Union { u8: &BAR }.bar, - )}; - - fn main() {} -diff --git a/src/test/ui/consts/const-eval/double_check2.stderr b/src/test/ui/consts/const-eval/double_check2.stderr -index 2102587734..78a112304e 100644 ---- a/src/test/ui/consts/const-eval/double_check2.stderr -+++ b/src/test/ui/consts/const-eval/double_check2.stderr -@@ -2,8 +2,8 @@ error[E0080]: this static likely exhibits undefined behavior - --> $DIR/double_check2.rs:25:1 - | - LL | / static FOO: (&Foo, &Bar) = unsafe {( //~ undefined behavior --LL | | Union { usize: &BAR }.foo, --LL | | Union { usize: &BAR }.bar, -+LL | | Union { u8: &BAR }.foo, -+LL | | Union { u8: &BAR }.bar, - LL | | )}; - | |___^ type validation failed: encountered invalid enum discriminant 5 at .1.<deref> - | --- -2.19.2 - diff --git a/user/rust/0022-Move-debugger-scripts-to-usr-share-rust.patch b/user/rust/0013-Move-debugger-scripts-to-usr-share-rust.patch index a46ddcd45..a401dc5ab 100644 --- a/user/rust/0022-Move-debugger-scripts-to-usr-share-rust.patch +++ b/user/rust/0013-Move-debugger-scripts-to-usr-share-rust.patch @@ -1,7 +1,7 @@ -From 347b144930e68e49dc27b3682751a1d4c13d81c5 Mon Sep 17 00:00:00 2001 +From 17bb016bf9eefb42e1205b5f8d7b944147337f24 Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Mon, 17 Sep 2018 02:09:10 +0000 -Subject: [PATCH 22/23] Move debugger scripts to /usr/share/rust +Subject: [PATCH 13/14] Move debugger scripts to /usr/share/rust --- src/bootstrap/dist.rs | 2 +- @@ -10,10 +10,10 @@ Subject: [PATCH 22/23] Move debugger scripts to /usr/share/rust 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs -index fea6302d0a..e6ba249d28 100644 +index 0c6e213110..1858fade71 100644 --- a/src/bootstrap/dist.rs +++ b/src/bootstrap/dist.rs -@@ -591,7 +591,7 @@ impl Step for DebuggerScripts { +@@ -583,7 +583,7 @@ impl Step for DebuggerScripts { fn run(self, builder: &Builder) { let host = self.host; let sysroot = self.sysroot; @@ -23,10 +23,10 @@ index fea6302d0a..e6ba249d28 100644 let cp_debugger_script = |file: &str| { builder.install(&builder.src.join("src/etc/").join(file), &dst, 0o644); diff --git a/src/etc/rust-gdb b/src/etc/rust-gdb -index 743952a5be..71694ddb87 100755 +index 23ba93da8e..dc51b16c57 100755 --- a/src/etc/rust-gdb +++ b/src/etc/rust-gdb -@@ -14,7 +14,7 @@ set -e +@@ -4,7 +4,7 @@ set -e # Find out where the pretty printer Python module is RUSTC_SYSROOT=`rustc --print=sysroot` @@ -36,10 +36,10 @@ index 743952a5be..71694ddb87 100755 # Run GDB with the additional arguments that load the pretty printers # Set the environment variable `RUST_GDB` to overwrite the call to a diff --git a/src/etc/rust-lldb b/src/etc/rust-lldb -index 6ed8210349..f115587ce1 100755 +index 424302d495..460e119210 100755 --- a/src/etc/rust-lldb +++ b/src/etc/rust-lldb -@@ -35,7 +35,7 @@ display the contents of local variables!" +@@ -26,7 +26,7 @@ display the contents of local variables!" fi # Prepare commands that will be loaded before any file on the command line has been loaded @@ -49,5 +49,5 @@ index 6ed8210349..f115587ce1 100755 category_enable="type category enable Rust" -- -2.19.2 +2.21.0 diff --git a/user/rust/0023-Add-foxkit-target-specs.patch b/user/rust/0014-Add-foxkit-target-specs.patch index 982326bc6..ecbfe26b5 100644 --- a/user/rust/0023-Add-foxkit-target-specs.patch +++ b/user/rust/0014-Add-foxkit-target-specs.patch @@ -1,7 +1,7 @@ -From 8094b006c75c38ab0e5d44d9b5c12a973949e512 Mon Sep 17 00:00:00 2001 +From 2ca1aeb3cb3e0d52917cec2a96101aba5c6e40ce Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Mon, 17 Sep 2018 02:29:06 +0000 -Subject: [PATCH 23/23] Add foxkit target specs +Subject: [PATCH 14/14] Add foxkit target specs --- .../spec/aarch64_foxkit_linux_musl.rs | 21 +++++++++++++++++ @@ -103,23 +103,23 @@ index 0000000000..e0284d96e6 + Ok(base) +} diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs -index f75c4940c6..d4e0f04144 100644 +index f42b0a1c3c..f83be3e4e3 100644 --- a/src/librustc_target/spec/mod.rs +++ b/src/librustc_target/spec/mod.rs -@@ -414,6 +414,13 @@ supported_targets! { - ("riscv32imac-unknown-none-elf", riscv32imac_unknown_none_elf), +@@ -278,6 +278,13 @@ macro_rules! supported_targets { + } - ("aarch64-unknown-none", aarch64_unknown_none), -+ + supported_targets! { + ("aarch64-foxkit-linux-musl", aarch64_foxkit_linux_musl), + ("armv7-foxkit-linux-musleabihf", armv7_foxkit_linux_musleabihf), + ("i586-foxkit-linux-musl", i586_foxkit_linux_musl), + ("powerpc-foxkit-linux-musl", powerpc_foxkit_linux_musl), + ("powerpc64-foxkit-linux-musl", powerpc64_foxkit_linux_musl), + ("x86_64-foxkit-linux-musl", x86_64_foxkit_linux_musl), - } - - /// Everything `rustc` knows about how to compile for a specific target. ++ + ("x86_64-unknown-linux-gnu", x86_64_unknown_linux_gnu), + ("x86_64-unknown-linux-gnux32", x86_64_unknown_linux_gnux32), + ("i686-unknown-linux-gnu", i686_unknown_linux_gnu), diff --git a/src/librustc_target/spec/powerpc64_foxkit_linux_musl.rs b/src/librustc_target/spec/powerpc64_foxkit_linux_musl.rs new file mode 100644 index 0000000000..b7202ee0fc @@ -204,5 +204,5 @@ index 0000000000..801dd8d6f4 + Ok(base) +} -- -2.19.2 +2.21.0 diff --git a/user/rust/0014-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch b/user/rust/0014-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch deleted file mode 100644 index e892735a2..000000000 --- a/user/rust/0014-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 52f262296db19bcb35410a05786e58a239216ba8 Mon Sep 17 00:00:00 2001 -From: Samuel Holland <samuel@sholland.org> -Date: Sun, 16 Sep 2018 16:37:09 +0000 -Subject: [PATCH 14/23] test/invalid_const_promotion: Accept SIGTRAP as a valid - death signal - ---- - src/test/run-pass/invalid_const_promotion.rs | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/test/run-pass/invalid_const_promotion.rs b/src/test/run-pass/invalid_const_promotion.rs -index ed8c499241..0f354e1aad 100644 ---- a/src/test/run-pass/invalid_const_promotion.rs -+++ b/src/test/run-pass/invalid_const_promotion.rs -@@ -39,6 +39,7 @@ fn check_status(status: std::process::ExitStatus) - use std::os::unix::process::ExitStatusExt; - - assert!(status.signal() == Some(libc::SIGILL) -+ || status.signal() == Some(libc::SIGTRAP) - || status.signal() == Some(libc::SIGABRT)); - } - --- -2.19.2 - diff --git a/user/rust/0015-test-linkage-visibility-Ensure-symbols-are-visible-t.patch b/user/rust/0015-test-linkage-visibility-Ensure-symbols-are-visible-t.patch deleted file mode 100644 index f4591af96..000000000 --- a/user/rust/0015-test-linkage-visibility-Ensure-symbols-are-visible-t.patch +++ /dev/null @@ -1,30 +0,0 @@ -From cc2e1f8ee1d28a772c0309b226e996359180124a Mon Sep 17 00:00:00 2001 -From: Samuel Holland <samuel@sholland.org> -Date: Sun, 16 Sep 2018 16:35:41 +0000 -Subject: [PATCH 15/23] test/linkage-visibility: Ensure symbols are visible to - dlsym - -DynamicLibrary uses libc's dlsym() function internally to find symbols. -Some implementations of dlsym(), like musl's, only look at dynamically- -exported symbols, as found in shared libraries. To also export symbols -from the main executable, pass --export-dynamic to the linker. ---- - src/test/run-pass-fulldeps/auxiliary/linkage-visibility.rs | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/test/run-pass-fulldeps/auxiliary/linkage-visibility.rs b/src/test/run-pass-fulldeps/auxiliary/linkage-visibility.rs -index 4ea3d0d0d0..b958e1a1fc 100644 ---- a/src/test/run-pass-fulldeps/auxiliary/linkage-visibility.rs -+++ b/src/test/run-pass-fulldeps/auxiliary/linkage-visibility.rs -@@ -8,6 +8,8 @@ - // option. This file may not be copied, modified, or distributed - // except according to those terms. - -+// compile-flags: -C link-arg=-Wl,--export-dynamic -+ - #![feature(rustc_private)] - - // We're testing linkage visibility; the compiler warns us, but we want to --- -2.19.2 - diff --git a/user/rust/0016-x.py-Use-python3-instead-of-python.patch b/user/rust/0016-x.py-Use-python3-instead-of-python.patch deleted file mode 100644 index 37302b773..000000000 --- a/user/rust/0016-x.py-Use-python3-instead-of-python.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 591dc52ab207945a5c1b488b88cbd1cfbb1c8c94 Mon Sep 17 00:00:00 2001 -From: Samuel Holland <samuel@sholland.org> -Date: Mon, 10 Sep 2018 01:36:00 +0000 -Subject: [PATCH 16/23] x.py: Use python3 instead of python - ---- - x.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/x.py b/x.py -index e277ab98be..a75176a3f9 100755 ---- a/x.py -+++ b/x.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # Copyright 2016 The Rust Project Developers. See the COPYRIGHT - # file at the top-level directory of this distribution and at - # http://rust-lang.org/COPYRIGHT. --- -2.19.2 - diff --git a/user/rust/0017-test-target-feature-gate-Only-run-on-relevant-target.patch b/user/rust/0017-test-target-feature-gate-Only-run-on-relevant-target.patch deleted file mode 100644 index 5e8c71668..000000000 --- a/user/rust/0017-test-target-feature-gate-Only-run-on-relevant-target.patch +++ /dev/null @@ -1,37 +0,0 @@ -From bc1a70133b259188ec4595eef8d11670cc8d64f5 Mon Sep 17 00:00:00 2001 -From: Samuel Holland <samuel@sholland.org> -Date: Sun, 16 Sep 2018 16:39:46 +0000 -Subject: [PATCH 17/23] test/target-feature-gate: Only run on relevant targets - ---- - src/test/ui/target-feature-gate.rs | 2 ++ - src/test/ui/target-feature-gate.stderr | 2 +- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/test/ui/target-feature-gate.rs b/src/test/ui/target-feature-gate.rs -index 8a045884ca..5e90417fc3 100644 ---- a/src/test/ui/target-feature-gate.rs -+++ b/src/test/ui/target-feature-gate.rs -@@ -10,6 +10,8 @@ - - // ignore-arm - // ignore-aarch64 -+// ignore-powerpc -+// ignore-powerpc64 - // ignore-wasm - // ignore-emscripten - // ignore-mips -diff --git a/src/test/ui/target-feature-gate.stderr b/src/test/ui/target-feature-gate.stderr -index f18bebc0c2..5458953601 100644 ---- a/src/test/ui/target-feature-gate.stderr -+++ b/src/test/ui/target-feature-gate.stderr -@@ -1,5 +1,5 @@ - error[E0658]: the target feature `avx512bw` is currently unstable (see issue #44839) -- --> $DIR/target-feature-gate.rs:29:18 -+ --> $DIR/target-feature-gate.rs:31:18 - | - LL | #[target_feature(enable = "avx512bw")] - | ^^^^^^^^^^^^^^^^^^^ --- -2.19.2 - diff --git a/user/rust/0030-libc-linkage.patch b/user/rust/0030-libc-linkage.patch new file mode 100644 index 000000000..754074355 --- /dev/null +++ b/user/rust/0030-libc-linkage.patch @@ -0,0 +1,23 @@ +--- a/vendor/libc/src/unix/mod.rs ++++ b/vendor/libc/src/unix/mod.rs +@@ -287,11 +287,7 @@ cfg_if! { + // cargo build, don't pull in anything extra as the libstd dep + // already pulls in all libs. + } else if #[cfg(target_env = "musl")] { +- #[cfg_attr(feature = "rustc-dep-of-std", +- link(name = "c", kind = "static", +- cfg(target_feature = "crt-static")))] +- #[cfg_attr(feature = "rustc-dep-of-std", +- link(name = "c", cfg(not(target_feature = "crt-static"))))] ++ #[link(name = "c")] + extern {} + } else if #[cfg(target_os = "emscripten")] { + #[link(name = "c")] +diff --git rustc-1.33.0-src/vendor/libc/.cargo-checksum.json.orig rustc-1.33.0-src/vendor/libc/.cargo-checksum.json +index b580eeb..4f3a87d 100644 +--- rustc-1.33.0-src/vendor/libc/.cargo-checksum.json.orig ++++ rustc-1.33.0-src/vendor/libc/.cargo-checksum.json +@@ -1 +1 @@ +-{"files":{"Cargo.toml":"e1bbf88a55a1ba674f5192fe1585b57a51751ee6c5aa7edeb87df8027c3bb912","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"40ddea9181e5374cf535aae33ad4ace80bd9b1beea8f881ff8d2b777da9489b2","build.rs":"2d1cbe87e0478de12a15a230d7ef0997020ba845b5b7d221d74cd2ce3fe0e720","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"640375751825b8d4adf4fb089a53c4d883f265f96b07daf06f2dcf3acf6639c9","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/dox.rs":"b4b96dcba47797a6160c07f29982dd15d48fd2813d7d1000484bd9adc4a89de1","src/fuchsia/aarch64.rs":"40dce617877e606e92353491e1913711b1ecfa510bb983156f4a8460f490419e","src/fuchsia/mod.rs":"784dee21605f00a41d7cae1fc3d782646a84515a687a4952700eae51cc3840f0","src/fuchsia/x86_64.rs":"b4a3eff94dcf1ffe41e6500468ca2cff0e97ddbcc75fe079b6ac7adb1e493f56","src/lib.rs":"d456d34fc58c8d194f8f24201b4021860f61c5f125904bb8dcc954d1f813f6b7","src/macros.rs":"29d61c13523328c4742a7290dbb7d718ce198740824592e029199e9df5429b20","src/redox/mod.rs":"87cb35a988be84d45e79206f7cb5d098e8e7c5a1825cfcd0bd663453dedc3103","src/redox/net.rs":"f2e1922883f208cb46c00744da4a68feccfbec576c6981978ad404e46f818c8b","src/sgx.rs":"18d33a470d06c15b00be5a3bf45b6e51da6104ae7437f50c0eccbd3b79994389","src/switch.rs":"00365ed196519b260fc99a32f02d60b3fb1aaf0484654b19fec8c25bc1687420","src/unix/bsd/apple/b32.rs":"da60c99ee3d773f9c0767b93ccf18b67ad67576e2c58e2e86d05b23c23fd989a","src/unix/bsd/apple/b64.rs":"0cc15406c3a91abde65b28c7783ccab7801474ecc51c78dbd1d7332d4b834390","src/unix/bsd/apple/mod.rs":"b0e2d1f7fdb71d7a02bc5994c66a5ae660955227a0c0f808172a30b38fd40299","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"6c69319675328d4d16939c9c2aba3fb8ca9381a8b390d18d766949307090304b","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/freebsd/mod.rs":"6bbb3c3cf0753f32a2e61ac0f011a6c5e870a0814a6ed4eb9bb9dcdc58a9dca3","src/unix/bsd/freebsdlike/freebsd/x86.rs":"54311d3ebf2bb091ab22361e377e6ef9224aec2ecfe459fbfcedde4932db9c58","src/unix/bsd/freebsdlike/freebsd/x86_64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/mod.rs":"596def64669e2f27cffebca8e5c682ee7d576f84f8f99771c27e86ce8e818221","src/unix/bsd/mod.rs":"0c846b3a2c9390dfe090603f1ad643b107cc7e7605866c5399aa81dfea4e74bd","src/unix/bsd/netbsdlike/mod.rs":"9f55f35f8e4e26c7c63eaf67ddda0e40cc2abbabc2a68750809162e6f80144f1","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"f455848cd03cb80897776f2355dbd14bbb3aa88b1aa6aec22122ec47cdbd0f20","src/unix/bsd/netbsdlike/netbsd/arm.rs":"4c9eac982c385165f475ef3a80770fd634c6dde8fb400b3cb7e08c9bb7498af6","src/unix/bsd/netbsdlike/netbsd/mod.rs":"88617ada3bc740c5262926b9c45d7f51120d358522f051f0afdf7465edd13c29","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"183818c62dff72db6ee1d329d90ad8727628775ed5cd823c8485c6769003c91e","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"4db043327fb2615af2fb0f999d162310bea2294e7d050806e19a46b083561f16","src/unix/bsd/netbsdlike/netbsd/x86.rs":"979c4cbacbde37b9053f2c9df4b8f87d37b255436ef4a383e1e5f40ee21180d6","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"741353a1c6451efb0c7c7c486fd2cb54e3d36fd1c3dd280f6432d8858b0a5356","src/unix/bsd/netbsdlike/openbsdlike/bitrig/mod.rs":"4d2ad2e885d83ad3134add61580f49a8e58cb03284ae328273a9e2e104a4d084","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86_64.rs":"6e6f15e81597d85d83ca0eeb154e4f8b8e7f9cbb6a9cfa176601f78642ef94f9","src/unix/bsd/netbsdlike/openbsdlike/mod.rs":"6320b7bc7283dbc2a07cfb8b5a793c0153535601d050f33c1ff5e4a5cc57c2be","src/unix/bsd/netbsdlike/openbsdlike/openbsd/aarch64.rs":"820092e397c7ec259cd2de8f2444083a8e57071c02d73d678701dfa7807726e9","src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs":"6adc0dcb1b358ef91bbeb5512e19ba6f40adc77b7d259cb11641a69426fc5ea2","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86.rs":"44b7ea81cf363777b29935da175e702cbf45ed78f7498ae57faf44aa32335085","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86_64.rs":"97956c3a53aa07a2edf8865252f980dade0d34e930adca0e870e7344d7e2b0bb","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"b00fa310b6d835cb613a02101c7b1a72c636faec316586587cb63aebdcb9de8f","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"248c0b0abaa7d56a7dc3293e67a0ce70a4ef8c83638bda8aa222ad8bb0ef6801","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/mod.rs":"c5f3c6d74ac8e8ef83374b6115bab7c6e57297336a7635aa4c47462649b00dfb","src/unix/newlib/aarch64/mod.rs":"c408a990f22fb4292a824f38367e9b517e6e6f8623328397ee631cc88b3d1f7d","src/unix/newlib/arm/mod.rs":"2b6dba2e697ab9b4f4bc4dd5f28057249e9b596d1cb395a9322ec87605c4a5c4","src/unix/newlib/mod.rs":"eea5f1eb720184d9a00be966e4161fddb3733362fc349182e85b1599ba4e825f","src/unix/notbsd/android/b32/arm.rs":"3625a32c7e58cfe683a53486fbe3d42d4e28f00bea31e19cb46ed2bb0b6a140b","src/unix/notbsd/android/b32/mod.rs":"2fbe398c1fb5251dda6213741a193e50aae4622807cb255d1dd2e82b536f0c65","src/unix/notbsd/android/b32/x86.rs":"ae2b7f1d6278caddc007749bb1d09ca33f7593478a0fd7fe98b457dae86c7814","src/unix/notbsd/android/b64/aarch64.rs":"63d65629d79371814910f691672ef593d20244ee09be26f1ebe07ee6212d0163","src/unix/notbsd/android/b64/mod.rs":"90d4f6b063fd4de42fd302cbc9d9902fd99ac1d71dc48cb8bc6ad7b4c902e481","src/unix/notbsd/android/b64/x86_64.rs":"5547aef8dcbaa5a932559f34606fd8d89f6c9c15173d2b1412c12d39b3c1045f","src/unix/notbsd/android/mod.rs":"19013f41ac8ccac034eb48777a4041d69342edb9ca25d4e0bb9c5938f62eef3e","src/unix/notbsd/emscripten.rs":"9ed47a0a5020c8f72d9496f87ef0da669c1ed2b85980013100c466f18cd8a4c5","src/unix/notbsd/linux/mips/mips32.rs":"a483ddfd10765b7d5090dc21686eee8842649cd21236828a42d634114885f5f9","src/unix/notbsd/linux/mips/mips64.rs":"9fff696e3943cf206b549d1ae13fa361828e9a8454e2d5730eeaa1c172ff370d","src/unix/notbsd/linux/mips/mod.rs":"d18a40011e9090a4a2a1f27e5bd96eb2503ac352f4809648e15841083d7f3a68","src/unix/notbsd/linux/mod.rs":"d84e95d36f9477fa1aa694bf18a919ba20e65aa71539c3f3dc06e8f92acee521","src/unix/notbsd/linux/musl/b32/arm.rs":"fdf170e03812072785ec531f1ae810d0c4feb9b29d0c316681b9f7affe1262c0","src/unix/notbsd/linux/musl/b32/mips.rs":"afa4981d93f29b3fb0083a73ce1323f7dce1392f90d5cf1966b1fae10d510033","src/unix/notbsd/linux/musl/b32/mod.rs":"540928f168f145c136f9dd729ffa12b9d1838d9fe664fc642365d17d7fae648f","src/unix/notbsd/linux/musl/b32/powerpc.rs":"16c615770a96f155540511f58b5a8070c9c7a43e12bdfed83996690e7558bcb5","src/unix/notbsd/linux/musl/b32/x86.rs":"3abf1610c68c37f407cdd0f93563c3542c024219e0e8c9888266a6ee014e0c87","src/unix/notbsd/linux/musl/b64/aarch64.rs":"d98643408c2837387988f78adc95c90ad21196a6f8f879e3d33d7e8ccf612640","src/unix/notbsd/linux/musl/b64/mod.rs":"d9285cd705e2e92552a08c9aa69b810e7e1bd0e9da6edf069c678af285579661","src/unix/notbsd/linux/musl/b64/powerpc64.rs":"544d8a7f6d6d84143df8a4c3537c9a3a36bf3d338d7a1c15689b94492498d8d7","src/unix/notbsd/linux/musl/b64/x86_64.rs":"25340999290a63d564ec149532c905f59c312ec369f8806d6b15df66fa1b8857","src/unix/notbsd/linux/musl/mod.rs":"4e582af62a11e8a5235ccbeabe5b1003fc17705e606c1ed9b21b931a470681fc","src/unix/notbsd/linux/other/b32/arm.rs":"d9892f7350b2978335f734f1cd2d7fed60f0f2e66aa05bee3f69549c031f8b14","src/unix/notbsd/linux/other/b32/mod.rs":"26211878c6481861e11393625620edaa0700cac41f55f0118c0f0bd42c1b7520","src/unix/notbsd/linux/other/b32/powerpc.rs":"253fcd2f9978525285be1903cc08f3fec2dc3b12d1660a33e2995b4f6b810d1c","src/unix/notbsd/linux/other/b32/x86.rs":"49376e3ed0f3ff95c230ac20751911fe3c608dfe15c7c118b069fd7a954d8db9","src/unix/notbsd/linux/other/b64/aarch64.rs":"1124ab5e974718b94fa40ae0f1772fb1c537910ef3e018b7c6c94a38b83dd742","src/unix/notbsd/linux/other/b64/mod.rs":"63e1a3fdf5f4d1b9820934ab344c91aed5e458e7e05908535d2e942d51a08bf8","src/unix/notbsd/linux/other/b64/not_x32.rs":"fa8636fb93eab230ed53bdec0a06f5b81d6d982cc0800103563c8c1eefcdb2d9","src/unix/notbsd/linux/other/b64/powerpc64.rs":"a771d982ed8a9458e1f2f039f959b5075b22443159875ba5612eebba96661c24","src/unix/notbsd/linux/other/b64/sparc64.rs":"0caffe5924886f3aed187531dfe78189b3df40adb96782ec4b471647ff83e9b1","src/unix/notbsd/linux/other/b64/x32.rs":"06a26c5120ced30fc015c220799b67c4401be2f13fc6c7361bebd3d37ff4982d","src/unix/notbsd/linux/other/b64/x86_64.rs":"70d0cec088630502128c1c28ffef9dcc0fd9c0644f6a71b1325961d075625226","src/unix/notbsd/linux/other/mod.rs":"fe76beac87fc549b076078a0fa3e2ecd4c13b0e6e4fcb34a89e16c6584f5259b","src/unix/notbsd/linux/s390x.rs":"9e990574dfc22b6eb91bcc7c6f8297f9ad42f9183efb366a818be88180a3fac3","src/unix/notbsd/mod.rs":"a0fdecac118b70fb670f0fcccaa7f826440873448a96dd557fb1fe52cf391e89","src/unix/solaris/mod.rs":"7950a26f3eb0b7bc8e71f524cc2e05832b759fe2ce12a58e0c1957e0ec1286dc","src/unix/uclibc/mips/mips32.rs":"9739c5fb47f389a0394ef08ee30da97a3de0a1300020731a8cc0a033616011b2","src/unix/uclibc/mips/mips64.rs":"230583280bbc7b3c7fcdb61244f51fa1af5944ca127c7cf83c598fe2313713d0","src/unix/uclibc/mips/mod.rs":"2d76e6cfeb2b7f7c59231a6e099f1aed811a45659e62153aaf00c220b9488a9d","src/unix/uclibc/mod.rs":"521818507cef958376edfd8401c35db7ee1c51ee3cf106ad962002104a184cf5","src/unix/uclibc/x86_64/l4re.rs":"68fd3a833fd1f7caf784a084224f384bdbdfb8b5a14ef94c4f5155409afb3439","src/unix/uclibc/x86_64/mod.rs":"419182836aedd426a5c9e6b8667058adf86ac8f43af73ce8d00c503f8ff8f414","src/unix/uclibc/x86_64/other.rs":"f03b47842896f2f3ae6f8ebdcbcf0276454f880349d9cf00e3d304f8136893c5","src/windows/gnu.rs":"4d9033162cc6f7d245256c7b165c1ec18a741771fd9b99a55b421e8d14978599","src/windows/mod.rs":"7d74b12f71de86ee517a9cd93b1b38d0551646db0eaf526048abcbdd4bbeb250","src/windows/msvc.rs":"8f46cf66883c794175609a3b2bafaa094d0ba63eb6720ef1b84b175603f1074f"},"package":"023a4cd09b2ff695f9734c1934145a315594b7986398496841c7031a5a1bbdbd"} +\ No newline at end of file ++{"files":{"Cargo.toml":"e1bbf88a55a1ba674f5192fe1585b57a51751ee6c5aa7edeb87df8027c3bb912","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"40ddea9181e5374cf535aae33ad4ace80bd9b1beea8f881ff8d2b777da9489b2","build.rs":"2d1cbe87e0478de12a15a230d7ef0997020ba845b5b7d221d74cd2ce3fe0e720","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"640375751825b8d4adf4fb089a53c4d883f265f96b07daf06f2dcf3acf6639c9","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/dox.rs":"b4b96dcba47797a6160c07f29982dd15d48fd2813d7d1000484bd9adc4a89de1","src/fuchsia/aarch64.rs":"40dce617877e606e92353491e1913711b1ecfa510bb983156f4a8460f490419e","src/fuchsia/mod.rs":"784dee21605f00a41d7cae1fc3d782646a84515a687a4952700eae51cc3840f0","src/fuchsia/x86_64.rs":"b4a3eff94dcf1ffe41e6500468ca2cff0e97ddbcc75fe079b6ac7adb1e493f56","src/lib.rs":"d456d34fc58c8d194f8f24201b4021860f61c5f125904bb8dcc954d1f813f6b7","src/macros.rs":"29d61c13523328c4742a7290dbb7d718ce198740824592e029199e9df5429b20","src/redox/mod.rs":"87cb35a988be84d45e79206f7cb5d098e8e7c5a1825cfcd0bd663453dedc3103","src/redox/net.rs":"f2e1922883f208cb46c00744da4a68feccfbec576c6981978ad404e46f818c8b","src/sgx.rs":"18d33a470d06c15b00be5a3bf45b6e51da6104ae7437f50c0eccbd3b79994389","src/switch.rs":"00365ed196519b260fc99a32f02d60b3fb1aaf0484654b19fec8c25bc1687420","src/unix/bsd/apple/b32.rs":"da60c99ee3d773f9c0767b93ccf18b67ad67576e2c58e2e86d05b23c23fd989a","src/unix/bsd/apple/b64.rs":"0cc15406c3a91abde65b28c7783ccab7801474ecc51c78dbd1d7332d4b834390","src/unix/bsd/apple/mod.rs":"b0e2d1f7fdb71d7a02bc5994c66a5ae660955227a0c0f808172a30b38fd40299","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"6c69319675328d4d16939c9c2aba3fb8ca9381a8b390d18d766949307090304b","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/freebsd/mod.rs":"6bbb3c3cf0753f32a2e61ac0f011a6c5e870a0814a6ed4eb9bb9dcdc58a9dca3","src/unix/bsd/freebsdlike/freebsd/x86.rs":"54311d3ebf2bb091ab22361e377e6ef9224aec2ecfe459fbfcedde4932db9c58","src/unix/bsd/freebsdlike/freebsd/x86_64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/mod.rs":"596def64669e2f27cffebca8e5c682ee7d576f84f8f99771c27e86ce8e818221","src/unix/bsd/mod.rs":"0c846b3a2c9390dfe090603f1ad643b107cc7e7605866c5399aa81dfea4e74bd","src/unix/bsd/netbsdlike/mod.rs":"9f55f35f8e4e26c7c63eaf67ddda0e40cc2abbabc2a68750809162e6f80144f1","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"f455848cd03cb80897776f2355dbd14bbb3aa88b1aa6aec22122ec47cdbd0f20","src/unix/bsd/netbsdlike/netbsd/arm.rs":"4c9eac982c385165f475ef3a80770fd634c6dde8fb400b3cb7e08c9bb7498af6","src/unix/bsd/netbsdlike/netbsd/mod.rs":"88617ada3bc740c5262926b9c45d7f51120d358522f051f0afdf7465edd13c29","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"183818c62dff72db6ee1d329d90ad8727628775ed5cd823c8485c6769003c91e","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"4db043327fb2615af2fb0f999d162310bea2294e7d050806e19a46b083561f16","src/unix/bsd/netbsdlike/netbsd/x86.rs":"979c4cbacbde37b9053f2c9df4b8f87d37b255436ef4a383e1e5f40ee21180d6","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"741353a1c6451efb0c7c7c486fd2cb54e3d36fd1c3dd280f6432d8858b0a5356","src/unix/bsd/netbsdlike/openbsdlike/bitrig/mod.rs":"4d2ad2e885d83ad3134add61580f49a8e58cb03284ae328273a9e2e104a4d084","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86_64.rs":"6e6f15e81597d85d83ca0eeb154e4f8b8e7f9cbb6a9cfa176601f78642ef94f9","src/unix/bsd/netbsdlike/openbsdlike/mod.rs":"6320b7bc7283dbc2a07cfb8b5a793c0153535601d050f33c1ff5e4a5cc57c2be","src/unix/bsd/netbsdlike/openbsdlike/openbsd/aarch64.rs":"820092e397c7ec259cd2de8f2444083a8e57071c02d73d678701dfa7807726e9","src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs":"6adc0dcb1b358ef91bbeb5512e19ba6f40adc77b7d259cb11641a69426fc5ea2","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86.rs":"44b7ea81cf363777b29935da175e702cbf45ed78f7498ae57faf44aa32335085","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86_64.rs":"97956c3a53aa07a2edf8865252f980dade0d34e930adca0e870e7344d7e2b0bb","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"b00fa310b6d835cb613a02101c7b1a72c636faec316586587cb63aebdcb9de8f","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"248c0b0abaa7d56a7dc3293e67a0ce70a4ef8c83638bda8aa222ad8bb0ef6801","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/mod.rs":"3231196aa748186ad21063bb43c69b95c0d90ba32c5547c72f7c6ed343a100b7","src/unix/newlib/aarch64/mod.rs":"c408a990f22fb4292a824f38367e9b517e6e6f8623328397ee631cc88b3d1f7d","src/unix/newlib/arm/mod.rs":"2b6dba2e697ab9b4f4bc4dd5f28057249e9b596d1cb395a9322ec87605c4a5c4","src/unix/newlib/mod.rs":"eea5f1eb720184d9a00be966e4161fddb3733362fc349182e85b1599ba4e825f","src/unix/notbsd/android/b32/arm.rs":"3625a32c7e58cfe683a53486fbe3d42d4e28f00bea31e19cb46ed2bb0b6a140b","src/unix/notbsd/android/b32/mod.rs":"2fbe398c1fb5251dda6213741a193e50aae4622807cb255d1dd2e82b536f0c65","src/unix/notbsd/android/b32/x86.rs":"ae2b7f1d6278caddc007749bb1d09ca33f7593478a0fd7fe98b457dae86c7814","src/unix/notbsd/android/b64/aarch64.rs":"63d65629d79371814910f691672ef593d20244ee09be26f1ebe07ee6212d0163","src/unix/notbsd/android/b64/mod.rs":"90d4f6b063fd4de42fd302cbc9d9902fd99ac1d71dc48cb8bc6ad7b4c902e481","src/unix/notbsd/android/b64/x86_64.rs":"5547aef8dcbaa5a932559f34606fd8d89f6c9c15173d2b1412c12d39b3c1045f","src/unix/notbsd/android/mod.rs":"19013f41ac8ccac034eb48777a4041d69342edb9ca25d4e0bb9c5938f62eef3e","src/unix/notbsd/emscripten.rs":"9ed47a0a5020c8f72d9496f87ef0da669c1ed2b85980013100c466f18cd8a4c5","src/unix/notbsd/linux/mips/mips32.rs":"a483ddfd10765b7d5090dc21686eee8842649cd21236828a42d634114885f5f9","src/unix/notbsd/linux/mips/mips64.rs":"9fff696e3943cf206b549d1ae13fa361828e9a8454e2d5730eeaa1c172ff370d","src/unix/notbsd/linux/mips/mod.rs":"d18a40011e9090a4a2a1f27e5bd96eb2503ac352f4809648e15841083d7f3a68","src/unix/notbsd/linux/mod.rs":"d84e95d36f9477fa1aa694bf18a919ba20e65aa71539c3f3dc06e8f92acee521","src/unix/notbsd/linux/musl/b32/arm.rs":"fdf170e03812072785ec531f1ae810d0c4feb9b29d0c316681b9f7affe1262c0","src/unix/notbsd/linux/musl/b32/mips.rs":"afa4981d93f29b3fb0083a73ce1323f7dce1392f90d5cf1966b1fae10d510033","src/unix/notbsd/linux/musl/b32/mod.rs":"540928f168f145c136f9dd729ffa12b9d1838d9fe664fc642365d17d7fae648f","src/unix/notbsd/linux/musl/b32/powerpc.rs":"16c615770a96f155540511f58b5a8070c9c7a43e12bdfed83996690e7558bcb5","src/unix/notbsd/linux/musl/b32/x86.rs":"3abf1610c68c37f407cdd0f93563c3542c024219e0e8c9888266a6ee014e0c87","src/unix/notbsd/linux/musl/b64/aarch64.rs":"d98643408c2837387988f78adc95c90ad21196a6f8f879e3d33d7e8ccf612640","src/unix/notbsd/linux/musl/b64/mod.rs":"d9285cd705e2e92552a08c9aa69b810e7e1bd0e9da6edf069c678af285579661","src/unix/notbsd/linux/musl/b64/powerpc64.rs":"544d8a7f6d6d84143df8a4c3537c9a3a36bf3d338d7a1c15689b94492498d8d7","src/unix/notbsd/linux/musl/b64/x86_64.rs":"25340999290a63d564ec149532c905f59c312ec369f8806d6b15df66fa1b8857","src/unix/notbsd/linux/musl/mod.rs":"4e582af62a11e8a5235ccbeabe5b1003fc17705e606c1ed9b21b931a470681fc","src/unix/notbsd/linux/other/b32/arm.rs":"d9892f7350b2978335f734f1cd2d7fed60f0f2e66aa05bee3f69549c031f8b14","src/unix/notbsd/linux/other/b32/mod.rs":"26211878c6481861e11393625620edaa0700cac41f55f0118c0f0bd42c1b7520","src/unix/notbsd/linux/other/b32/powerpc.rs":"253fcd2f9978525285be1903cc08f3fec2dc3b12d1660a33e2995b4f6b810d1c","src/unix/notbsd/linux/other/b32/x86.rs":"49376e3ed0f3ff95c230ac20751911fe3c608dfe15c7c118b069fd7a954d8db9","src/unix/notbsd/linux/other/b64/aarch64.rs":"1124ab5e974718b94fa40ae0f1772fb1c537910ef3e018b7c6c94a38b83dd742","src/unix/notbsd/linux/other/b64/mod.rs":"63e1a3fdf5f4d1b9820934ab344c91aed5e458e7e05908535d2e942d51a08bf8","src/unix/notbsd/linux/other/b64/not_x32.rs":"fa8636fb93eab230ed53bdec0a06f5b81d6d982cc0800103563c8c1eefcdb2d9","src/unix/notbsd/linux/other/b64/powerpc64.rs":"a771d982ed8a9458e1f2f039f959b5075b22443159875ba5612eebba96661c24","src/unix/notbsd/linux/other/b64/sparc64.rs":"0caffe5924886f3aed187531dfe78189b3df40adb96782ec4b471647ff83e9b1","src/unix/notbsd/linux/other/b64/x32.rs":"06a26c5120ced30fc015c220799b67c4401be2f13fc6c7361bebd3d37ff4982d","src/unix/notbsd/linux/other/b64/x86_64.rs":"70d0cec088630502128c1c28ffef9dcc0fd9c0644f6a71b1325961d075625226","src/unix/notbsd/linux/other/mod.rs":"fe76beac87fc549b076078a0fa3e2ecd4c13b0e6e4fcb34a89e16c6584f5259b","src/unix/notbsd/linux/s390x.rs":"9e990574dfc22b6eb91bcc7c6f8297f9ad42f9183efb366a818be88180a3fac3","src/unix/notbsd/mod.rs":"a0fdecac118b70fb670f0fcccaa7f826440873448a96dd557fb1fe52cf391e89","src/unix/solaris/mod.rs":"7950a26f3eb0b7bc8e71f524cc2e05832b759fe2ce12a58e0c1957e0ec1286dc","src/unix/uclibc/mips/mips32.rs":"9739c5fb47f389a0394ef08ee30da97a3de0a1300020731a8cc0a033616011b2","src/unix/uclibc/mips/mips64.rs":"230583280bbc7b3c7fcdb61244f51fa1af5944ca127c7cf83c598fe2313713d0","src/unix/uclibc/mips/mod.rs":"2d76e6cfeb2b7f7c59231a6e099f1aed811a45659e62153aaf00c220b9488a9d","src/unix/uclibc/mod.rs":"521818507cef958376edfd8401c35db7ee1c51ee3cf106ad962002104a184cf5","src/unix/uclibc/x86_64/l4re.rs":"68fd3a833fd1f7caf784a084224f384bdbdfb8b5a14ef94c4f5155409afb3439","src/unix/uclibc/x86_64/mod.rs":"419182836aedd426a5c9e6b8667058adf86ac8f43af73ce8d00c503f8ff8f414","src/unix/uclibc/x86_64/other.rs":"f03b47842896f2f3ae6f8ebdcbcf0276454f880349d9cf00e3d304f8136893c5","src/windows/gnu.rs":"4d9033162cc6f7d245256c7b165c1ec18a741771fd9b99a55b421e8d14978599","src/windows/mod.rs":"7d74b12f71de86ee517a9cd93b1b38d0551646db0eaf526048abcbdd4bbeb250","src/windows/msvc.rs":"8f46cf66883c794175609a3b2bafaa094d0ba63eb6720ef1b84b175603f1074f"},"package":"023a4cd09b2ff695f9734c1934145a315594b7986398496841c7031a5a1bbdbd"} diff --git a/user/rust/0030-liblibc-linkage.patch b/user/rust/0030-liblibc-linkage.patch deleted file mode 100644 index 4daa0e48f..000000000 --- a/user/rust/0030-liblibc-linkage.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/src/liblibc/src/unix/mod.rs b/src/liblibc/src/unix/mod.rs -index 9c68178a..1ae270e9 100644 ---- a/src/liblibc/src/unix/mod.rs -+++ b/src/liblibc/src/unix/mod.rs -@@ -287,11 +287,7 @@ cfg_if! { - // cargo build, don't pull in anything extra as the libstd dep - // already pulls in all libs. - } else if #[cfg(target_env = "musl")] { -- #[cfg_attr(feature = "stdbuild", -- link(name = "c", kind = "static", -- cfg(target_feature = "crt-static")))] -- #[cfg_attr(feature = "stdbuild", -- link(name = "c", cfg(not(target_feature = "crt-static"))))] -+ #[link(name = "c")] - extern {} - } else if #[cfg(target_os = "emscripten")] { - #[link(name = "c")] diff --git a/user/rust/0031-liblibc-1b130d4c349d.patch b/user/rust/0031-liblibc-1b130d4c349d.patch deleted file mode 100644 index 29087689b..000000000 --- a/user/rust/0031-liblibc-1b130d4c349d.patch +++ /dev/null @@ -1,126 +0,0 @@ -From 1b130d4c349d35da9aeb07ce020cbf96755e8a6b Mon Sep 17 00:00:00 2001 -From: Samuel Holland <samuel@sholland.org> -Date: Thu, 1 Nov 2018 03:37:18 +0000 -Subject: [PATCH] Add F_RDLCK/F_WRLCK/F_UNLCK to several platforms - -These are used by the flock wrapper in rustc_data_structures. The -constants were already present in x86_64-linux-gnu and BSD (since -4928bd986907). ---- - src/unix/haiku/mod.rs | 4 ++++ - src/unix/notbsd/android/mod.rs | 4 ++++ - src/unix/notbsd/linux/musl/mod.rs | 4 ++++ - src/unix/notbsd/linux/other/b32/mod.rs | 4 ++++ - src/unix/notbsd/linux/other/b64/aarch64.rs | 4 ++++ - src/unix/notbsd/linux/other/b64/powerpc64.rs | 4 ++++ - src/unix/notbsd/linux/other/b64/sparc64.rs | 4 ++++ - 7 files changed, 28 insertions(+) - -diff --git a/src/liblibc/src/unix/haiku/mod.rs b/src/liblibc/src/unix/haiku/mod.rs -index 2ef36f8f3..307a5a40d 100644 ---- a/src/liblibc/src/unix/haiku/mod.rs -+++ b/src/liblibc/src/unix/haiku/mod.rs -@@ -351,6 +351,10 @@ pub const F_SETLK: ::c_int = 0x0080; - pub const F_SETLKW: ::c_int = 0x0100; - pub const F_DUPFD_CLOEXEC: ::c_int = 0x0200; - -+pub const F_RDLCK: ::c_int = 0x0040; -+pub const F_UNLCK: ::c_int = 0x0200; -+pub const F_WRLCK: ::c_int = 0x0400; -+ - pub const AT_FDCWD: ::c_int = -1; - pub const AT_SYMLINK_NOFOLLOW: ::c_int = 0x01; - pub const AT_SYMLINK_FOLLOW: ::c_int = 0x02; -diff --git a/src/liblibc/src/unix/notbsd/android/mod.rs b/src/liblibc/src/unix/notbsd/android/mod.rs -index 3e10acd50..5b750b2b1 100644 ---- a/src/liblibc/src/unix/notbsd/android/mod.rs -+++ b/src/liblibc/src/unix/notbsd/android/mod.rs -@@ -744,6 +744,10 @@ pub const F_SETOWN: ::c_int = 8; - pub const F_SETLK: ::c_int = 6; - pub const F_SETLKW: ::c_int = 7; - -+pub const F_RDLCK: ::c_int = 0; -+pub const F_WRLCK: ::c_int = 1; -+pub const F_UNLCK: ::c_int = 2; -+ - pub const TCGETS: ::c_int = 0x5401; - pub const TCSETS: ::c_int = 0x5402; - pub const TCSETSW: ::c_int = 0x5403; -diff --git a/src/liblibc/src/unix/notbsd/linux/musl/mod.rs b/src/liblibc/src/unix/notbsd/linux/musl/mod.rs -index 10d61ebeb..9c669d9b4 100644 ---- a/src/liblibc/src/unix/notbsd/linux/musl/mod.rs -+++ b/src/liblibc/src/unix/notbsd/linux/musl/mod.rs -@@ -121,6 +121,10 @@ pub const ECOMM: ::c_int = 70; - pub const EPROTO: ::c_int = 71; - pub const EDOTDOT: ::c_int = 73; - -+pub const F_RDLCK: ::c_int = 0; -+pub const F_WRLCK: ::c_int = 1; -+pub const F_UNLCK: ::c_int = 2; -+ - pub const SA_NODEFER: ::c_int = 0x40000000; - pub const SA_RESETHAND: ::c_int = 0x80000000; - pub const SA_RESTART: ::c_int = 0x10000000; -diff --git a/src/liblibc/src/unix/notbsd/linux/other/b32/mod.rs b/src/liblibc/src/unix/notbsd/linux/other/b32/mod.rs -index 5b0142ab8..d078f7537 100644 ---- a/src/liblibc/src/unix/notbsd/linux/other/b32/mod.rs -+++ b/src/liblibc/src/unix/notbsd/linux/other/b32/mod.rs -@@ -251,6 +251,10 @@ pub const F_SETOWN: ::c_int = 8; - pub const F_SETLK: ::c_int = 6; - pub const F_SETLKW: ::c_int = 7; - -+pub const F_RDLCK: ::c_int = 0; -+pub const F_WRLCK: ::c_int = 1; -+pub const F_UNLCK: ::c_int = 2; -+ - pub const SFD_NONBLOCK: ::c_int = 0x0800; - - pub const TIOCEXCL: ::c_ulong = 0x540C; -diff --git a/src/liblibc/src/unix/notbsd/linux/other/b64/aarch64.rs b/src/liblibc/src/unix/notbsd/linux/other/b64/aarch64.rs -index 2ba27a72b..171d904ca 100644 ---- a/src/liblibc/src/unix/notbsd/linux/other/b64/aarch64.rs -+++ b/src/liblibc/src/unix/notbsd/linux/other/b64/aarch64.rs -@@ -340,6 +340,10 @@ pub const F_SETOWN: ::c_int = 8; - pub const F_SETLK: ::c_int = 6; - pub const F_SETLKW: ::c_int = 7; - -+pub const F_RDLCK: ::c_int = 0; -+pub const F_WRLCK: ::c_int = 1; -+pub const F_UNLCK: ::c_int = 2; -+ - pub const SFD_NONBLOCK: ::c_int = 0x0800; - - pub const TIOCEXCL: ::c_ulong = 0x540C; -diff --git a/src/liblibc/src/unix/notbsd/linux/other/b64/powerpc64.rs b/src/liblibc/src/unix/notbsd/linux/other/b64/powerpc64.rs -index 9dd91f0fd..1813413b0 100644 ---- a/src/liblibc/src/unix/notbsd/linux/other/b64/powerpc64.rs -+++ b/src/liblibc/src/unix/notbsd/linux/other/b64/powerpc64.rs -@@ -327,6 +327,10 @@ pub const F_SETOWN: ::c_int = 8; - pub const F_SETLK: ::c_int = 6; - pub const F_SETLKW: ::c_int = 7; - -+pub const F_RDLCK: ::c_int = 0; -+pub const F_WRLCK: ::c_int = 1; -+pub const F_UNLCK: ::c_int = 2; -+ - pub const SFD_NONBLOCK: ::c_int = 0x0800; - - pub const TIOCEXCL: ::c_ulong = 0x540C; -diff --git a/src/liblibc/src/unix/notbsd/linux/other/b64/sparc64.rs b/src/liblibc/src/unix/notbsd/linux/other/b64/sparc64.rs -index 34438a735..a3251ec7b 100644 ---- a/src/liblibc/src/unix/notbsd/linux/other/b64/sparc64.rs -+++ b/src/liblibc/src/unix/notbsd/linux/other/b64/sparc64.rs -@@ -305,6 +305,10 @@ pub const F_SETOWN: ::c_int = 6; - pub const F_SETLK: ::c_int = 8; - pub const F_SETLKW: ::c_int = 9; - -+pub const F_RDLCK: ::c_int = 1; -+pub const F_WRLCK: ::c_int = 2; -+pub const F_UNLCK: ::c_int = 3; -+ - pub const SFD_NONBLOCK: ::c_int = 0x4000; - - pub const TIOCEXCL: ::c_ulong = 0x2000740d; --- -2.18.0 - diff --git a/user/rust/APKBUILD b/user/rust/APKBUILD index 8534e1112..9a37b97c3 100644 --- a/user/rust/APKBUILD +++ b/user/rust/APKBUILD @@ -3,10 +3,10 @@ # Contributor: Jeizsm <jeizsm@gmail.com> # Maintainer: Samuel Holland <samuel@sholland.org> pkgname=rust -pkgver=1.31.1 -_bootcargover=0.31.0 -_bootver=1.30.1 -_llvmver=6 +pkgver=1.33.0 +_bootcargover=0.33.0 +_bootver=1.32.0 +_llvmver=7 pkgrel=0 pkgdesc="The Rust Programming Language" url="https://www.rust-lang.org" @@ -50,25 +50,15 @@ source="https://static.rust-lang.org/dist/rustc-$pkgver-src.tar.xz 0004-Require-static-native-libraries-when-linking-static-.patch 0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch 0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch - 0007-Add-powerpc-unknown-linux-musl-target.patch - 0008-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch - 0009-Use-the-ELFv2-ABI-on-powerpc64-musl.patch - 0010-Add-powerpc64-unknown-linux-musl-target.patch - 0011-rustc_data_structures-use-libc-types-constants-in-fl.patch - 0012-runtest-Fix-proc-macro-tests-on-musl-hosts.patch - 0013-Fix-double_check-tests-on-big-endian-targets.patch - 0014-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch - 0015-test-linkage-visibility-Ensure-symbols-are-visible-t.patch - 0016-x.py-Use-python3-instead-of-python.patch - 0017-test-target-feature-gate-Only-run-on-relevant-target.patch - 0018-test-use-extern-for-plugins-Don-t-assume-multilib.patch - 0019-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch - 0020-Ignore-broken-and-non-applicable-tests.patch - 0021-Link-stage-2-tools-dynamically-to-libstd.patch - 0022-Move-debugger-scripts-to-usr-share-rust.patch - 0023-Add-foxkit-target-specs.patch - 0030-liblibc-linkage.patch - 0031-liblibc-1b130d4c349d.patch + 0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch + 0008-test-enum-debug-Correct-minimum-LLVM-version.patch + 0009-test-use-extern-for-plugins-Don-t-assume-multilib.patch + 0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch + 0011-Ignore-broken-and-non-applicable-tests.patch + 0012-Link-stage-2-tools-dynamically-to-libstd.patch + 0013-Move-debugger-scripts-to-usr-share-rust.patch + 0014-Add-foxkit-target-specs.patch + 0030-libc-linkage.patch 0040-rls-atomics.patch " builddir="$srcdir/rustc-$pkgver-src" @@ -117,10 +107,10 @@ build() { debuginfo-lines = true debuginfo-only-std = true debuginfo-tools = true - use-jemalloc = false backtrace = true channel = "stable" rpath = false + jemalloc = false [target.$CTARGET] cc = "$CTARGET-gcc" cxx = "$CTARGET-g++" @@ -132,20 +122,18 @@ build() { LIBGIT2_SYS_USE_PKG_CONFIG=1 \ LLVM_LINK_SHARED=1 \ RUST_BACKTRACE=1 \ - ./x.py build -j ${JOBS:-2} + python3 x.py build -j ${JOBS:-2} } check() { cd "$builddir" RUST_BACKTRACE=1 \ - ./x.py test -j ${JOBS:-2} --no-doc --no-fail-fast \ + python3 x.py test -j ${JOBS:-2} --no-doc --no-fail-fast \ src/test/codegen \ src/test/codegen-units \ src/test/compile-fail \ - src/test/compile-fail-fulldeps \ src/test/incremental \ - src/test/incremental-fulldeps \ src/test/mir-opt \ src/test/pretty \ src/test/run-fail \ @@ -165,7 +153,7 @@ check() { package() { cd "$builddir" - DESTDIR="$pkgdir" ./x.py install + DESTDIR="$pkgdir" python3 x.py install rm "$pkgdir"/usr/lib/*.so \ "$pkgdir"/usr/lib/rustlib/components \ @@ -301,33 +289,23 @@ _mv() { mkdir -p "$dest" mv "$@" } -sha512sums="d6688711452295c41468af214f036499074d82fbeedc3f03560275219c2fae910e623e38e3210176d86f78ba5533ea098da5ff21532c8ad1a5aac132bb74ee02 rustc-1.31.1-src.tar.xz -16596561ff87c66f64f4b40602184355d3695822b9b9e6e0e929f340664718698e6f5b378c9162b48f9cb180be5fd8e583e5e51a1c57c1cd55dcc80f468cb509 cargo-0.31.0-powerpc-foxkit-linux-musl.tar.xz -cdfc7a3d51d66338f31007daafab95570e4e465983add99db7a45f1a3e601588b19e1257fe3e7fcc6b7104ba445add2fa1cda71325a9ab6d196b4ad0dcef2fb5 rust-std-1.30.1-powerpc-foxkit-linux-musl.tar.xz -190ed9d84513a229f389fc5d1bf0b8e22202bd3b9802330ee2844c436ae13700bdaded091498be4f2c4c65b2f6ef55c1e2db41a918747ac60e8e11e331be2c29 rustc-1.30.1-powerpc-foxkit-linux-musl.tar.xz -acab7c5ffa73cd83cf3ae23e69d2c05ccc3ca03aa4d5a15179af76f2e75b7c5a1bc8d2969c0a9a4b5ad36a50a8cce283e62db878797be6d0da252b414de004cd 0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch -f9773277e91e91d0bd6749890b8d332a86522927d90548af02892c6d01b8fbb3b234993eec8e5b8d6a3b6f1cec310a112e274f47f70d30829ca61a0da8d45bb5 0002-Fix-LLVM-build.patch -9e87964d41e14f70acc1961a0162bbf3ebca73f1c2b2842c3b1c8b65776466c9299d6974fc6b94a4e06547ae8ce638c28cdedf24eeb2616976f9dd727b989c13 0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch -b08e247785b6b94c24e9921665c0a80a21d6802cdcfb67cf381ff8c674388156fc6d88f8206c2d1eed152f4ad3333bf4a16cdd1c3376b97500f96c437e967ecb 0004-Require-static-native-libraries-when-linking-static-.patch -39c2f63aaf567e539ef803afa4e02d9f373df33167306dabb303044854c95bcc52a8b0fe02a2ff186d3d37fb25ac6ceee2bea25beddb0b8d0510b41dcbfb781a 0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch -80a48ba90dce672bd47dba4358e705f0585b17af6a9236887c0bf79d229fe7250b6d5cf54c2630c132721be890cf6098376aac408ac2d3feb5fd8b5ec0678446 0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch -71fc70a70ee42fed66ea7abcccffd46c02b877f716ccb366d68c8b252290366aa3d4819bdf6ce43cf8327088ff9ff0cac9444d9fab8b4d6645dfc1a018bd5285 0007-Add-powerpc-unknown-linux-musl-target.patch -54e7b24d3da6905d02252dbd3011a16c52c1fae6922997dcccf034b5230025e05bb0d029a5fe043c186a39f8908e8e44f9a857db943f1c49d804bcb97cca71b0 0008-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch -088d509715de07000c815005fd513d4bb43c5a273dab1cec54c3617c1d342d1eff7d4d2edc48f20b80aec8b3e380f7480d7336b9c7dc4b89b78a31a88e04eb09 0009-Use-the-ELFv2-ABI-on-powerpc64-musl.patch -f39578109d1591759aff29cc1a4127f1456c60ed05993704574a9c1e2331243baa85e3f66ba4634f57efd964b1d11a4539a3ab3a1fdab9c3163d91c658e04bf2 0010-Add-powerpc64-unknown-linux-musl-target.patch -11ee5b81d354b36369eb5d7f57bcde04a350f1ca5e6034d04eae6c5064dad37b05a26ca44f99499f3f7664c11beba0aafbc1adb6807a21bcce878717659d04b3 0011-rustc_data_structures-use-libc-types-constants-in-fl.patch -8ff473da3fd668ee36826e206245c7b6d20c671b4016c9a9d5e1d22af05f8d4d724543942a53ab38dd9c7bb6e4c3eff33daec4a84b0ee333b25b007f610b4b49 0012-runtest-Fix-proc-macro-tests-on-musl-hosts.patch -1ce5797d0b9a0eb24d203a437b999ac9691cf741086645864b3a0dcf134f31c31e68e6e1618f44d3bd3c3743c067713c472e93c69f551d14f2e0233b6f10d2cd 0013-Fix-double_check-tests-on-big-endian-targets.patch -f72c803cd531e6c85c37993214a89a8e49d776a6f50405956d6b453cc9036e596eeac4da36c564fc9388908237fe37291dfc6a0d00ed1d5f83186371f8ad6c07 0014-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch -861402c0468438428aefdbcec13c82678ba280816f5482a5707805caa37ddabf8df95d894dd0ab99d3e0b09de3b0a602cb29e62afd479cedf6112950ed174f9a 0015-test-linkage-visibility-Ensure-symbols-are-visible-t.patch -1dec944575e8bb6fc7ad910e2dae4d694a2571b36652a27a9b7ee11c40018d39d41f89bf827d909a67ff4d16d0970d1c753b24dfd5dbd0362028dcf12f60dd61 0016-x.py-Use-python3-instead-of-python.patch -9633256006c28106d9b5e560e4cd4ee72de700a0f54d0c5fd1576760213e674f3c123b83a547bbdf9cdfde92ba6d10edf3cb598f3ad67db6e20b11d24fb49d54 0017-test-target-feature-gate-Only-run-on-relevant-target.patch -3ab705f45cc75507c5a8fbf7c8520c7231d7d1870e5dc5da3d822e50f28a6f242ba31e712f98f72ff96143010812212cdc99f8b1b197a680bbe249dfb9779d74 0018-test-use-extern-for-plugins-Don-t-assume-multilib.patch -572669f940c93b57b1f02161685bd3e35e2757bfd1f1d2e6ca5fd7d6e80c6733917a2c28205c4bc8741eae01bd790fe14996ba857884494a6084f4670819e43d 0019-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch -e1cd1bc3a363ce214e887c4c61e233d388c3b75155ae4a84e8381bdccee5897ddffc992bc22dcdb6316b64516236ae4b07d06ff331e9e031c524196b0e5c40d5 0020-Ignore-broken-and-non-applicable-tests.patch -b05ef2ddd53262e46a4a6148db25b0903347e531f94a1ec194aafd31e49b4559564edbe4842f82b457d9c700723474fa29119f57969c0208199d5f2126ce6509 0021-Link-stage-2-tools-dynamically-to-libstd.patch -34ce4f9227a0e58113e8871db78681d1a0180f4af9de08b17c7ba15d13f47d189e2b0c66cb203ddfee8ac29131b6e5bc7ba8fd699d63847ab2a55973503788bc 0022-Move-debugger-scripts-to-usr-share-rust.patch -6204dfc16ca27bda4c77a5f9a3805af9995e24c8b9cda6d45d0860c3625e937ec6e871a3ccec6357ab4cd52b0e73450897960102bb1e6f1ce80ae95780a8dbea 0023-Add-foxkit-target-specs.patch -f94abe390798b968bccfba1c908ab5895220ed0d167314b790a9c28b10cac81fb2e3b08760b4e8551ad5a5d02cd052d3d0d647ad8f8634e97f4d3b0470a21c42 0030-liblibc-linkage.patch -875f0b676c61c1ec67894fc7866233869ced8fc975960b8b99585bad370066f9a6bf591590a745c73a0bcc93b9f7fda74a703829c50d04b80846aecc92ae725a 0031-liblibc-1b130d4c349d.patch +sha512sums="3291e4e19f75f44c81e6fcf4c01edc7c9d326eca43722381231abcf2e99f4314059ba59a29b79f5511ad9421c358c45e8fe18584d6954d17fe2aabad0f9d9147 rustc-1.33.0-src.tar.xz +24caa7730dd41f61b97bb909d499f928cebab948e814b786e7d3836e92188ef27da48147532e063b3cec424e41a4374581274f21dc79bb95cf310f92c8609579 cargo-0.33.0-powerpc64-foxkit-linux-musl.tar.xz +c6d237d6daaae1e8a342691917bdc76fa6a59f5bd99a1df38baebf6d5c1ddc6f8460ac6e1db8168120accb9c5f90f652ea013b4d865c486c72e90244be753ebd rust-std-1.32.0-powerpc64-foxkit-linux-musl.tar.xz +8ff3bca961e146593f17e1581d20eaeae99768a4fac65258cf5ef80ef69b427a4980fd345b69b831028ca3e882d52d2ebd42a2eccab2c812da09e2bc28960ffe rustc-1.32.0-powerpc64-foxkit-linux-musl.tar.xz +a5e03a091b224b9cd3cd6d8a0b1ac70389f374c95ff09f55b01e739b3a98a8551d2208b2750137ebaacbb8628d1bb54a96aaeb938c961e4eb33a071594bce1dc 0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch +bf387aad3d117e30621bd1914c3a713a710db0639413d57802c3a9bba49bf422dedf5e03b4a3073ec1efbd571cbcd10b6a0b3f98f2b019555581db5599b84f44 0002-Fix-LLVM-build.patch +b931204afaf3ac4c73f41c29586b0cebdb06867bf401717a473c2367ebf25be1a42827f7ccccea50c15006c744cb73fc7ea9627816d0a2b53421546a4e478436 0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch +da362880f89a2df8223ed255d44803e9d7d8115666946fe3a4fe4a78030cd8ee40d6aabc1ceaab110e62e9a67af7631729348f71f2d514458ef0a60e6decff3b 0004-Require-static-native-libraries-when-linking-static-.patch +1bdc441cb068697c7f6984e16bdde28bdd17b7a2517c33b666851d55f1d987a76e4d7f034b7221538c663c0a33603d8ac1f60ffb167a4a5d01677a7b214ab21d 0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch +03580acc8391a7b32fb2a7880c6a924838803e8ce4771e465f24b7a09263b9b0ca7ae4fd84770c262cf25734d49ab0f838d57104b181224b901e26f25dc9d2e9 0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch +8e06768d0723aca0dd292942381255061b83505da89bc45c8c8c280dcaf3184e1b05b3744559fc3ed576f9a726bd593d892a71e8fd81bfebee62bb86d62f5531 0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch +52138d4cc238ee44eafabfe281e3378298d510c9ffd9f123a5934f33b7e68b6fa262605c044bfce5943b18983d0145bdf33b9c168e030fee892247ef7ce4ec19 0008-test-enum-debug-Correct-minimum-LLVM-version.patch +34be92c7ce327f488b7a933e7232890615b3d07c08a09028d712c01aa53f89025b47aaaccdc5c2e1d52948eb967b40ea2c576b29b0102feadc7153d6d9984f79 0009-test-use-extern-for-plugins-Don-t-assume-multilib.patch +47b025edccb7e2d7c42353c3a8665714a3b5661a7d832a9bd71bf9bff75ffe7c6e90a9d55b765dadec54ce29c2539fa894801487718ac1053bd4528b413a487d 0010-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch +c32c5d807ec23f5e88f47f83220a117ff3f048cec4731e50d0cae082c971ea03993a6e4f95225046a0b06b406608ee97fb85671ad8f86e5da4970bba210388d6 0011-Ignore-broken-and-non-applicable-tests.patch +6b089c21b3b756d5d8b3198f4a914d8a2f90216ce25d491f7caeb0a637d0f729e9e5184dfa3e07b50570df5791576d1aa4bf2a1f33183c67bc2ba6ba36c0752e 0012-Link-stage-2-tools-dynamically-to-libstd.patch +d9568a3e21b60831b193c4a9554756d0be77d0c63d06d6c3ff1c7fd35822aaa3b2e2cf8acd29fe07eb698ebf48673245e052a6ddfa4d39bb687eea8c4c236e50 0013-Move-debugger-scripts-to-usr-share-rust.patch +f1269241ccddf4594752b97e6856dad98ca987d2491b1bd95f6123352eec52f3acb3f17dae1c2a42be55e25db4a7e0d6bb1fb2b468cc139ad14559e0753a4c87 0014-Add-foxkit-target-specs.patch +7197503a3bf1cdd6cb5ff3350add2682cc64f7d33f7a4b270c53321401e439de5c24ddb2f7c5a76bb3488c8b766237f674fedaa9202c480f53595d7837214f0f 0030-libc-linkage.patch 41ab9d6f361ee2fba267c9836c1a382dc86101d1bfb59cd942be8e8fc526ad65d845c9395cba7f760808d345d107f32e75af9057d67c450b8fbdd8a73636fb2e 0040-rls-atomics.patch" |