summaryrefslogtreecommitdiff
path: root/user/rust
diff options
context:
space:
mode:
Diffstat (limited to 'user/rust')
-rw-r--r--user/rust/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch32
-rw-r--r--user/rust/0002-Fix-LLVM-build.patch12
-rw-r--r--user/rust/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch27
-rw-r--r--user/rust/0004-Require-static-native-libraries-when-linking-static-.patch40
-rw-r--r--user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch264
-rw-r--r--user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch10
-rw-r--r--user/rust/0007-Add-powerpc-unknown-linux-musl-target.patch66
-rw-r--r--user/rust/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch (renamed from user/rust/0012-runtest-Fix-proc-macro-tests-on-musl-hosts.patch)14
-rw-r--r--user/rust/0008-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch79
-rw-r--r--user/rust/0008-test-use-extern-for-plugins-Don-t-assume-multilib.patch (renamed from user/rust/0018-test-use-extern-for-plugins-Don-t-assume-multilib.patch)14
-rw-r--r--user/rust/0009-Use-the-ELFv2-ABI-on-powerpc64-musl.patch50
-rw-r--r--user/rust/0009-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch (renamed from user/rust/0019-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch)6
-rw-r--r--user/rust/0010-Add-powerpc64-unknown-linux-musl-target.patch67
-rw-r--r--user/rust/0010-Ignore-broken-and-non-applicable-tests.patch104
-rw-r--r--user/rust/0011-Link-stage-2-tools-dynamically-to-libstd.patch (renamed from user/rust/0021-Link-stage-2-tools-dynamically-to-libstd.patch)10
-rw-r--r--user/rust/0011-rustc_data_structures-use-libc-types-constants-in-fl.patch209
-rw-r--r--user/rust/0012-Move-debugger-scripts-to-usr-share-rust.patch (renamed from user/rust/0022-Move-debugger-scripts-to-usr-share-rust.patch)20
-rw-r--r--user/rust/0013-Add-foxkit-target-specs.patch (renamed from user/rust/0023-Add-foxkit-target-specs.patch)134
-rw-r--r--user/rust/0013-Fix-double_check-tests-on-big-endian-targets.patch75
-rw-r--r--user/rust/0014-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch25
-rw-r--r--user/rust/0015-test-linkage-visibility-Ensure-symbols-are-visible-t.patch30
-rw-r--r--user/rust/0016-x.py-Use-python3-instead-of-python.patch22
-rw-r--r--user/rust/0017-test-target-feature-gate-Only-run-on-relevant-target.patch37
-rw-r--r--user/rust/0020-Ignore-broken-and-non-applicable-tests.patch48
-rw-r--r--user/rust/0030-libc-linkage.patch33
-rw-r--r--user/rust/0030-liblibc-linkage.patch17
-rw-r--r--user/rust/0031-liblibc-1b130d4c349d.patch126
-rw-r--r--user/rust/0031-typenum-pmmx.patch33
-rw-r--r--user/rust/0040-rls-atomics.patch35
-rw-r--r--user/rust/APKBUILD99
30 files changed, 461 insertions, 1277 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..f6a0ddb6b 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,36 +1,26 @@
-From 2a82e95d73d7e86bd420c15f712b09eb104a82c1 Mon Sep 17 00:00:00 2001
+From 600b7bb76d82d2ec180051318d811ad50fd68900 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/13] Don't pass CFLAGS to the C++ compiler
---
- src/bootstrap/builder.rs | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
+ src/bootstrap/builder.rs | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
-index 02e9ca9250..7be38b1e8b 100644
+index 522466314d..86f059a202 100644
--- a/src/bootstrap/builder.rs
+++ b/src/bootstrap/builder.rs
-@@ -1041,7 +1041,7 @@ impl<'a> Builder<'a> {
- let cflags = self.cflags(target, GitRepo::Rustc).join(" ");
- cargo
- .env(format!("CFLAGS_{}", target), cflags.clone())
-- .env("CFLAGS", cflags.clone());
-+ .env("CFLAGS", cflags);
-
- if let Some(ar) = self.ar(target) {
- let ranlib = format!("{} s", ar.display());
-@@ -1056,9 +1056,7 @@ impl<'a> Builder<'a> {
+@@ -1098,8 +1098,7 @@ impl<'a> Builder<'a> {
+ if let Ok(cxx) = self.cxx(target) {
let cxx = ccacheify(&cxx);
cargo
- .env(format!("CXX_{}", target), &cxx)
-- .env("CXX", &cxx)
-- .env(format!("CXXFLAGS_{}", target), cflags.clone())
-- .env("CXXFLAGS", cflags);
-+ .env("CXX", &cxx);
+- .env(format!("CXX_{}", target), &cxx)
+- .env(format!("CXXFLAGS_{}", target), cflags);
++ .env(format!("CXX_{}", target), &cxx);
}
}
--
-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..8b035a02d 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 1359f28a3d69943ff8bcd28d0dcca4c68200ff6a 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/13] 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 fb60b470a3..71ca61d97e 100644
--- a/src/bootstrap/lib.rs
+++ b/src/bootstrap/lib.rs
-@@ -785,7 +785,8 @@ impl Build {
+@@ -783,7 +783,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..1d51af2d9 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,18 +1,18 @@
-From 0613fed83ccf58ce3305a1df35e31eda25ba409e Mon Sep 17 00:00:00 2001
+From d4b81fe2c052ddd6776da36b035dbe2c2564689b 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/13] Allow rustdoc to work when cross-compiling on musl
musl can't handle foreign-architecture libraries in LD_LIBRARY_PATH.
---
- src/bootstrap/bin/rustdoc.rs | 5 +----
- 1 file changed, 1 insertion(+), 4 deletions(-)
+ src/bootstrap/bin/rustdoc.rs | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/src/bootstrap/bin/rustdoc.rs b/src/bootstrap/bin/rustdoc.rs
-index bb5a21e3e4..1b6b78b90a 100644
+index 1c9f6e1ab2..7e90be8d8c 100644
--- a/src/bootstrap/bin/rustdoc.rs
+++ b/src/bootstrap/bin/rustdoc.rs
-@@ -34,9 +34,6 @@ fn main() {
+@@ -23,9 +23,6 @@ fn main() {
Err(_) => 0,
};
@@ -22,15 +22,24 @@ 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() {
+@@ -37,7 +34,7 @@ fn main() {
.arg("--sysroot")
- .arg(sysroot)
+ .arg(&sysroot)
.env(bootstrap::util::dylib_path_var(),
- env::join_paths(&dylib_path).unwrap());
+ PathBuf::from(libdir.clone()));
// Force all crates compiled by this compiler to (a) be unstable and (b)
// allow the `rustc_private` feature to link to other unstable crates
+@@ -86,7 +83,7 @@ fn main() {
+ eprintln!(
+ "rustdoc command: {:?}={:?} {:?}",
+ bootstrap::util::dylib_path_var(),
+- env::join_paths(&dylib_path).unwrap(),
++ PathBuf::from(libdir.clone()),
+ cmd,
+ );
+ eprintln!("sysroot: {:?}", sysroot);
--
-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..a1ee6c661 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,42 +1,48 @@
-From 4e6debd6806faf62ba737c01bb74080a637b127a Mon Sep 17 00:00:00 2001
+From 7f7ea1cba86a15510de2410529c8460fc5b7018b 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/13] Require static native libraries when linking static
executables
-gcc/ld will create a dynamically-linked executable without warning, even
-when passed `-static`, when asked to link to a `.so`. Avoid this
-confusing and unintended behavior by always using the static version of
-libraries when trying to link static executables.
+On ELF targets like Linux, gcc/ld will create a dynamically-linked
+executable without warning, even when passed `-static`, when asked to
+link to a `.so`. Avoid this confusing and unintended behavior by always
+using the static version of libraries when trying to link static
+executables.
Fixes #54243
---
- src/librustc_codegen_llvm/back/link.rs | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
+ src/librustc_codegen_llvm/back/link.rs | 18 ++++++++++++++----
+ 1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/src/librustc_codegen_llvm/back/link.rs b/src/librustc_codegen_llvm/back/link.rs
-index 86c6a5e65b..0e3ff6da07 100644
+index 19419a72b9..9d26dd0b35 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,
+@@ -1408,9 +1408,7 @@ fn add_upstream_rust_crates(cmd: &mut dyn Linker,
}
}
-// Link in all of our upstream crates' native dependencies. Remember that
-// all of these upstream native dependencies are all non-static
-+// Link in all of our upstream crates' native dependencies. Remember that when
-+// linking libraries, these upstream native dependencies are all non-static
- // dependencies. We've got two cases then:
+-// dependencies. We've got two cases then:
++// Link in all of our upstream crates' native dependencies. We have two cases:
//
// 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,
+ // native dependency because the rlib is just an archive.
+@@ -1453,7 +1451,19 @@ fn add_upstream_native_libraries(cmd: &mut dyn Linker,
continue
}
match lib.kind {
- NativeLibraryKind::NativeUnknown => cmd.link_dylib(&name.as_str()),
+ NativeLibraryKind::NativeUnknown => {
-+ // When creating executables, match library linkage to that of the executable.
-+ if crate_type == config::CrateType::Executable && sess.crt_static() {
++ // On some targets, like Linux, linking a static executable inhibits using
++ // dylibs at all. Force native libraries to be static, even if for example
++ // an upstream rlib was originally linked against a native shared library.
++ if crate_type == config::CrateType::Executable
++ && sess.crt_static()
++ && !sess.target.target.options.crt_static_allows_dylibs
++ {
+ cmd.link_staticlib(&name.as_str())
+ } else {
+ cmd.link_dylib(&name.as_str())
@@ -46,5 +52,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..4d70e7084 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,29 @@
-From c822b31f554ed2f930be8625973a401fd438c123 Mon Sep 17 00:00:00 2001
+From 121e89f649b1cfe3c18dc622279dc5a79873fcdb 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/13] 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 | 10 -------
+ 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/ci/docker/test-various/Dockerfile | 1 -
+ src/librustc_target/spec/linux_musl_base.rs | 16 -----------
+ 13 files changed, 4 insertions(+), 152 deletions(-)
diff --git a/config.toml.example b/config.toml.example
-index e8cb0cba6b..1971fea758 100644
+index 8b2153cd2e..b8145ce8d5 100644
--- a/config.toml.example
+++ b/config.toml.example
-@@ -452,12 +452,6 @@
+@@ -474,12 +474,6 @@
# only use static libraries. If unset, the target's default linkage is used.
#crt-static = false
@@ -32,42 +33,35 @@ index e8cb0cba6b..1971fea758 100644
-# linked binaries
-#musl-root = "..."
-
- # Used in testing for configuring where the QEMU images are located, you
- # probably don't want to use this.
- #qemu-rootfs = "..."
+ # The root location of the `wasm32-unknown-wasi` sysroot.
+ #wasi-root = "..."
+
diff --git a/src/bootstrap/bin/rustc.rs b/src/bootstrap/bin/rustc.rs
-index b6764c1aae..6fa60bd9a5 100644
+index a76584093f..8a534ab8e2 100644
--- a/src/bootstrap/bin/rustc.rs
+++ b/src/bootstrap/bin/rustc.rs
-@@ -30,7 +30,6 @@
- extern crate bootstrap;
-
- use std::env;
--use std::ffi::OsString;
- use std::io;
- use std::path::PathBuf;
- use std::process::Command;
-@@ -126,15 +125,6 @@ fn main() {
+@@ -122,16 +122,6 @@ fn main() {
cmd.arg("-Cprefer-dynamic");
}
-- // Help the libc crate compile by assisting it in finding the MUSL
-- // native libraries.
+- // Help the libc crate compile by assisting it in finding various
+- // sysroot 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));
+ if let Some(s) = env::var_os("WASI_ROOT") {
+ let mut root = OsString::from("native=");
+ root.push(&s);
diff --git a/src/bootstrap/cc_detect.rs b/src/bootstrap/cc_detect.rs
-index d5da0cabec..47cc31bded 100644
+index dfc243b705..848d1d4b2b 100644
--- a/src/bootstrap/cc_detect.rs
+++ b/src/bootstrap/cc_detect.rs
-@@ -95,7 +95,7 @@ pub fn find(build: &mut Build) {
+@@ -84,7 +84,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 +70,7 @@ index d5da0cabec..47cc31bded 100644
}
let compiler = cfg.get_compiler();
-@@ -124,7 +124,7 @@ pub fn find(build: &mut Build) {
+@@ -113,7 +113,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 +79,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) {
+@@ -124,8 +124,7 @@ pub fn find(build: &mut Build) {
fn set_compiler(cfg: &mut cc::Build,
compiler: Language,
target: Interned<String>,
@@ -95,7 +89,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,
+@@ -165,26 +164,6 @@ fn set_compiler(cfg: &mut cc::Build,
}
}
@@ -123,73 +117,49 @@ index d5da0cabec..47cc31bded 100644
}
}
diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
-index 69d45acded..7bb38ac7ec 100644
+index 66443d472d..bbaa32a91c 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,20 +114,7 @@ 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);
+- } else if target.ends_with("-wasi") {
++ if target.ends_with("-wasi") {
+ for &obj in &["crt1.o"] {
+ builder.copy(
+ &builder.wasi_root(target).unwrap().join("lib/wasm32-wasi").join(obj),
+@@ -190,12 +177,6 @@ pub fn std_cargo(builder: &Builder<'_>,
+ .arg("--manifest-path")
+ .arg(builder.src.join("src/libstd/Cargo.toml"));
-@@ -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);
- }
- }
- if target.contains("musl") {
- if let Some(p) = builder.musl_root(target) {
- cargo.env("MUSL_ROOT", p);
- }
- }
- }
- }
-
+-
+ if target.ends_with("-wasi") {
+ if let Some(p) = builder.wasi_root(target) {
+ cargo.env("WASI_ROOT", p);
diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
-index a9d330e06a..745785a8ae 100644
+index 0c31c41ced..b8c690fc41 100644
--- a/src/bootstrap/config.rs
+++ b/src/bootstrap/config.rs
-@@ -136,8 +136,6 @@ pub struct Config {
+@@ -133,8 +133,6 @@ pub struct Config {
pub print_step_timings: bool,
pub missing_tools: bool,
@@ -198,15 +168,15 @@ index a9d330e06a..745785a8ae 100644
pub prefix: Option<PathBuf>,
pub sysconfdir: Option<PathBuf>,
pub datadir: Option<PathBuf>,
-@@ -173,7 +171,6 @@ pub struct Target {
+@@ -169,7 +167,6 @@ pub struct Target {
pub linker: Option<PathBuf>,
pub ndk: Option<PathBuf>,
pub crt_static: Option<bool>,
- pub musl_root: Option<PathBuf>,
+ pub wasi_root: Option<PathBuf>,
pub qemu_rootfs: Option<PathBuf>,
pub no_std: bool,
- }
-@@ -305,7 +302,6 @@ struct Rust {
+@@ -306,7 +303,6 @@ struct Rust {
backtrace: Option<bool>,
default_linker: Option<String>,
channel: Option<String>,
@@ -214,35 +184,35 @@ index a9d330e06a..745785a8ae 100644
rpath: Option<bool>,
optimize_tests: Option<bool>,
debuginfo_tests: Option<bool>,
-@@ -343,7 +339,6 @@ struct TomlTarget {
+@@ -346,7 +342,6 @@ struct TomlTarget {
linker: Option<String>,
android_ndk: Option<String>,
crt_static: Option<bool>,
- musl_root: Option<String>,
+ wasi_root: Option<String>,
qemu_rootfs: Option<String>,
}
-
-@@ -560,7 +555,6 @@ impl Config {
+@@ -566,7 +561,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_parallel = rust.parallel_compiler.unwrap_or(false);
config.rustc_default_linker = rust.default_linker.clone();
- config.musl_root = rust.musl_root.clone().map(PathBuf::from);
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 {
+@@ -609,7 +603,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();
- target.musl_root = cfg.musl_root.clone().map(PathBuf::from);
+ target.wasi_root = cfg.wasi_root.clone().map(PathBuf::from);
target.qemu_rootfs = cfg.qemu_rootfs.clone().map(PathBuf::from);
- 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 ade8afee7c..f9ccf7aed5 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",
+@@ -111,28 +111,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,7 +242,7 @@ 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 71ca61d97e..3b53029a79 100644
--- a/src/bootstrap/lib.rs
+++ b/src/bootstrap/lib.rs
@@ -861,14 +861,6 @@ impl Build {
@@ -287,23 +257,14 @@ index 30e84bc13f..cf6f410ccb 100644
- .map(|p| &**p)
- }
-
- /// Returns true if this is a no-std `target`, if defined
- fn no_std(&self, target: Interned<String>) -> Option<bool> {
+ /// Returns the sysroot for the wasi target, if defined
+ fn wasi_root(&self, target: Interned<String>) -> Option<&Path> {
self.config.target_config.get(&target)
diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs
-index 724cb5841f..5af34e441c 100644
+index b9f456e910..792c975333 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) {
+@@ -171,34 +171,6 @@ pub fn check(build: &mut Build) {
}
}
@@ -352,12 +313,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 a722a41839..44e6728de7 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
-
+@@ -132,13 +132,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 \
@@ -370,22 +331,34 @@ index e2484b7224..1855b7f3e5 100644
--disable-docs
diff --git a/src/ci/docker/dist-x86_64-musl/Dockerfile b/src/ci/docker/dist-x86_64-musl/Dockerfile
-index 06f8a2fbba..f5dd379528 100644
+index 21a9023a45..db7c9729d0 100644
--- a/src/ci/docker/dist-x86_64-musl/Dockerfile
+++ b/src/ci/docker/dist-x86_64-musl/Dockerfile
-@@ -30,7 +30,6 @@ COPY scripts/sccache.sh /scripts/
+@@ -29,7 +29,6 @@ COPY scripts/sccache.sh /scripts/
RUN sh /scripts/sccache.sh
ENV RUST_CONFIGURE_ARGS \
-- --musl-root-x86_64=/musl-x86_64 \
+- --musl-root-x86_64=/usr/local/x86_64-linux-musl \
--enable-extended \
--disable-docs
+diff --git a/src/ci/docker/test-various/Dockerfile b/src/ci/docker/test-various/Dockerfile
+index 611a24a69b..99c2b866b1 100644
+--- a/src/ci/docker/test-various/Dockerfile
++++ b/src/ci/docker/test-various/Dockerfile
+@@ -31,7 +31,6 @@ COPY scripts/sccache.sh /scripts/
+ RUN sh /scripts/sccache.sh
+
+ ENV RUST_CONFIGURE_ARGS \
+- --musl-root-x86_64=/usr/local/x86_64-linux-musl \
+ --set build.nodejs=/node-v9.2.0-linux-x64/bin/node \
+ --set rust.lld
+
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 e294e63982..58ae91a96a 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 crate::spec::{LinkerFlavor, TargetOptions};
pub fn opts() -> TargetOptions {
let mut base = super::linux_base::opts();
@@ -400,31 +373,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 +388,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..38065f96c 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 e74e7ab193b0d59302eac1edbab423f2e83e986d 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/13] 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 0ccffea317..935175dd8d 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..b8fa40308 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,25 +1,25 @@
-From 050dfd0e91b92cb350ca52599266cefc6c765106 Mon Sep 17 00:00:00 2001
+From cd7484e89d44ad980a526eb993c5cbc2b7f0878a 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/13] 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 2021dd513a..765353620b 100644
--- a/src/tools/compiletest/src/runtest.rs
+++ b/src/tools/compiletest/src/runtest.rs
-@@ -1582,7 +1582,6 @@ impl<'test> TestCx<'test> {
+@@ -1605,7 +1605,6 @@ impl<'test> TestCx<'test> {
None
} else if self.config.target.contains("cloudabi")
|| self.config.target.contains("emscripten")
- || (self.config.target.contains("musl") && !aux_props.force_host)
|| self.config.target.contains("wasm32")
+ || self.config.target.contains("nvptx")
{
- // We primarily compile all auxiliary libraries as dynamic libraries
-@@ -1590,10 +1589,8 @@ impl<'test> TestCx<'test> {
+@@ -1614,10 +1613,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/0018-test-use-extern-for-plugins-Don-t-assume-multilib.patch b/user/rust/0008-test-use-extern-for-plugins-Don-t-assume-multilib.patch
index 7d63cc1cc..0fefe38cc 100644
--- a/user/rust/0018-test-use-extern-for-plugins-Don-t-assume-multilib.patch
+++ b/user/rust/0008-test-use-extern-for-plugins-Don-t-assume-multilib.patch
@@ -1,19 +1,19 @@
-From 8fbb4ae754fff3f4daa82ad222b3743aace0aa97 Mon Sep 17 00:00:00 2001
+From 6ad7add8f7dee0f6dac64add5d64098667a5168d 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 08/13] test/use-extern-for-plugins: Don't assume multilib
---
src/test/run-make-fulldeps/use-extern-for-plugins/Makefile | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile b/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile
-index cc7bc176f4..36553f1e44 100644
+index 3976da3113..567a8d3157 100644
--- a/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile
+++ b/src/test/run-make-fulldeps/use-extern-for-plugins/Makefile
-@@ -4,12 +4,7 @@ SKIP_OS := 'FreeBSD OpenBSD Bitrig SunOS'
-
- ifneq ($(UNAME),$(findstring $(UNAME),$(SKIP_OS)))
+@@ -5,12 +5,7 @@
+ # ignore-bitrig
+ # ignore-sunos
-HOST := $(shell $(RUSTC) -vV | grep 'host:' | sed 's/host: //')
-ifeq ($(findstring i686,$(HOST)),i686)
@@ -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/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/0019-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch b/user/rust/0009-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
index 4f4b42a9c..3c0bc7c5e 100644
--- a/user/rust/0019-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
+++ b/user/rust/0009-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
@@ -1,7 +1,7 @@
-From 8d74dfc55bad7461bbbc26a83c4103cc419bbf50 Mon Sep 17 00:00:00 2001
+From fb4844f8b8a546873b909490b66bde24772e4cc7 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 09/13] 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/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/0010-Ignore-broken-and-non-applicable-tests.patch b/user/rust/0010-Ignore-broken-and-non-applicable-tests.patch
new file mode 100644
index 000000000..f1349b906
--- /dev/null
+++ b/user/rust/0010-Ignore-broken-and-non-applicable-tests.patch
@@ -0,0 +1,104 @@
+From 44e9b61563be6a169575358107774109f910cb9d Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sun, 16 Sep 2018 16:38:48 +0000
+Subject: [PATCH 10/13] Ignore broken and non-applicable tests
+
+c-link-to-rust-va-list-fn: unstable feature, broken on aarch64, #56475
+env-funky-keys: can't handle LD_PRELOAD (e.g. sandbox)
+long-linker-command-lines: takes >10 minutes to run (but still passes)
+simd-intrinsic-generic-bitmask.rs: broken on BE, #59356
+simd-intrinsic-generic-select.rs: broken on BE, #59356
+sparc-struct-abi: no sparc target
+sysroot-crates-are-unstable: can't run rustc without RPATH
+---
+ src/test/codegen/sparc-struct-abi.rs | 1 +
+ src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile | 2 ++
+ src/test/run-make-fulldeps/long-linker-command-lines/Makefile | 2 ++
+ src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 2 ++
+ src/test/run-pass/env-funky-keys.rs | 1 +
+ src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs | 2 ++
+ src/test/run-pass/simd/simd-intrinsic-generic-select.rs | 2 ++
+ 7 files changed, 12 insertions(+)
+
+diff --git a/src/test/codegen/sparc-struct-abi.rs b/src/test/codegen/sparc-struct-abi.rs
+index 78e5b14a21..6f93e93286 100644
+--- a/src/test/codegen/sparc-struct-abi.rs
++++ b/src/test/codegen/sparc-struct-abi.rs
+@@ -4,6 +4,7 @@
+
+ // only-sparc64
+ // compile-flags: -O --target=sparc64-unknown-linux-gnu --crate-type=rlib
++// ignore-test
+ #![feature(no_core, lang_items)]
+ #![no_core]
+
+diff --git a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
+index f124ca2ab6..363b18f098 100644
+--- a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
++++ b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
+@@ -1,3 +1,5 @@
++# ignore-aarch64
++
+ -include ../tools.mk
+
+ all:
+diff --git a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
+index 5876fbc94b..5f167ece1a 100644
+--- a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
++++ b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
+@@ -1,3 +1,5 @@
++# ignore-test
++
+ -include ../tools.mk
+
+ all:
+diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
+index 9e77070685..6d92ec5cec 100644
+--- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
++++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
+@@ -1,3 +1,5 @@
++# ignore-test
++
+ -include ../tools.mk
+
+ all:
+diff --git a/src/test/run-pass/env-funky-keys.rs b/src/test/run-pass/env-funky-keys.rs
+index 79f32bd6c2..fc171687c9 100644
+--- a/src/test/run-pass/env-funky-keys.rs
++++ b/src/test/run-pass/env-funky-keys.rs
+@@ -1,5 +1,6 @@
+ // Ignore this test on Android, because it segfaults there.
+
++// ignore-test
+ // ignore-android
+ // ignore-windows
+ // ignore-cloudabi no execve
+diff --git a/src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs b/src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs
+index b28f742a92..3ee4ccce73 100644
+--- a/src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs
++++ b/src/test/run-pass/simd/simd-intrinsic-generic-bitmask.rs
+@@ -2,6 +2,8 @@
+ #![allow(non_camel_case_types)]
+
+ // ignore-emscripten
++// ignore-powerpc
++// ignore-powerpc64
+
+ // Test that the simd_bitmask intrinsic produces correct results.
+
+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.21.0
+
diff --git a/user/rust/0021-Link-stage-2-tools-dynamically-to-libstd.patch b/user/rust/0011-Link-stage-2-tools-dynamically-to-libstd.patch
index dfb43d9b7..e46aeac77 100644
--- a/user/rust/0021-Link-stage-2-tools-dynamically-to-libstd.patch
+++ b/user/rust/0011-Link-stage-2-tools-dynamically-to-libstd.patch
@@ -1,17 +1,17 @@
-From 0aac206a1c7af54f5974eb4043b0f821720f4bf7 Mon Sep 17 00:00:00 2001
+From 91549d8c4f37fd0756d2b95fffcb7055acb663d1 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 11/13] 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 23775a91e4..d79fede548 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/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/0022-Move-debugger-scripts-to-usr-share-rust.patch b/user/rust/0012-Move-debugger-scripts-to-usr-share-rust.patch
index a46ddcd45..449abc0cf 100644
--- a/user/rust/0022-Move-debugger-scripts-to-usr-share-rust.patch
+++ b/user/rust/0012-Move-debugger-scripts-to-usr-share-rust.patch
@@ -1,7 +1,7 @@
-From 347b144930e68e49dc27b3682751a1d4c13d81c5 Mon Sep 17 00:00:00 2001
+From 6ebe128c3440ee224fed5e0a2b8897df21ed55f2 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 12/13] Move debugger scripts to /usr/share/rust
---
src/bootstrap/dist.rs | 2 +-
@@ -10,11 +10,11 @@ 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 61a7705bd6..920e0ad1f1 100644
--- a/src/bootstrap/dist.rs
+++ b/src/bootstrap/dist.rs
-@@ -591,7 +591,7 @@ impl Step for DebuggerScripts {
- fn run(self, builder: &Builder) {
+@@ -597,7 +597,7 @@ impl Step for DebuggerScripts {
+ fn run(self, builder: &Builder<'_>) {
let host = self.host;
let sysroot = self.sysroot;
- let dst = sysroot.join("lib/rustlib/etc");
@@ -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/0013-Add-foxkit-target-specs.patch
index 982326bc6..c0e8cd4a2 100644
--- a/user/rust/0023-Add-foxkit-target-specs.patch
+++ b/user/rust/0013-Add-foxkit-target-specs.patch
@@ -1,17 +1,17 @@
-From 8094b006c75c38ab0e5d44d9b5c12a973949e512 Mon Sep 17 00:00:00 2001
+From fcf56fefa4b75f24430f69477d8cca8ee758fa41 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 13/13] Add foxkit target specs
---
- .../spec/aarch64_foxkit_linux_musl.rs | 21 +++++++++++++++++
- .../spec/armv7_foxkit_linux_musleabihf.rs | 21 +++++++++++++++++
- .../spec/i586_foxkit_linux_musl.rs | 23 +++++++++++++++++++
- src/librustc_target/spec/mod.rs | 7 ++++++
- .../spec/powerpc64_foxkit_linux_musl.rs | 21 +++++++++++++++++
- .../spec/powerpc_foxkit_linux_musl.rs | 23 +++++++++++++++++++
- .../spec/x86_64_foxkit_linux_musl.rs | 21 +++++++++++++++++
- 7 files changed, 137 insertions(+)
+ .../spec/aarch64_foxkit_linux_musl.rs | 11 +++++++++++
+ .../spec/armv7_foxkit_linux_musleabihf.rs | 11 +++++++++++
+ src/librustc_target/spec/i586_foxkit_linux_musl.rs | 13 +++++++++++++
+ src/librustc_target/spec/mod.rs | 7 +++++++
+ .../spec/powerpc64_foxkit_linux_musl.rs | 11 +++++++++++
+ .../spec/powerpc_foxkit_linux_musl.rs | 13 +++++++++++++
+ .../spec/x86_64_foxkit_linux_musl.rs | 11 +++++++++++
+ 7 files changed, 77 insertions(+)
create mode 100644 src/librustc_target/spec/aarch64_foxkit_linux_musl.rs
create mode 100644 src/librustc_target/spec/armv7_foxkit_linux_musleabihf.rs
create mode 100644 src/librustc_target/spec/i586_foxkit_linux_musl.rs
@@ -21,21 +21,11 @@ Subject: [PATCH 23/23] Add foxkit target specs
diff --git a/src/librustc_target/spec/aarch64_foxkit_linux_musl.rs b/src/librustc_target/spec/aarch64_foxkit_linux_musl.rs
new file mode 100644
-index 0000000000..18ad2c2f31
+index 0000000000..9ba8bc1deb
--- /dev/null
+++ b/src/librustc_target/spec/aarch64_foxkit_linux_musl.rs
-@@ -0,0 +1,21 @@
-+// 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::TargetResult;
+@@ -0,0 +1,11 @@
++use crate::spec::TargetResult;
+
+pub fn target() -> TargetResult {
+ let mut base = super::aarch64_unknown_linux_musl::target()?;
@@ -48,21 +38,11 @@ index 0000000000..18ad2c2f31
+}
diff --git a/src/librustc_target/spec/armv7_foxkit_linux_musleabihf.rs b/src/librustc_target/spec/armv7_foxkit_linux_musleabihf.rs
new file mode 100644
-index 0000000000..facfd5d363
+index 0000000000..5a88f77896
--- /dev/null
+++ b/src/librustc_target/spec/armv7_foxkit_linux_musleabihf.rs
-@@ -0,0 +1,21 @@
-+// 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::TargetResult;
+@@ -0,0 +1,11 @@
++use crate::spec::TargetResult;
+
+pub fn target() -> TargetResult {
+ let mut base = super::armv7_unknown_linux_musleabihf::target()?;
@@ -75,21 +55,11 @@ index 0000000000..facfd5d363
+}
diff --git a/src/librustc_target/spec/i586_foxkit_linux_musl.rs b/src/librustc_target/spec/i586_foxkit_linux_musl.rs
new file mode 100644
-index 0000000000..e0284d96e6
+index 0000000000..f0c4ffbf58
--- /dev/null
+++ b/src/librustc_target/spec/i586_foxkit_linux_musl.rs
-@@ -0,0 +1,23 @@
-+// 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, TargetResult};
+@@ -0,0 +1,13 @@
++use crate::spec::{LinkerFlavor, TargetResult};
+
+pub fn target() -> TargetResult {
+ let mut base = super::i586_unknown_linux_musl::target()?;
@@ -103,40 +73,30 @@ 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 46fefd78f4..7cdcb319c6 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),
+@@ -329,6 +329,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
+index 0000000000..b105aa247e
--- /dev/null
+++ b/src/librustc_target/spec/powerpc64_foxkit_linux_musl.rs
-@@ -0,0 +1,21 @@
-+// 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::TargetResult;
+@@ -0,0 +1,11 @@
++use crate::spec::TargetResult;
+
+pub fn target() -> TargetResult {
+ let mut base = super::powerpc64_unknown_linux_musl::target()?;
@@ -149,21 +109,11 @@ index 0000000000..b7202ee0fc
+}
diff --git a/src/librustc_target/spec/powerpc_foxkit_linux_musl.rs b/src/librustc_target/spec/powerpc_foxkit_linux_musl.rs
new file mode 100644
-index 0000000000..34246a7e28
+index 0000000000..a425f472aa
--- /dev/null
+++ b/src/librustc_target/spec/powerpc_foxkit_linux_musl.rs
-@@ -0,0 +1,23 @@
-+// 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, TargetResult};
+@@ -0,0 +1,13 @@
++use crate::spec::{LinkerFlavor, TargetResult};
+
+pub fn target() -> TargetResult {
+ let mut base = super::powerpc_unknown_linux_musl::target()?;
@@ -178,21 +128,11 @@ index 0000000000..34246a7e28
+}
diff --git a/src/librustc_target/spec/x86_64_foxkit_linux_musl.rs b/src/librustc_target/spec/x86_64_foxkit_linux_musl.rs
new file mode 100644
-index 0000000000..801dd8d6f4
+index 0000000000..40adbd77b3
--- /dev/null
+++ b/src/librustc_target/spec/x86_64_foxkit_linux_musl.rs
-@@ -0,0 +1,21 @@
-+// 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::TargetResult;
+@@ -0,0 +1,11 @@
++use crate::spec::TargetResult;
+
+pub fn target() -> TargetResult {
+ let mut base = super::x86_64_unknown_linux_musl::target()?;
@@ -204,5 +144,5 @@ index 0000000000..801dd8d6f4
+ Ok(base)
+}
--
-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/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/0020-Ignore-broken-and-non-applicable-tests.patch b/user/rust/0020-Ignore-broken-and-non-applicable-tests.patch
deleted file mode 100644
index 3305b52d0..000000000
--- a/user/rust/0020-Ignore-broken-and-non-applicable-tests.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 5fd5ee6042170262f6832b65a90c54989f6a9847 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
-
-long-linker-command-lines: takes >10 minutes to run (but still passes)
-sparc-struct-abi: no sparc target
-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(-)
-
-diff --git a/src/test/codegen/sparc-struct-abi.rs b/src/test/codegen/sparc-struct-abi.rs
-index 56c4364d59..9aebf8f002 100644
---- a/src/test/codegen/sparc-struct-abi.rs
-+++ b/src/test/codegen/sparc-struct-abi.rs
-@@ -13,6 +13,7 @@
-
- // only-sparc64
- // compile-flags: -O --target=sparc64-unknown-linux-gnu --crate-type=rlib
-+// ignore-test
- #![feature(no_core, lang_items)]
- #![no_core]
-
-diff --git a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
-index 5876fbc94b..e9f5c33b77 100644
---- a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
-+++ b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
-@@ -2,4 +2,3 @@
-
- all:
- $(RUSTC) foo.rs -g -O
-- RUSTC="$(RUSTC_ORIGINAL)" $(call RUN,foo)
-diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-index 9e77070685..7784230b46 100644
---- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-+++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-@@ -1,4 +1,4 @@
- -include ../tools.mk
-
- all:
-- env '$(HOST_RPATH_ENV)' python2.7 test.py
-+ true
---
-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..2454acdb3
--- /dev/null
+++ b/user/rust/0030-libc-linkage.patch
@@ -0,0 +1,33 @@
+--- rustc-1.35.0-src/vendor/libc/src/lib.rs
++++ rustc-1.35.0-src/vendor/libc/src/lib.rs
+@@ -26,6 +26,7 @@
+ #![deny(missing_copy_implementations, safe_packed_borrows)]
+ #![no_std]
+ #![cfg_attr(feature = "rustc-dep-of-std", no_core)]
++#![cfg_attr(feature = "rustc-dep-of-std", feature(static_nobundle))]
+
+ #[macro_use]
+ mod macros;
+--- rustc-1.35.0-src/vendor/libc/src/unix/mod.rs
++++ rustc-1.35.0-src/vendor/libc/src/unix/mod.rs
+@@ -307,11 +307,11 @@ 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")] {
++ #[link(name = "c")]
++ extern {}
+ #[cfg_attr(feature = "rustc-dep-of-std",
+- link(name = "c", kind = "static",
++ link(name = "gcc", kind = "static-nobundle",
+ cfg(target_feature = "crt-static")))]
+- #[cfg_attr(feature = "rustc-dep-of-std",
+- link(name = "c", cfg(not(target_feature = "crt-static"))))]
+ extern {}
+ } else if #[cfg(target_os = "emscripten")] {
+ #[link(name = "c")]
+--- rustc-1.35.0-src/vendor/libc/.cargo-checksum.json
++++ rustc-1.35.0-src/vendor/libc/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"CONTRIBUTING.md":"abc79e7f6c3eee37e21baca32847b6709c973f4995b32892e80deb56b73c9ac5","Cargo.toml":"c150fb3c5d9159cce669ff588684190f7b177d3aec39c543625a714d6630b9e5","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"35582cfa483e7676b25ae4a07064a19443f4942f5e60e43b91632fcd6ae95156","build.rs":"e9b7364366a5b4caa9daa436ab8a3469532fe63d5fae4d3b2e5ff59d32ff3f3a","rustfmt.toml":"8a654d5787585ca8f2c20580737336fc327f411a07b0dbd4870adf6e9bdf624f","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"037c1a3160ae3bc336f6f7135476704e7f5e834e4039fa02b37f03b507118945","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/fuchsia/aarch64.rs":"40dce617877e606e92353491e1913711b1ecfa510bb983156f4a8460f490419e","src/fuchsia/align.rs":"9ca6271f2cbb0e6ca3b48ff6898ecee31c89b3c8388ae20be63e457aabad13a5","src/fuchsia/mod.rs":"fcadc9203451d5c04c36044f8b4cda7f64815c180446e87dbd02fbf7e6fda0f2","src/fuchsia/no_align.rs":"56868534e4ed3f94a27ed39c42f01210c8ecfdbafd4e27679860fbc65a2ae8de","src/fuchsia/x86_64.rs":"911d1249370cf1b0b7b38960cae28af1276f0f614cfcbf5174dbaa38be3dff1d","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"9d764e53df81416a5182b71a26402d2071fc0c15160103b6670b6b268fc356da","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"b0d525e3da42b1fde74356f3856e9054254eaefb260c2da8a253b025754c8770","src/macros.rs":"8232e284068d34336713535595fad3c910093346be32e72bde3d3d03327ec6b8","src/redox/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/redox/mod.rs":"34f132e794dc25bbb0e3c08b7f87e4508ce62e0aac00acf39dcdb0f246d7dfc0","src/redox/net.rs":"351960c3a3ad9b296fe43533cac429434e0872c8cca5ad5047dce79d82e009ee","src/redox/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/sgx.rs":"7ff2fbf3e5ad1c880014d68e012f4381a9b9140d13089193b9fba07a7f27c352","src/switch.rs":"fe1414ca053b73cf8a5f54448e807abe81c776c6ac0dfe47ea7772c8140f50b6","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32.rs":"0095a17e49fa423cab8644c722a375b88f5c0cf56fa456b549738d98131bb2f9","src/unix/bsd/apple/b64.rs":"99fbd3e6d2c969080631e23f58deffa51cb3f42b7a08395b49556f19bb40d4e1","src/unix/bsd/apple/mod.rs":"e1959b482dc3c1703eb032b5d6e269c434326dc3eae9f99bb88d51c732cd3df0","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"2cb0a5d10a3c5721d10209ad7ddc59f6756b2c1d4bc89450988053efad788eb6","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"4dcd712c0dd5470171746071a176391f937de7865dd0792173284992d9e3f2c7","src/unix/bsd/freebsdlike/freebsd/arm.rs":"84cf36223f0229cb383036563a4902731543e89b37e4dfe2f450cced566d8545","src/unix/bsd/freebsdlike/freebsd/mod.rs":"0752dc1097fd5e94aabfe7b6d4ead2b94e5c0540e2cd3c8efee883bba13e1a0c","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"9873f41843cbf066f6ffab8eeb63115095f81ce9fa8f337b95ec871e40c6565d","src/unix/bsd/freebsdlike/freebsd/x86.rs":"716cb67cd0aea66d4a8e40470d32b55cbfafddf75edd34a90f70d518c8c75457","src/unix/bsd/freebsdlike/freebsd/x86_64.rs":"dd3d8a546730f09b1ef0dfeeb20244eef01d1b4028799b28b3a0c33ae05d5002","src/unix/bsd/freebsdlike/mod.rs":"2938bb8b0a0f1d66912bdb4bac3e59863bd90787fe49e1d3a522098acfdb2b7a","src/unix/bsd/mod.rs":"0e92970853a9efbb51a17b9cb8009eb4e9a04cbf12d0e315659d240812c1e760","src/unix/bsd/netbsdlike/mod.rs":"77b85ecd2187df55466663f6af624416d9c99922065c6fbd0438d5b7063db89c","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"b38fc046f9a40fea28bd26328b96629f4d5d63d7524936bd6af1865d401a8716","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"75adb8d6ee202d50487913c245e1a880447582f45e1ef6339743305a13fb5719","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"135509edeaf3fb3f102d89d51ff1a8f82323497336a8dc7e1f0f23b5c2434b73","src/unix/bsd/netbsdlike/openbsdlike/bitrig/mod.rs":"51dd68ca3c3eab0f1fe496b0dc12ad8b85f8cf964af0c2c95ab9834ad03938a8","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":"c8d18b725c62c2f1a3c5e42d875e1a3b167c13a1bd6ae3d35f35a6ec29402f81","src/unix/bsd/netbsdlike/openbsdlike/openbsd/aarch64.rs":"ee0057fb97a5e16e46e0f8e4a215f6141b68ea75dd6cb5d53166bee2431082e2","src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs":"a3fb2cfc0e100c860dff1674a90693d57e66b7f12861155ceb42c2de372454bd","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86.rs":"1201371a662cb3515ebb42676cdca9199da7bf4d7c8f90b56f00db03a9fc61f7","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86_64.rs":"26ef6f50740fad5bb722e0f30025c369c287b2204489682319f7b24fce6de98d","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"b451e320e5c98d6b2e7fcb804e2be6669783510011ebd8dea27d64acbf955774","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"d97797fe66dd43c61f6f895596f6a57145b4c9ef61edd93c8ff9b497a2d28411","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/mod.rs":"f9a63de7c9566cdaa970daeb3828887f7b2d8bf090da86be1a15c32288ae3da3","src/unix/newlib/aarch64/mod.rs":"c408a990f22fb4292a824f38367e9b517e6e6f8623328397ee631cc88b3d1f7d","src/unix/newlib/align.rs":"04e9b1ac6ca4af24fe5170385249fd64039ebf7f4817c5ceed3a303f3bc8a4aa","src/unix/newlib/arm/mod.rs":"2b6dba2e697ab9b4f4bc4dd5f28057249e9b596d1cb395a9322ec87605c4a5c4","src/unix/newlib/mod.rs":"e73d1b49662581382c91b3d4615d21812df58bf5477a3eba5c1df8a4c00a1c43","src/unix/newlib/no_align.rs":"7123dcec13604a11b7765c380ff3a4d0da19c39f4b03919de7857723c0cf1502","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/notbsd/android/b32/arm.rs":"3625a32c7e58cfe683a53486fbe3d42d4e28f00bea31e19cb46ed2bb0b6a140b","src/unix/notbsd/android/b32/mod.rs":"05a714a785fa94a5131af3d59612ce1e9a5823b3327eb2a23de8ad0ce125c377","src/unix/notbsd/android/b32/x86.rs":"ae2b7f1d6278caddc007749bb1d09ca33f7593478a0fd7fe98b457dae86c7814","src/unix/notbsd/android/b64/aarch64.rs":"63d65629d79371814910f691672ef593d20244ee09be26f1ebe07ee6212d0163","src/unix/notbsd/android/b64/mod.rs":"d3bcb20e70d29a450577c09706bb520fab09d0cb3102755736867bf8a957319c","src/unix/notbsd/android/b64/x86_64.rs":"5547aef8dcbaa5a932559f34606fd8d89f6c9c15173d2b1412c12d39b3c1045f","src/unix/notbsd/android/mod.rs":"87dcb5bb8edf9ca2a7e7715f28c44c1330f15419d6d4f9422a81a61b6cf27a8c","src/unix/notbsd/emscripten/align.rs":"dee06bccb5f1a58bd498468f204b8f1d8f2c2a536c595d31e730330a79af7ea5","src/unix/notbsd/emscripten/mod.rs":"42947782f571b56cc1b1c1f4364bb35519bcc44ab8aca53bb13bfd46904de1e0","src/unix/notbsd/emscripten/no_align.rs":"f3960b1d6ede1f8f9d51407a3de5337d44dd5d954e1a4c2bf0ea11e76f2629da","src/unix/notbsd/linux/align.rs":"f2520d03b411519161eaaf043f1948b3279509a3f272b2958bca1d1aeda0434d","src/unix/notbsd/linux/mips/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/notbsd/linux/mips/mips32.rs":"96153abc38b10309e64cb49b1a1e4107be70dbc40bc54ba0372a4573b098b514","src/unix/notbsd/linux/mips/mips64.rs":"9bd96aa81cb0f536c3607d0a2906f4be7a44c3f89e40d5955a898835f04f0e15","src/unix/notbsd/linux/mips/mod.rs":"9a67a2f4043907a50a43569c06ffb4890aefa8db1c26a8737c6bb4bd3e39d90e","src/unix/notbsd/linux/mips/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/notbsd/linux/mod.rs":"895c6d0c1ee5436592e35b4dd87ea361ab81b750d45250b0ff850ac1cef4750d","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":"adf8bb67b47995760aab14f04ae671ebd8ecca5579e90314612f46cb79b30cc2","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":"19197260a6d06ee521a5aa40a1860b7be33176d0f52bc92d56165fc42729cbd5","src/unix/notbsd/linux/musl/mod.rs":"13d766411fa206b987567e7c802dfe7585e6b7f002fe13ec0fbc810e522b7e2d","src/unix/notbsd/linux/no_align.rs":"7a1cc536b26c22019d7dab6b6db3a8c9edbb753d3f37a7985c30d8894c2c6b06","src/unix/notbsd/linux/other/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","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":"fea38039a1908ddeb90672b8ef246c743eec6758663a79aea401e21ef40a736d","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":"017cb7cf2810bc633e21879a8951a2c10031c500648e5eb4accc6c88b58ecaa3","src/unix/notbsd/linux/other/mod.rs":"a980e9e3853f8e24498d6cd185c38097710757654480ca460f6378ffeeddf5ef","src/unix/notbsd/linux/other/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/notbsd/linux/s390x/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/notbsd/linux/s390x/mod.rs":"b01d158eefce4c31f377b63964d253f9934f7468af35a24474a163ad3725796a","src/unix/notbsd/linux/s390x/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/notbsd/mod.rs":"5cfdcf78b70b4e4ef4a3733cac364a0bc2512dee798f897a8db7d78d4dd194a6","src/unix/solarish/compat.rs":"8db2a43eafbd3504e9eb9e8f18416c57d947798871bd45be3e2fb9946e292610","src/unix/solarish/mod.rs":"c6a740dac9af99321f48d5c9e86c6a4f5dcc611c413263881764f7121c1f7e9d","src/unix/uclibc/align.rs":"5607180357a9e3d87163e478116b45c7ece391d8366d65ff856cdf3e849452d7","src/unix/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/arm/mod.rs":"66d54a7028a422fe331028441d1b1f18cf34bb2deff2a9e5220384b6e10dcc40","src/unix/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/mips/mips32/mod.rs":"d1a1af63b583b170d5c94b46a04589a11b9d4f8dc658ab8c74302bae656d0e85","src/unix/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/uclibc/mips/mips64/mod.rs":"03f3bad1c681e6fde4a8ed999ce1d38313166c17d35eded66bd6b4f8387efeb7","src/unix/uclibc/mips/mips64/no_align.rs":"bf11b59caa173a6d94d86f42a8de9c5682f798647fba3a17169214b59ab467fe","src/unix/uclibc/mips/mod.rs":"2d76e6cfeb2b7f7c59231a6e099f1aed811a45659e62153aaf00c220b9488a9d","src/unix/uclibc/mod.rs":"924f95073f77047b1f72de3d933852d1df13b19906a63c5974a64032f1bb772c","src/unix/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/uclibc/x86_64/align.rs":"26e48fc79dbdeee4408ae8e071aa90e1be34ccdf0c135689b805aa4abd568e5e","src/unix/uclibc/x86_64/l4re.rs":"bb31053d6403091e11f95ac2203982f279f8b984a19adf30796878c45fdd8c25","src/unix/uclibc/x86_64/mod.rs":"df78de7e0234192c0559b9820c0034a24d72a0820d361f9aad05a9eac36e80ff","src/unix/uclibc/x86_64/no_align.rs":"b308f7b110caf7405b57186882cfc4804caae49a8287f8ab612ec8548467f2f4","src/unix/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/wasi.rs":"84e88b124249816db0976cda78515af3ee3eedacbcd69ae388dc2a6bc757dcd4","src/windows/gnu.rs":"4d9033162cc6f7d245256c7b165c1ec18a741771fd9b99a55b421e8d14978599","src/windows/mod.rs":"2761f3f80c8af5c04e685af8ac3a2bc8c7d6de91cbad9b96a3a6dae67457a891","src/windows/msvc.rs":"8f46cf66883c794175609a3b2bafaa094d0ba63eb6720ef1b84b175603f1074f"},"package":"bedcc7a809076656486ffe045abeeac163da1b558e963a31e29fbfbeba916917"}
+\ No newline at end of file
++{"files":{"CONTRIBUTING.md":"abc79e7f6c3eee37e21baca32847b6709c973f4995b32892e80deb56b73c9ac5","Cargo.toml":"c150fb3c5d9159cce669ff588684190f7b177d3aec39c543625a714d6630b9e5","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"35582cfa483e7676b25ae4a07064a19443f4942f5e60e43b91632fcd6ae95156","build.rs":"e9b7364366a5b4caa9daa436ab8a3469532fe63d5fae4d3b2e5ff59d32ff3f3a","rustfmt.toml":"8a654d5787585ca8f2c20580737336fc327f411a07b0dbd4870adf6e9bdf624f","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"037c1a3160ae3bc336f6f7135476704e7f5e834e4039fa02b37f03b507118945","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/fuchsia/aarch64.rs":"40dce617877e606e92353491e1913711b1ecfa510bb983156f4a8460f490419e","src/fuchsia/align.rs":"9ca6271f2cbb0e6ca3b48ff6898ecee31c89b3c8388ae20be63e457aabad13a5","src/fuchsia/mod.rs":"fcadc9203451d5c04c36044f8b4cda7f64815c180446e87dbd02fbf7e6fda0f2","src/fuchsia/no_align.rs":"56868534e4ed3f94a27ed39c42f01210c8ecfdbafd4e27679860fbc65a2ae8de","src/fuchsia/x86_64.rs":"911d1249370cf1b0b7b38960cae28af1276f0f614cfcbf5174dbaa38be3dff1d","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"9d764e53df81416a5182b71a26402d2071fc0c15160103b6670b6b268fc356da","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"7e80726ac2e4fe5d1354950e93055120b5e3babc339f0315bf34bc7eb8f4c937","src/macros.rs":"8232e284068d34336713535595fad3c910093346be32e72bde3d3d03327ec6b8","src/redox/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/redox/mod.rs":"34f132e794dc25bbb0e3c08b7f87e4508ce62e0aac00acf39dcdb0f246d7dfc0","src/redox/net.rs":"351960c3a3ad9b296fe43533cac429434e0872c8cca5ad5047dce79d82e009ee","src/redox/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/sgx.rs":"7ff2fbf3e5ad1c880014d68e012f4381a9b9140d13089193b9fba07a7f27c352","src/switch.rs":"fe1414ca053b73cf8a5f54448e807abe81c776c6ac0dfe47ea7772c8140f50b6","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32.rs":"0095a17e49fa423cab8644c722a375b88f5c0cf56fa456b549738d98131bb2f9","src/unix/bsd/apple/b64.rs":"99fbd3e6d2c969080631e23f58deffa51cb3f42b7a08395b49556f19bb40d4e1","src/unix/bsd/apple/mod.rs":"e1959b482dc3c1703eb032b5d6e269c434326dc3eae9f99bb88d51c732cd3df0","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"2cb0a5d10a3c5721d10209ad7ddc59f6756b2c1d4bc89450988053efad788eb6","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"4dcd712c0dd5470171746071a176391f937de7865dd0792173284992d9e3f2c7","src/unix/bsd/freebsdlike/freebsd/arm.rs":"84cf36223f0229cb383036563a4902731543e89b37e4dfe2f450cced566d8545","src/unix/bsd/freebsdlike/freebsd/mod.rs":"0752dc1097fd5e94aabfe7b6d4ead2b94e5c0540e2cd3c8efee883bba13e1a0c","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"9873f41843cbf066f6ffab8eeb63115095f81ce9fa8f337b95ec871e40c6565d","src/unix/bsd/freebsdlike/freebsd/x86.rs":"716cb67cd0aea66d4a8e40470d32b55cbfafddf75edd34a90f70d518c8c75457","src/unix/bsd/freebsdlike/freebsd/x86_64.rs":"dd3d8a546730f09b1ef0dfeeb20244eef01d1b4028799b28b3a0c33ae05d5002","src/unix/bsd/freebsdlike/mod.rs":"2938bb8b0a0f1d66912bdb4bac3e59863bd90787fe49e1d3a522098acfdb2b7a","src/unix/bsd/mod.rs":"0e92970853a9efbb51a17b9cb8009eb4e9a04cbf12d0e315659d240812c1e760","src/unix/bsd/netbsdlike/mod.rs":"77b85ecd2187df55466663f6af624416d9c99922065c6fbd0438d5b7063db89c","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"b38fc046f9a40fea28bd26328b96629f4d5d63d7524936bd6af1865d401a8716","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"75adb8d6ee202d50487913c245e1a880447582f45e1ef6339743305a13fb5719","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"135509edeaf3fb3f102d89d51ff1a8f82323497336a8dc7e1f0f23b5c2434b73","src/unix/bsd/netbsdlike/openbsdlike/bitrig/mod.rs":"51dd68ca3c3eab0f1fe496b0dc12ad8b85f8cf964af0c2c95ab9834ad03938a8","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":"c8d18b725c62c2f1a3c5e42d875e1a3b167c13a1bd6ae3d35f35a6ec29402f81","src/unix/bsd/netbsdlike/openbsdlike/openbsd/aarch64.rs":"ee0057fb97a5e16e46e0f8e4a215f6141b68ea75dd6cb5d53166bee2431082e2","src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs":"a3fb2cfc0e100c860dff1674a90693d57e66b7f12861155ceb42c2de372454bd","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86.rs":"1201371a662cb3515ebb42676cdca9199da7bf4d7c8f90b56f00db03a9fc61f7","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86_64.rs":"26ef6f50740fad5bb722e0f30025c369c287b2204489682319f7b24fce6de98d","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"b451e320e5c98d6b2e7fcb804e2be6669783510011ebd8dea27d64acbf955774","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"d97797fe66dd43c61f6f895596f6a57145b4c9ef61edd93c8ff9b497a2d28411","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/mod.rs":"ca64d5483b17632ac0b1366edaa715f64b1aed696a7e038a7e49b726a22f871f","src/unix/newlib/aarch64/mod.rs":"c408a990f22fb4292a824f38367e9b517e6e6f8623328397ee631cc88b3d1f7d","src/unix/newlib/align.rs":"04e9b1ac6ca4af24fe5170385249fd64039ebf7f4817c5ceed3a303f3bc8a4aa","src/unix/newlib/arm/mod.rs":"2b6dba2e697ab9b4f4bc4dd5f28057249e9b596d1cb395a9322ec87605c4a5c4","src/unix/newlib/mod.rs":"e73d1b49662581382c91b3d4615d21812df58bf5477a3eba5c1df8a4c00a1c43","src/unix/newlib/no_align.rs":"7123dcec13604a11b7765c380ff3a4d0da19c39f4b03919de7857723c0cf1502","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/notbsd/android/b32/arm.rs":"3625a32c7e58cfe683a53486fbe3d42d4e28f00bea31e19cb46ed2bb0b6a140b","src/unix/notbsd/android/b32/mod.rs":"05a714a785fa94a5131af3d59612ce1e9a5823b3327eb2a23de8ad0ce125c377","src/unix/notbsd/android/b32/x86.rs":"ae2b7f1d6278caddc007749bb1d09ca33f7593478a0fd7fe98b457dae86c7814","src/unix/notbsd/android/b64/aarch64.rs":"63d65629d79371814910f691672ef593d20244ee09be26f1ebe07ee6212d0163","src/unix/notbsd/android/b64/mod.rs":"d3bcb20e70d29a450577c09706bb520fab09d0cb3102755736867bf8a957319c","src/unix/notbsd/android/b64/x86_64.rs":"5547aef8dcbaa5a932559f34606fd8d89f6c9c15173d2b1412c12d39b3c1045f","src/unix/notbsd/android/mod.rs":"87dcb5bb8edf9ca2a7e7715f28c44c1330f15419d6d4f9422a81a61b6cf27a8c","src/unix/notbsd/emscripten/align.rs":"dee06bccb5f1a58bd498468f204b8f1d8f2c2a536c595d31e730330a79af7ea5","src/unix/notbsd/emscripten/mod.rs":"42947782f571b56cc1b1c1f4364bb35519bcc44ab8aca53bb13bfd46904de1e0","src/unix/notbsd/emscripten/no_align.rs":"f3960b1d6ede1f8f9d51407a3de5337d44dd5d954e1a4c2bf0ea11e76f2629da","src/unix/notbsd/linux/align.rs":"f2520d03b411519161eaaf043f1948b3279509a3f272b2958bca1d1aeda0434d","src/unix/notbsd/linux/mips/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/notbsd/linux/mips/mips32.rs":"96153abc38b10309e64cb49b1a1e4107be70dbc40bc54ba0372a4573b098b514","src/unix/notbsd/linux/mips/mips64.rs":"9bd96aa81cb0f536c3607d0a2906f4be7a44c3f89e40d5955a898835f04f0e15","src/unix/notbsd/linux/mips/mod.rs":"9a67a2f4043907a50a43569c06ffb4890aefa8db1c26a8737c6bb4bd3e39d90e","src/unix/notbsd/linux/mips/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/notbsd/linux/mod.rs":"895c6d0c1ee5436592e35b4dd87ea361ab81b750d45250b0ff850ac1cef4750d","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":"adf8bb67b47995760aab14f04ae671ebd8ecca5579e90314612f46cb79b30cc2","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":"19197260a6d06ee521a5aa40a1860b7be33176d0f52bc92d56165fc42729cbd5","src/unix/notbsd/linux/musl/mod.rs":"13d766411fa206b987567e7c802dfe7585e6b7f002fe13ec0fbc810e522b7e2d","src/unix/notbsd/linux/no_align.rs":"7a1cc536b26c22019d7dab6b6db3a8c9edbb753d3f37a7985c30d8894c2c6b06","src/unix/notbsd/linux/other/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","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":"fea38039a1908ddeb90672b8ef246c743eec6758663a79aea401e21ef40a736d","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":"017cb7cf2810bc633e21879a8951a2c10031c500648e5eb4accc6c88b58ecaa3","src/unix/notbsd/linux/other/mod.rs":"a980e9e3853f8e24498d6cd185c38097710757654480ca460f6378ffeeddf5ef","src/unix/notbsd/linux/other/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/notbsd/linux/s390x/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/notbsd/linux/s390x/mod.rs":"b01d158eefce4c31f377b63964d253f9934f7468af35a24474a163ad3725796a","src/unix/notbsd/linux/s390x/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/notbsd/mod.rs":"5cfdcf78b70b4e4ef4a3733cac364a0bc2512dee798f897a8db7d78d4dd194a6","src/unix/solarish/compat.rs":"8db2a43eafbd3504e9eb9e8f18416c57d947798871bd45be3e2fb9946e292610","src/unix/solarish/mod.rs":"c6a740dac9af99321f48d5c9e86c6a4f5dcc611c413263881764f7121c1f7e9d","src/unix/uclibc/align.rs":"5607180357a9e3d87163e478116b45c7ece391d8366d65ff856cdf3e849452d7","src/unix/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/arm/mod.rs":"66d54a7028a422fe331028441d1b1f18cf34bb2deff2a9e5220384b6e10dcc40","src/unix/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/mips/mips32/mod.rs":"d1a1af63b583b170d5c94b46a04589a11b9d4f8dc658ab8c74302bae656d0e85","src/unix/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/uclibc/mips/mips64/mod.rs":"03f3bad1c681e6fde4a8ed999ce1d38313166c17d35eded66bd6b4f8387efeb7","src/unix/uclibc/mips/mips64/no_align.rs":"bf11b59caa173a6d94d86f42a8de9c5682f798647fba3a17169214b59ab467fe","src/unix/uclibc/mips/mod.rs":"2d76e6cfeb2b7f7c59231a6e099f1aed811a45659e62153aaf00c220b9488a9d","src/unix/uclibc/mod.rs":"924f95073f77047b1f72de3d933852d1df13b19906a63c5974a64032f1bb772c","src/unix/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/uclibc/x86_64/align.rs":"26e48fc79dbdeee4408ae8e071aa90e1be34ccdf0c135689b805aa4abd568e5e","src/unix/uclibc/x86_64/l4re.rs":"bb31053d6403091e11f95ac2203982f279f8b984a19adf30796878c45fdd8c25","src/unix/uclibc/x86_64/mod.rs":"df78de7e0234192c0559b9820c0034a24d72a0820d361f9aad05a9eac36e80ff","src/unix/uclibc/x86_64/no_align.rs":"b308f7b110caf7405b57186882cfc4804caae49a8287f8ab612ec8548467f2f4","src/unix/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/wasi.rs":"84e88b124249816db0976cda78515af3ee3eedacbcd69ae388dc2a6bc757dcd4","src/windows/gnu.rs":"4d9033162cc6f7d245256c7b165c1ec18a741771fd9b99a55b421e8d14978599","src/windows/mod.rs":"2761f3f80c8af5c04e685af8ac3a2bc8c7d6de91cbad9b96a3a6dae67457a891","src/windows/msvc.rs":"8f46cf66883c794175609a3b2bafaa094d0ba63eb6720ef1b84b175603f1074f"},"package":"bedcc7a809076656486ffe045abeeac163da1b558e963a31e29fbfbeba916917"}
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/0031-typenum-pmmx.patch b/user/rust/0031-typenum-pmmx.patch
new file mode 100644
index 000000000..6b3c5df57
--- /dev/null
+++ b/user/rust/0031-typenum-pmmx.patch
@@ -0,0 +1,33 @@
+From 0d5196feadafa77c727f517d747ffcf3fd0e8ba9 Mon Sep 17 00:00:00 2001
+From: Michael Hudson-Doyle <michael.hudson@canonical.com>
+Date: Wed, 13 Mar 2019 15:55:30 +1300
+Subject: [PATCH] round result of (highest as f64).log(2.0)
+
+Even though (1024f64).log(2.0) has an exact, representable, value, with
+rustc 1.32 on i386 it comes out as +9.999999999999999985 with
+optimization enabled. And the rustc doesn't like having two defintions
+for U1024 etc.
+
+---
+ build/main.rs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git rustc-1.35.0-src/vendor/typenum/build/main.rs rustc-1.35.0-src/vendor/typenum/build/main.rs
+index 16b0ffe2f..b7939f993 100644
+--- rustc-1.35.0-src/vendor/typenum/build/main.rs
++++ rustc-1.35.0-src/vendor/typenum/build/main.rs
+@@ -81,7 +81,7 @@ pub fn no_std() {}
+ fn main() {
+ let highest: u64 = 1024;
+
+- let first2: u32 = (highest as f64).log(2.0) as u32 + 1;
++ let first2: u32 = (highest as f64).log(2.0).round() as u32 + 1;
+ let first10: u32 = (highest as f64).log(10.0) as u32 + 1;
+ let uints = (0..(highest + 1))
+ .chain((first2..64).map(|i| 2u64.pow(i)))
+--- rustc-1.35.0-src/vendor/typenum/.cargo-checksum.json
++++ rustc-1.35.0-src/vendor/typenum/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"CHANGELOG.md":"caf37574d41c38570e892c4fed38cbc2fd22794ec512949c1f0faad1d866fced","Cargo.toml":"58822547c70a09449e6a069e6c197423a9e471d993ebf4ea20101e042781edf7","LICENSE":"a825bd853ab71619a4923d7b4311221427848070ff44d990da39b0b274c1683f","README.md":"7a19a1fb2f219fbc270535e0fee2caa96968b976cd74d33d12e2f2ef436d0895","build/main.rs":"44d33ee79a76a90a769096547ba4c7a5d3822afffeed025dfbcc5bb755227d52","build/op.rs":"a393b6818384a50688db8cb923891f86ccce39a9dccbf7c684efb9bef83b4acf","build/tests.rs":"a04fd3185ea8b19c36cb939178e5fedf16b4b36c2df0a2e79593339d998bd1ce","src/array.rs":"7243dbe44f3818c852c67bd0c3af14d57473fb9c3efda2c0d98251b3fe8b4d57","src/bit.rs":"023f9f6768331ac17de72b6248c6a9d6a7b856842f56067c9c1e04b729ed9e04","src/int.rs":"de4c49717a7a40572e579fad2380f29698c5571844ff1462e368531072dba55e","src/lib.rs":"2a58ff8553851eb6b9d7fa70315d688431dd0573f8491e53cfe799a092347b96","src/marker_traits.rs":"abf73f3930b5129d01aaa64c51275c4ca4ce0ef8961f7a9e744ee731d6308200","src/operator_aliases.rs":"43eb6a29dc0387ec329df5d9af0b4479a1301b3a9b2304c3b7b7d8c03e01ff5d","src/private.rs":"48c572aa27bd444062eadb4bd3f5ca38c1e6efb66bc074f38555499b33f0dcaf","src/type_operators.rs":"df9ef3ae2a69d56258db41f8166342a65f6e4085581709140719d1b7e3916bb9","src/uint.rs":"df4fdad3110a7e08fdc21e49f7e82fd525d6a78fcf904a766729aa47c0200727","tests/test.rs":"1e559fadf0af1a38d7049caef26e3a162c58ea5e024aa637299376d776986549"},"package":"612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"}
+\ No newline at end of file
++{"files":{"CHANGELOG.md":"caf37574d41c38570e892c4fed38cbc2fd22794ec512949c1f0faad1d866fced","Cargo.toml":"58822547c70a09449e6a069e6c197423a9e471d993ebf4ea20101e042781edf7","LICENSE":"a825bd853ab71619a4923d7b4311221427848070ff44d990da39b0b274c1683f","README.md":"7a19a1fb2f219fbc270535e0fee2caa96968b976cd74d33d12e2f2ef436d0895","build/main.rs":"38a90c85068bb6bba1d21e9d5976e693b9b868ed0c16b26986332d2ca1c01047","build/op.rs":"a393b6818384a50688db8cb923891f86ccce39a9dccbf7c684efb9bef83b4acf","build/tests.rs":"a04fd3185ea8b19c36cb939178e5fedf16b4b36c2df0a2e79593339d998bd1ce","src/array.rs":"7243dbe44f3818c852c67bd0c3af14d57473fb9c3efda2c0d98251b3fe8b4d57","src/bit.rs":"023f9f6768331ac17de72b6248c6a9d6a7b856842f56067c9c1e04b729ed9e04","src/int.rs":"de4c49717a7a40572e579fad2380f29698c5571844ff1462e368531072dba55e","src/lib.rs":"2a58ff8553851eb6b9d7fa70315d688431dd0573f8491e53cfe799a092347b96","src/marker_traits.rs":"abf73f3930b5129d01aaa64c51275c4ca4ce0ef8961f7a9e744ee731d6308200","src/operator_aliases.rs":"43eb6a29dc0387ec329df5d9af0b4479a1301b3a9b2304c3b7b7d8c03e01ff5d","src/private.rs":"48c572aa27bd444062eadb4bd3f5ca38c1e6efb66bc074f38555499b33f0dcaf","src/type_operators.rs":"df9ef3ae2a69d56258db41f8166342a65f6e4085581709140719d1b7e3916bb9","src/uint.rs":"df4fdad3110a7e08fdc21e49f7e82fd525d6a78fcf904a766729aa47c0200727","tests/test.rs":"1e559fadf0af1a38d7049caef26e3a162c58ea5e024aa637299376d776986549"},"package":"612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"}
diff --git a/user/rust/0040-rls-atomics.patch b/user/rust/0040-rls-atomics.patch
index 4dd813faa..d9aedb9af 100644
--- a/user/rust/0040-rls-atomics.patch
+++ b/user/rust/0040-rls-atomics.patch
@@ -1,17 +1,15 @@
-diff --git a/src/tools/rls/src/cmd.rs b/src/tools/rls/src/cmd.rs
-index 64035aa..d9129d8 100644
---- a/src/tools/rls/src/cmd.rs
-+++ b/src/tools/rls/src/cmd.rs
-@@ -17,7 +17,7 @@ use crate::config::Config;
+--- rustc-1.35.0-src/src/tools/rls/rls/src/cmd.rs
++++ rustc-1.35.0-src/src/tools/rls/rls/src/cmd.rs
+@@ -7,7 +7,7 @@ use crate::config::Config;
use crate::server::{self, LsService, Notification, Request, RequestId};
use rls_analysis::{AnalysisHost, Target};
use rls_vfs::Vfs;
-use std::sync::atomic::{AtomicU64, Ordering};
+use std::sync::atomic::{AtomicU32, Ordering};
- use languageserver_types::{
+ use lsp_types::{
ClientCapabilities, CodeActionContext, CodeActionParams, CompletionItem,
-@@ -424,8 +424,8 @@ fn url(file_name: &str) -> Url {
+@@ -313,8 +313,8 @@ fn url(file_name: &str) -> Url {
}
fn next_id() -> RequestId {
@@ -22,11 +20,9 @@ index 64035aa..d9129d8 100644
}
// Custom reader and output for the RLS server.
-diff --git a/src/tools/rls/src/server/io.rs b/src/tools/rls/src/server/io.rs
-index 7b93d4a..f3c5361 100644
---- a/src/tools/rls/src/server/io.rs
-+++ b/src/tools/rls/src/server/io.rs
-@@ -17,7 +17,7 @@ use crate::lsp_data::{LSPNotification, LSPRequest};
+--- rustc-1.35.0-src/src/tools/rls/rls/src/server/io.rs
++++ rustc-1.35.0-src/src/tools/rls/rls/src/server/io.rs
+@@ -7,7 +7,7 @@ use crate::lsp_data::{LSPNotification, LSPRequest};
use std::fmt;
use std::io::{self, BufRead, Write};
@@ -35,7 +31,7 @@ index 7b93d4a..f3c5361 100644
use std::sync::Arc;
use jsonrpc_core::{self as jsonrpc, response, version, Id};
-@@ -190,14 +190,14 @@ pub trait Output: Sync + Send + Clone + 'static {
+@@ -171,13 +171,13 @@ pub trait Output: Sync + Send + Clone + 'static {
/// An output that sends notifications and responses on `stdout`.
#[derive(Clone)]
pub(super) struct StdioOutput {
@@ -44,15 +40,14 @@ index 7b93d4a..f3c5361 100644
}
impl StdioOutput {
- /// Construct a new `stdout` output.
- crate fn new() -> StdioOutput {
- StdioOutput {
-- next_id: Arc::new(AtomicU64::new(1)),
-+ next_id: Arc::new(AtomicU32::new(1).into()),
- }
+ /// Constructs a new `stdout` output.
+ pub(crate) fn new() -> StdioOutput {
+- StdioOutput { next_id: Arc::new(AtomicU64::new(1)) }
++ StdioOutput { next_id: Arc::new(AtomicU32::new(1).into()) }
}
}
-@@ -215,7 +215,7 @@ impl Output for StdioOutput {
+
+@@ -194,7 +194,7 @@ impl Output for StdioOutput {
}
fn provide_id(&self) -> RequestId {
diff --git a/user/rust/APKBUILD b/user/rust/APKBUILD
index 8534e1112..393f2ce98 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.35.0
+_bootcargover=0.35.0
+_bootver=1.34.2
+_llvmver=8
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-use-extern-for-plugins-Don-t-assume-multilib.patch
+ 0009-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
+ 0010-Ignore-broken-and-non-applicable-tests.patch
+ 0011-Link-stage-2-tools-dynamically-to-libstd.patch
+ 0012-Move-debugger-scripts-to-usr-share-rust.patch
+ 0013-Add-foxkit-target-specs.patch
+ 0030-libc-linkage.patch
+ 0031-typenum-pmmx.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,26 +122,22 @@ 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 \
src/test/run-fail/pretty \
- src/test/run-fail-fulldeps \
- src/test/run-fail-fulldeps/pretty \
src/test/run-make \
src/test/run-make-fulldeps \
src/test/run-pass \
@@ -165,7 +151,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 \
@@ -200,6 +186,7 @@ gdb() {
install_if="$pkgname=$pkgver-r$pkgrel gdb"
_mv "$pkgdir"/usr/bin/rust-gdb "$subpkgdir"/usr/bin
+ _mv "$pkgdir"/usr/bin/rust-gdbgui "$subpkgdir"/usr/bin
_mv "$pkgdir"/usr/share/rust/gdb_*.py "$subpkgdir"/usr/share/rust || true
}
@@ -301,33 +288,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
-41ab9d6f361ee2fba267c9836c1a382dc86101d1bfb59cd942be8e8fc526ad65d845c9395cba7f760808d345d107f32e75af9057d67c450b8fbdd8a73636fb2e 0040-rls-atomics.patch"
+sha512sums="477c10b780bd54776be7ecbda0ab970416253e4a87c3e701825a7d07bcbcd91601b8e61129c5d04d4259e89c2e81e87cdbdee853375a8de5c9cf8372be2c9129 rustc-1.35.0-src.tar.xz
+042b4c8a45cc803a202517dd376a2eb2daca50e1da43e96c32b07270afbdce4daa7091c3f11479f908e92d1031c1503a27ac37c007c1fa24743a82abcf765a29 cargo-0.35.0-powerpc-foxkit-linux-musl.tar.xz
+a25de7843a512b79d214066cb2f01c4e414ae17c053314c103261e3ac805700dcb2ebc6aa28801cb74dcb6211cc57181d3c266d2b8988e2d8835df4b409929bb rust-std-1.34.2-powerpc-foxkit-linux-musl.tar.xz
+9988037ebe219a30faf5740e479c34b464feabd37c192a2a37330f04d67dfed8f8a26439cdf8de4e255fa4fb17959bee7e78d5f6de040522131fdc70ccce8af1 rustc-1.34.2-powerpc-foxkit-linux-musl.tar.xz
+dbc74b875e9fab4fdcb815dea4ef855a59361215c291ea11013587340f9e3cabece4b6cc94a0e118e862b47f9ee27447e385c2c524bcb8847a3d775ae2f76fb3 0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch
+456c247b50936a2594024b5cec493e8ddbc3159196ce2cc8ae5134f1c3ac2f0928ae3ffe4f3f4154fcc2bf596846b6b3b39005ad76d51076796a9d3988f1df62 0002-Fix-LLVM-build.patch
+d20a03a06315c114c61eedfd1b536169d64bd428beb352a4d04abb0358f0b1a75a1c1108e2429c80f715536bd67ef16597f47bd61e75f0e1ddd9681b43197763 0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch
+a6a413a0e2435697fb66b6a11e4d9da8365b2c2d51d10eccbcac32fba09579199dc8bcd13fff1fd74212d1724292db5607827b2c546d2c06122e6f1fb70d8c16 0004-Require-static-native-libraries-when-linking-static-.patch
+2bf5696f493c8b11da77f27348498338ca0f094f69f357077d5507b1f96b6066fa86b711c5c30737d82f217a7eb1afc8a4ce9d25f0491830a800a034607e0c6a 0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch
+fedd9f54ae8d0780091dadac2364595abfc7ef13ac21a3489b91de5ad29efa477179f42ef59cb9a2e0264e15f88164f72843fc176180cd72e54052f3b305703c 0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch
+19e17358f738c982bb7a393e0b12173de8b79f905a677fdc5c183d54219b58a1618607e993cfe12d3eb69a2cb25a0b7b52313eb8e60a91ec9d37bb5b0c140b43 0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch
+0c943ddb3fbacfa47adfa43e8ec41137d0e9c719e59af3ff1e3e1a2a6576c8eeed2b1db77f3f6f252eea273f9f1320c573ecde22e56800dbffac3e2ef18862f3 0008-test-use-extern-for-plugins-Don-t-assume-multilib.patch
+22429c5dbbfda30cc2f08ed5591124fc8346d63d6ef200607be3d051e2524fdaf8a32264bef4e99f9186b22c05c805bf82e7c6d6d814a602dcefd9d4d8d708fd 0009-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch
+ec851207a03d4b3bf2711e2db677170f520217f19de9f4f9817e62b5f9d10573eb468ced5e13c540bb5cda8c7006b259a0a0241cfa70e1f6f08386e656c86b79 0010-Ignore-broken-and-non-applicable-tests.patch
+2a459b55386a4e3419b22efe1c5b5b37d75e2d1a11db4670ee5217ad5404df055eb6510378c74f5ff5662e940155c58d094f41b5738021f608c807f94a498e94 0011-Link-stage-2-tools-dynamically-to-libstd.patch
+9e698d01cdb535beb364827d2a0bc87b543db65973c88a7fa64e8e19c671d1cf4cc4c8756018bff261a7581df102c8180599c434b347463a63c5ab2f575ad4c2 0012-Move-debugger-scripts-to-usr-share-rust.patch
+a403a032180ee7d3c0d034d97b8de175426d8dd3368ebfcab5ad9c7202f9a0ca0197a72adc1eff13f422ecaed9c0a7e4cd22daf85061159ddaa12c335fd00914 0013-Add-foxkit-target-specs.patch
+6c3aaa27adbe361cb354c9a7139b9da949f4acba81af6107e5972fa5c32fa47a972b5ad4567b9b54f4383650dbb3a3c590dfe6f23a5af16d7ff4ad3fb334e997 0030-libc-linkage.patch
+0cb12e9165d198c1e04b258454dbaf5459e192ad24d64c9fa132ebe0f1bcd5da3550eae8dfdaa792fa809b505af62964ecf0219dc4373420ee8ad3e111539a09 0031-typenum-pmmx.patch
+ab35bacf45ef5e46be110a8d27867fd4d5deb23cd5cbe8dc7f1da2177469945f9254f2a7915ee4fc430468a4421623429f0a01eb9eba14e047384efe3d3ec152 0040-rls-atomics.patch"