From 3ad04696702c67ecbb84ee44d20b2489d77d841f Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Sun, 30 Dec 2018 02:42:43 +0000 Subject: user/rust: Bump to 1.31.1 --- .../0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch | 12 +- user/rust/0002-Fix-LLVM-build.patch | 10 +- ...tdoc-to-work-when-cross-compiling-on-musl.patch | 6 +- ...tic-native-libraries-when-linking-static-.patch | 12 +- ...-nostdlib-and-musl_root-from-musl-targets.patch | 40 ++-- ...-Prefer-libgcc_eh-over-libunwind-for-musl.patch | 10 +- ...007-Add-powerpc-unknown-linux-musl-target.patch | 8 +- ...rpc64-ELFv2-big-endian-struct-passing-ABI.patch | 8 +- .../0009-Use-the-ELFv2-ABI-on-powerpc64-musl.patch | 6 +- ...0-Add-powerpc64-unknown-linux-musl-target.patch | 8 +- ...g-OpenSSL-configurations-for-musl-targets.patch | 59 ----- ...structures-use-libc-types-constants-in-fl.patch | 209 ++++++++++++++++++ ...untest-Fix-proc-macro-tests-on-musl-hosts.patch | 37 ++++ ...structures-use-libc-types-constants-in-fl.patch | 209 ------------------ ...-double_check-tests-on-big-endian-targets.patch | 75 +++++++ ...untest-Fix-proc-macro-tests-on-musl-hosts.patch | 37 ---- ...-double_check-tests-on-big-endian-targets.patch | 75 ------- ...d_const_promotion-Accept-SIGTRAP-as-a-val.patch | 25 +++ ...d_const_promotion-Accept-SIGTRAP-as-a-val.patch | 25 --- ...e-visibility-Ensure-symbols-are-visible-t.patch | 30 +++ ...e-visibility-Ensure-symbols-are-visible-t.patch | 30 --- .../0016-x.py-Use-python3-instead-of-python.patch | 22 ++ ...-feature-gate-Only-run-on-relevant-target.patch | 37 ++++ .../0017-x.py-Use-python3-instead-of-python.patch | 22 -- ...-feature-gate-Only-run-on-relevant-target.patch | 37 ---- ...-extern-for-plugins-Don-t-assume-multilib.patch | 30 +++ ...t-crates-are-unstable-Fix-test-when-rpath.patch | 25 +++ ...-extern-for-plugins-Don-t-assume-multilib.patch | 30 --- ...20-Ignore-broken-and-non-applicable-tests.patch | 48 ++++ ...t-crates-are-unstable-Fix-test-when-rpath.patch | 25 --- ...21-Ignore-broken-and-non-applicable-tests.patch | 48 ---- ...-Link-stage-2-tools-dynamically-to-libstd.patch | 27 +++ ...-Link-stage-2-tools-dynamically-to-libstd.patch | 27 --- ...2-Move-debugger-scripts-to-usr-share-rust.patch | 53 +++++ user/rust/0023-Add-foxkit-target-specs.patch | 208 ++++++++++++++++++ ...3-Move-debugger-scripts-to-usr-share-rust.patch | 53 ----- user/rust/0024-Add-foxkit-target-specs.patch | 244 --------------------- user/rust/APKBUILD | 89 ++++---- 38 files changed, 929 insertions(+), 1027 deletions(-) delete mode 100644 user/rust/0011-Add-missing-OpenSSL-configurations-for-musl-targets.patch create mode 100644 user/rust/0011-rustc_data_structures-use-libc-types-constants-in-fl.patch create mode 100644 user/rust/0012-runtest-Fix-proc-macro-tests-on-musl-hosts.patch delete mode 100644 user/rust/0012-rustc_data_structures-use-libc-types-constants-in-fl.patch create mode 100644 user/rust/0013-Fix-double_check-tests-on-big-endian-targets.patch delete mode 100644 user/rust/0013-runtest-Fix-proc-macro-tests-on-musl-hosts.patch delete mode 100644 user/rust/0014-Fix-double_check-tests-on-big-endian-targets.patch create mode 100644 user/rust/0014-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch delete mode 100644 user/rust/0015-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch create mode 100644 user/rust/0015-test-linkage-visibility-Ensure-symbols-are-visible-t.patch delete mode 100644 user/rust/0016-test-linkage-visibility-Ensure-symbols-are-visible-t.patch create mode 100644 user/rust/0016-x.py-Use-python3-instead-of-python.patch create mode 100644 user/rust/0017-test-target-feature-gate-Only-run-on-relevant-target.patch delete mode 100644 user/rust/0017-x.py-Use-python3-instead-of-python.patch delete mode 100644 user/rust/0018-test-target-feature-gate-Only-run-on-relevant-target.patch create mode 100644 user/rust/0018-test-use-extern-for-plugins-Don-t-assume-multilib.patch create mode 100644 user/rust/0019-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch delete mode 100644 user/rust/0019-test-use-extern-for-plugins-Don-t-assume-multilib.patch create mode 100644 user/rust/0020-Ignore-broken-and-non-applicable-tests.patch delete mode 100644 user/rust/0020-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch delete mode 100644 user/rust/0021-Ignore-broken-and-non-applicable-tests.patch create mode 100644 user/rust/0021-Link-stage-2-tools-dynamically-to-libstd.patch delete mode 100644 user/rust/0022-Link-stage-2-tools-dynamically-to-libstd.patch create mode 100644 user/rust/0022-Move-debugger-scripts-to-usr-share-rust.patch create mode 100644 user/rust/0023-Add-foxkit-target-specs.patch delete mode 100644 user/rust/0023-Move-debugger-scripts-to-usr-share-rust.patch delete mode 100644 user/rust/0024-Add-foxkit-target-specs.patch 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 0d26e476a..f56ceb7e8 100644 --- a/user/rust/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch +++ b/user/rust/0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch @@ -1,17 +1,17 @@ -From 79975694944ee2a36abb9b0a9a54169a062aaa71 Mon Sep 17 00:00:00 2001 +From 2a82e95d73d7e86bd420c15f712b09eb104a82c1 Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Wed, 10 Jan 2018 13:36:41 -0600 -Subject: [PATCH 01/24] Don't pass CFLAGS to the C++ compiler +Subject: [PATCH 01/23] Don't pass CFLAGS to the C++ compiler --- src/bootstrap/builder.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs -index b842bc43f5..1dd128fd95 100644 +index 02e9ca9250..7be38b1e8b 100644 --- a/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs -@@ -1045,7 +1045,7 @@ impl<'a> Builder<'a> { +@@ -1041,7 +1041,7 @@ impl<'a> Builder<'a> { let cflags = self.cflags(target, GitRepo::Rustc).join(" "); cargo .env(format!("CFLAGS_{}", target), cflags.clone()) @@ -20,7 +20,7 @@ index b842bc43f5..1dd128fd95 100644 if let Some(ar) = self.ar(target) { let ranlib = format!("{} s", ar.display()); -@@ -1060,9 +1060,7 @@ impl<'a> Builder<'a> { +@@ -1056,9 +1056,7 @@ impl<'a> Builder<'a> { let cxx = ccacheify(&cxx); cargo .env(format!("CXX_{}", target), &cxx) @@ -32,5 +32,5 @@ index b842bc43f5..1dd128fd95 100644 } -- -2.18.0 +2.19.2 diff --git a/user/rust/0002-Fix-LLVM-build.patch b/user/rust/0002-Fix-LLVM-build.patch index 4780ff9a9..6938e0faf 100644 --- a/user/rust/0002-Fix-LLVM-build.patch +++ b/user/rust/0002-Fix-LLVM-build.patch @@ -1,17 +1,17 @@ -From 67a4fbe55220b79ea80f3e0588fe77c729a70d3d Mon Sep 17 00:00:00 2001 +From d70cd5b6d304cc1b6d8f245460b27b8b0e0e6869 Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Fri, 8 Sep 2017 00:04:29 -0500 -Subject: [PATCH 02/24] Fix LLVM build +Subject: [PATCH 02/23] 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 6b88516bac..055a87efaa 100644 +index ab3d0b5137..30e84bc13f 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs -@@ -772,7 +772,8 @@ impl Build { +@@ -785,7 +785,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()) @@ -22,5 +22,5 @@ index 6b88516bac..055a87efaa 100644 // If we're compiling on macOS then we add a few unconditional flags -- -2.18.0 +2.19.2 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 95a3bb53d..588c4df66 100644 --- a/user/rust/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch +++ b/user/rust/0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch @@ -1,7 +1,7 @@ -From d927c3bdf6e312f5c92ec33d5dfe4b77b3dfa8e0 Mon Sep 17 00:00:00 2001 +From 0613fed83ccf58ce3305a1df35e31eda25ba409e Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Sat, 2 Dec 2017 17:25:44 -0600 -Subject: [PATCH 03/24] Allow rustdoc to work when cross-compiling on musl +Subject: [PATCH 03/23] Allow rustdoc to work when cross-compiling on musl musl can't handle foreign-architecture libraries in LD_LIBRARY_PATH. --- @@ -32,5 +32,5 @@ index bb5a21e3e4..1b6b78b90a 100644 // Force all crates compiled by this compiler to (a) be unstable and (b) // allow the `rustc_private` feature to link to other unstable crates -- -2.18.0 +2.19.2 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 e6f5304ec..cd01e4153 100644 --- a/user/rust/0004-Require-static-native-libraries-when-linking-static-.patch +++ b/user/rust/0004-Require-static-native-libraries-when-linking-static-.patch @@ -1,7 +1,7 @@ -From 8912b0e6b881fda271f3805622442e4d5ac1e286 Mon Sep 17 00:00:00 2001 +From 4e6debd6806faf62ba737c01bb74080a637b127a Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Fri, 8 Sep 2017 00:05:18 -0500 -Subject: [PATCH 04/24] Require static native libraries when linking static +Subject: [PATCH 04/23] Require static native libraries when linking static executables gcc/ld will create a dynamically-linked executable without warning, even @@ -15,10 +15,10 @@ Fixes #54243 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/librustc_codegen_llvm/back/link.rs b/src/librustc_codegen_llvm/back/link.rs -index 8248385c12..9fc1991412 100644 +index 86c6a5e65b..0e3ff6da07 100644 --- a/src/librustc_codegen_llvm/back/link.rs +++ b/src/librustc_codegen_llvm/back/link.rs -@@ -1592,8 +1592,8 @@ fn add_upstream_rust_crates(cmd: &mut dyn Linker, +@@ -1588,8 +1588,8 @@ fn add_upstream_rust_crates(cmd: &mut dyn Linker, } } @@ -29,7 +29,7 @@ index 8248385c12..9fc1991412 100644 // dependencies. We've got two cases then: // // 1. The upstream crate is an rlib. In this case we *must* link in the -@@ -1637,7 +1637,14 @@ fn add_upstream_native_libraries(cmd: &mut dyn Linker, +@@ -1633,7 +1633,14 @@ fn add_upstream_native_libraries(cmd: &mut dyn Linker, continue } match lib.kind { @@ -46,5 +46,5 @@ index 8248385c12..9fc1991412 100644 NativeLibraryKind::NativeStaticNobundle => { // Link "static-nobundle" native libs only if the crate they originate from -- -2.18.0 +2.19.2 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 2c8d75872..4c0a8dee0 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,7 +1,7 @@ -From ff1c6e9d50da8247f044b10d281f336c2c859f7c Mon Sep 17 00:00:00 2001 +From c822b31f554ed2f930be8625973a401fd438c123 Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Fri, 8 Sep 2017 22:11:14 -0500 -Subject: [PATCH 05/24] Remove -nostdlib and musl_root from musl targets +Subject: [PATCH 05/23] Remove -nostdlib and musl_root from musl targets --- config.toml.example | 6 --- @@ -19,10 +19,10 @@ Subject: [PATCH 05/24] Remove -nostdlib and musl_root from musl targets 12 files changed, 4 insertions(+), 188 deletions(-) diff --git a/config.toml.example b/config.toml.example -index 3159c19528..a86db62c7b 100644 +index e8cb0cba6b..1971fea758 100644 --- a/config.toml.example +++ b/config.toml.example -@@ -431,12 +431,6 @@ +@@ -452,12 +452,6 @@ # only use static libraries. If unset, the target's default linkage is used. #crt-static = false @@ -36,7 +36,7 @@ index 3159c19528..a86db62c7b 100644 # probably don't want to use this. #qemu-rootfs = "..." diff --git a/src/bootstrap/bin/rustc.rs b/src/bootstrap/bin/rustc.rs -index b89976eca2..0838130039 100644 +index b6764c1aae..6fa60bd9a5 100644 --- a/src/bootstrap/bin/rustc.rs +++ b/src/bootstrap/bin/rustc.rs @@ -30,7 +30,6 @@ @@ -123,7 +123,7 @@ index d5da0cabec..47cc31bded 100644 } } diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs -index 608f2c982c..fea4c7ff72 100644 +index 69d45acded..7bb38ac7ec 100644 --- a/src/bootstrap/compile.rs +++ b/src/bootstrap/compile.rs @@ -86,13 +86,6 @@ impl Step for Std { @@ -186,19 +186,19 @@ index 608f2c982c..fea4c7ff72 100644 } diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs -index cc6d76c76f..db53d09922 100644 +index a9d330e06a..745785a8ae 100644 --- a/src/bootstrap/config.rs +++ b/src/bootstrap/config.rs -@@ -135,8 +135,6 @@ pub struct Config { - pub save_toolstates: Option, +@@ -136,8 +136,6 @@ pub struct Config { pub print_step_timings: bool, + pub missing_tools: bool, - // Fallback musl-root for all targets - pub musl_root: Option, pub prefix: Option, pub sysconfdir: Option, pub datadir: Option, -@@ -170,7 +168,6 @@ pub struct Target { +@@ -173,7 +171,6 @@ pub struct Target { pub linker: Option, pub ndk: Option, pub crt_static: Option, @@ -206,7 +206,7 @@ index cc6d76c76f..db53d09922 100644 pub qemu_rootfs: Option, pub no_std: bool, } -@@ -301,7 +298,6 @@ struct Rust { +@@ -305,7 +302,6 @@ struct Rust { backtrace: Option, default_linker: Option, channel: Option, @@ -214,7 +214,7 @@ index cc6d76c76f..db53d09922 100644 rpath: Option, optimize_tests: Option, debuginfo_tests: Option, -@@ -338,7 +334,6 @@ struct TomlTarget { +@@ -343,7 +339,6 @@ struct TomlTarget { linker: Option, android_ndk: Option, crt_static: Option, @@ -222,7 +222,7 @@ index cc6d76c76f..db53d09922 100644 qemu_rootfs: Option, } -@@ -554,7 +549,6 @@ impl Config { +@@ -560,7 +555,6 @@ impl Config { set(&mut config.llvm_tools_enabled, rust.llvm_tools); config.rustc_parallel_queries = rust.experimental_parallel_queries.unwrap_or(false); config.rustc_default_linker = rust.default_linker.clone(); @@ -230,7 +230,7 @@ index cc6d76c76f..db53d09922 100644 config.save_toolstates = rust.save_toolstates.clone().map(PathBuf::from); set(&mut config.deny_warnings, rust.deny_warnings.or(flags.warnings)); set(&mut config.backtrace_on_ice, rust.backtrace_on_ice); -@@ -595,7 +589,6 @@ impl Config { +@@ -604,7 +598,6 @@ impl Config { target.ranlib = cfg.ranlib.clone().map(PathBuf::from); target.linker = cfg.linker.clone().map(PathBuf::from); target.crt_static = cfg.crt_static.clone(); @@ -239,10 +239,10 @@ index cc6d76c76f..db53d09922 100644 config.target_config.insert(INTERNER.intern_string(triple.clone()), target); diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py -index cf7f78eeba..70bc0f5a41 100755 +index 0cf84a6298..4845e93a0e 100755 --- a/src/bootstrap/configure.py +++ b/src/bootstrap/configure.py -@@ -109,28 +109,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk", +@@ -112,28 +112,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk", "aarch64-linux-android NDK standalone path") v("x86_64-linux-android-ndk", "target.x86_64-linux-android.android-ndk", "x86_64-linux-android NDK standalone path") @@ -272,10 +272,10 @@ index cf7f78eeba..70bc0f5a41 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 055a87efaa..5eb339ee00 100644 +index 30e84bc13f..cf6f410ccb 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs -@@ -848,14 +848,6 @@ impl Build { +@@ -861,14 +861,6 @@ impl Build { } } @@ -291,7 +291,7 @@ index 055a87efaa..5eb339ee00 100644 fn no_std(&self, target: Interned) -> Option { self.config.target_config.get(&target) diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs -index c2610de23b..24e05e4250 100644 +index 724cb5841f..5af34e441c 100644 --- a/src/bootstrap/sanity.rs +++ b/src/bootstrap/sanity.rs @@ -21,7 +21,7 @@ @@ -440,5 +440,5 @@ index 7a3f3c2a51..32fe2f880a 100644 base.crt_static_default = true; // These targets allow the user to choose between static and dynamic linking. -- -2.18.0 +2.19.2 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 611a169c9..e3a4b47cf 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 1d9278c4f249cf66677a2f934d4e704f82c6fe9d Mon Sep 17 00:00:00 2001 +From 916ce9740ddd2e41a567f821f9c0e86faa3c8269 Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Sat, 9 Sep 2017 00:14:16 -0500 -Subject: [PATCH 06/24] Prefer libgcc_eh over libunwind for musl +Subject: [PATCH 06/23] 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 3b94dc238d..6234ed848c 100644 +index 954eb9d6d0..a127aa5d96 100644 --- a/src/libunwind/lib.rs +++ b/src/libunwind/lib.rs -@@ -37,6 +37,6 @@ cfg_if! { +@@ -36,6 +36,6 @@ cfg_if! { } #[cfg(target_env = "musl")] @@ -20,5 +20,5 @@ index 3b94dc238d..6234ed848c 100644 #[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))] extern {} -- -2.18.0 +2.19.2 diff --git a/user/rust/0007-Add-powerpc-unknown-linux-musl-target.patch b/user/rust/0007-Add-powerpc-unknown-linux-musl-target.patch index 71efb1715..f186af55f 100644 --- a/user/rust/0007-Add-powerpc-unknown-linux-musl-target.patch +++ b/user/rust/0007-Add-powerpc-unknown-linux-musl-target.patch @@ -1,7 +1,7 @@ -From c83f072f61eb7034f415eab21b094c6936bed2a4 Mon Sep 17 00:00:00 2001 +From a69d4e607d3eda390fd5c6e97022d4ef20af5676 Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Mon, 10 Sep 2018 01:35:35 +0000 -Subject: [PATCH 07/24] Add powerpc-unknown-linux-musl target +Subject: [PATCH 07/23] Add powerpc-unknown-linux-musl target --- src/librustc_target/spec/mod.rs | 1 + @@ -10,7 +10,7 @@ Subject: [PATCH 07/24] Add powerpc-unknown-linux-musl target 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 3c68b5a7ab..2e396b99e0 100644 +index d43d45f64a..4b03f6141f 100644 --- a/src/librustc_target/spec/mod.rs +++ b/src/librustc_target/spec/mod.rs @@ -297,6 +297,7 @@ supported_targets! { @@ -62,5 +62,5 @@ index 0000000000..48340da514 + }) +} -- -2.18.0 +2.19.2 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 index e21cae762..1c4c813fc 100644 --- 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 @@ -1,7 +1,7 @@ -From 5dbfa6690a13f6959e81082e45c5bf8218239069 Mon Sep 17 00:00:00 2001 +From 8a2c9af2ea8b21d38f5ff779fde29f612bb63575 Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Sun, 16 Sep 2018 16:34:15 +0000 -Subject: [PATCH 08/24] Fix powerpc64 ELFv2 big-endian struct-passing ABI +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 @@ -62,7 +62,7 @@ index 0c5ec77a39..934d2b1138 100644 arg.cast_to(Uniform { diff --git a/src/librustc_target/abi/mod.rs b/src/librustc_target/abi/mod.rs -index 5c4cd849f8..bdbc592b6b 100644 +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 { @@ -75,5 +75,5 @@ index 5c4cd849f8..bdbc592b6b 100644 Little, Big -- -2.18.0 +2.19.2 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 index 667e9b404..c6da310da 100644 --- a/user/rust/0009-Use-the-ELFv2-ABI-on-powerpc64-musl.patch +++ b/user/rust/0009-Use-the-ELFv2-ABI-on-powerpc64-musl.patch @@ -1,7 +1,7 @@ -From 4fc3ffc1ec745c25b2727a076380e237beb2515c Mon Sep 17 00:00:00 2001 +From 44c55a243178d34d5a21e08abc38d103e6ddb0c8 Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Wed, 8 Aug 2018 22:06:18 -0500 -Subject: [PATCH 09/24] Use the ELFv2 ABI on powerpc64 musl +Subject: [PATCH 09/23] Use the ELFv2 ABI on powerpc64 musl --- src/librustc_target/abi/call/powerpc64.rs | 15 ++++++++++----- @@ -46,5 +46,5 @@ index 934d2b1138..18d14495e2 100644 if !fty.ret.is_ignore() { -- -2.18.0 +2.19.2 diff --git a/user/rust/0010-Add-powerpc64-unknown-linux-musl-target.patch b/user/rust/0010-Add-powerpc64-unknown-linux-musl-target.patch index b09e24fe1..a575b1345 100644 --- a/user/rust/0010-Add-powerpc64-unknown-linux-musl-target.patch +++ b/user/rust/0010-Add-powerpc64-unknown-linux-musl-target.patch @@ -1,7 +1,7 @@ -From ed45371c6dc89c3f9d4546ce1a544903eb90cb96 Mon Sep 17 00:00:00 2001 +From c0d3804aa53dee33c03ebc8b64bd6f7a7b54044c Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Tue, 7 Aug 2018 21:59:15 -0500 -Subject: [PATCH 10/24] Add powerpc64-unknown-linux-musl target +Subject: [PATCH 10/23] Add powerpc64-unknown-linux-musl target --- src/librustc_target/spec/mod.rs | 1 + @@ -10,7 +10,7 @@ Subject: [PATCH 10/24] Add powerpc64-unknown-linux-musl target 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 2e396b99e0..9ee761fd51 100644 +index 4b03f6141f..f75c4940c6 100644 --- a/src/librustc_target/spec/mod.rs +++ b/src/librustc_target/spec/mod.rs @@ -299,6 +299,7 @@ supported_targets! { @@ -63,5 +63,5 @@ index 0000000000..24ff9e0ecd + }) +} -- -2.18.0 +2.19.2 diff --git a/user/rust/0011-Add-missing-OpenSSL-configurations-for-musl-targets.patch b/user/rust/0011-Add-missing-OpenSSL-configurations-for-musl-targets.patch deleted file mode 100644 index a010698ec..000000000 --- a/user/rust/0011-Add-missing-OpenSSL-configurations-for-musl-targets.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 4affbaecfc9706253ce31e0008ad42dcd7f35a29 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Mon, 11 Sep 2017 11:21:56 -0500 -Subject: [PATCH 11/24] Add missing OpenSSL configurations for musl targets - ---- - src/bootstrap/native.rs | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs -index 424264647f..a0329910be 100644 ---- a/src/bootstrap/native.rs -+++ b/src/bootstrap/native.rs -@@ -643,9 +643,13 @@ impl Step for Openssl { - "arm-linux-androideabi" => "android", - "arm-unknown-linux-gnueabi" => "linux-armv4", - "arm-unknown-linux-gnueabihf" => "linux-armv4", -+ "arm-unknown-linux-musleabi" => "linux-armv4", -+ "arm-unknown-linux-musleabihf" => "linux-armv4", -+ "armv5te-unknown-linux-musleabi" => "linux-armv4", - "armv6-unknown-netbsd-eabihf" => "BSD-generic32", - "armv7-linux-androideabi" => "android-armv7", - "armv7-unknown-linux-gnueabihf" => "linux-armv4", -+ "armv7-unknown-linux-musleabihf" => "linux-armv4", - "armv7-unknown-netbsd-eabihf" => "BSD-generic32", - "i586-unknown-linux-gnu" => "linux-elf", - "i586-unknown-linux-musl" => "linux-elf", -@@ -656,13 +660,17 @@ impl Step for Openssl { - "i686-unknown-linux-musl" => "linux-elf", - "i686-unknown-netbsd" => "BSD-x86-elf", - "mips-unknown-linux-gnu" => "linux-mips32", -+ "mips-unknown-linux-musl" => "linux-mips32", - "mips64-unknown-linux-gnuabi64" => "linux64-mips64", - "mips64el-unknown-linux-gnuabi64" => "linux64-mips64", - "mipsel-unknown-linux-gnu" => "linux-mips32", -+ "mipsel-unknown-linux-musl" => "linux-mips32", - "powerpc-unknown-linux-gnu" => "linux-ppc", - "powerpc-unknown-linux-gnuspe" => "linux-ppc", -+ "powerpc-unknown-linux-musl" => "linux-ppc", - "powerpc-unknown-netbsd" => "BSD-generic32", - "powerpc64-unknown-linux-gnu" => "linux-ppc64", -+ "powerpc64-unknown-linux-musl" => "linux-ppc64", - "powerpc64le-unknown-linux-gnu" => "linux-ppc64le", - "powerpc64le-unknown-linux-musl" => "linux-ppc64le", - "s390x-unknown-linux-gnu" => "linux64-s390x", -@@ -690,6 +698,10 @@ impl Step for Openssl { - configure.arg("-mandroid"); - configure.arg("-fomit-frame-pointer"); - } -+ // OpenSSL ships incompatible ELFv1 ABI assembly code -+ if target == "powerpc64-unknown-linux-musl" { -+ configure.arg("no-asm"); -+ } - if target == "sparc64-unknown-netbsd" { - // Need -m64 to get assembly generated correctly for sparc64. - configure.arg("-m64"); --- -2.18.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 new file mode 100644 index 000000000..9fb760bb1 --- /dev/null +++ b/user/rust/0011-rustc_data_structures-use-libc-types-constants-in-fl.patch @@ -0,0 +1,209 @@ +From c99b99efd9f9632ac4917e1c410bf34e3c2be78b Mon Sep 17 00:00:00 2001 +From: Samuel Holland +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/0012-runtest-Fix-proc-macro-tests-on-musl-hosts.patch b/user/rust/0012-runtest-Fix-proc-macro-tests-on-musl-hosts.patch new file mode 100644 index 000000000..c8b2529d8 --- /dev/null +++ b/user/rust/0012-runtest-Fix-proc-macro-tests-on-musl-hosts.patch @@ -0,0 +1,37 @@ +From 050dfd0e91b92cb350ca52599266cefc6c765106 Mon Sep 17 00:00:00 2001 +From: Samuel Holland +Date: Sun, 16 Sep 2018 16:40:04 +0000 +Subject: [PATCH 12/23] 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 +--- a/src/tools/compiletest/src/runtest.rs ++++ b/src/tools/compiletest/src/runtest.rs +@@ -1582,7 +1582,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") + { + // We primarily compile all auxiliary libraries as dynamic libraries +@@ -1590,10 +1589,8 @@ impl<'test> TestCx<'test> { + // for the test suite (otherwise including libstd statically in all + // executables takes up quite a bit of space). + // +- // For targets like MUSL or Emscripten, however, there is no support for +- // dynamic libraries so we just go back to building a normal library. Note, +- // however, that for MUSL if the library is built with `force_host` then +- // it's ok to be a dylib as the host should always support dylibs. ++ // For targets like Emscripten, however, there is no support for ++ // dynamic libraries so we just go back to building a normal library. + Some("lib") + } else { + Some("dylib") +-- +2.19.2 + diff --git a/user/rust/0012-rustc_data_structures-use-libc-types-constants-in-fl.patch b/user/rust/0012-rustc_data_structures-use-libc-types-constants-in-fl.patch deleted file mode 100644 index 429c986da..000000000 --- a/user/rust/0012-rustc_data_structures-use-libc-types-constants-in-fl.patch +++ /dev/null @@ -1,209 +0,0 @@ -From e587a3f45f91053d1f7b20089f984b227af741f7 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Tue, 9 Oct 2018 04:15:48 +0000 -Subject: [PATCH 12/24] 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.18.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 new file mode 100644 index 000000000..546afbf20 --- /dev/null +++ b/user/rust/0013-Fix-double_check-tests-on-big-endian-targets.patch @@ -0,0 +1,75 @@ +From cdcbabdffce7f1b5379faf96db0dc12e4a5f1a36 Mon Sep 17 00:00:00 2001 +From: Samuel Holland +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. + | +-- +2.19.2 + diff --git a/user/rust/0013-runtest-Fix-proc-macro-tests-on-musl-hosts.patch b/user/rust/0013-runtest-Fix-proc-macro-tests-on-musl-hosts.patch deleted file mode 100644 index 92bace266..000000000 --- a/user/rust/0013-runtest-Fix-proc-macro-tests-on-musl-hosts.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 294a9feda6b101466e9ca1646bc3c802afcbe36a Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Sun, 16 Sep 2018 16:40:04 +0000 -Subject: [PATCH 13/24] 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 2d49c83edb..f19aaf54f0 100644 ---- a/src/tools/compiletest/src/runtest.rs -+++ b/src/tools/compiletest/src/runtest.rs -@@ -1507,7 +1507,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") - { - // We primarily compile all auxiliary libraries as dynamic libraries -@@ -1515,10 +1514,8 @@ impl<'test> TestCx<'test> { - // for the test suite (otherwise including libstd statically in all - // executables takes up quite a bit of space). - // -- // For targets like MUSL or Emscripten, however, there is no support for -- // dynamic libraries so we just go back to building a normal library. Note, -- // however, that for MUSL if the library is built with `force_host` then -- // it's ok to be a dylib as the host should always support dylibs. -+ // For targets like Emscripten, however, there is no support for -+ // dynamic libraries so we just go back to building a normal library. - Some("lib") - } else { - Some("dylib") --- -2.18.0 - diff --git a/user/rust/0014-Fix-double_check-tests-on-big-endian-targets.patch b/user/rust/0014-Fix-double_check-tests-on-big-endian-targets.patch deleted file mode 100644 index 632f0c456..000000000 --- a/user/rust/0014-Fix-double_check-tests-on-big-endian-targets.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 2a347ba6131fa5b1eedb3236fe25a6ca25842e19 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Sun, 16 Sep 2018 18:27:56 +0000 -Subject: [PATCH 14/24] 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. - | --- -2.18.0 - diff --git a/user/rust/0014-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch b/user/rust/0014-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch new file mode 100644 index 000000000..e892735a2 --- /dev/null +++ b/user/rust/0014-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch @@ -0,0 +1,25 @@ +From 52f262296db19bcb35410a05786e58a239216ba8 Mon Sep 17 00:00:00 2001 +From: Samuel Holland +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-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch b/user/rust/0015-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch deleted file mode 100644 index dcd5a3fdf..000000000 --- a/user/rust/0015-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 44e00e6842dd230f1da838de231446f1c1c3e48d Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Sun, 16 Sep 2018 16:37:09 +0000 -Subject: [PATCH 15/24] 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 a18d82fb7a..2b159db9fd 100644 ---- a/src/test/run-pass/invalid_const_promotion.rs -+++ b/src/test/run-pass/invalid_const_promotion.rs -@@ -35,6 +35,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.18.0 - 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 new file mode 100644 index 000000000..f4591af96 --- /dev/null +++ b/user/rust/0015-test-linkage-visibility-Ensure-symbols-are-visible-t.patch @@ -0,0 +1,30 @@ +From cc2e1f8ee1d28a772c0309b226e996359180124a Mon Sep 17 00:00:00 2001 +From: Samuel Holland +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-test-linkage-visibility-Ensure-symbols-are-visible-t.patch b/user/rust/0016-test-linkage-visibility-Ensure-symbols-are-visible-t.patch deleted file mode 100644 index 8dd7cf47e..000000000 --- a/user/rust/0016-test-linkage-visibility-Ensure-symbols-are-visible-t.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 48b225e5e66e6bfd912d8e66cfed4d7f95591d07 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Sun, 16 Sep 2018 16:35:41 +0000 -Subject: [PATCH 16/24] 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 7a15a4cb3a..853d97670d 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.18.0 - 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 new file mode 100644 index 000000000..37302b773 --- /dev/null +++ b/user/rust/0016-x.py-Use-python3-instead-of-python.patch @@ -0,0 +1,22 @@ +From 591dc52ab207945a5c1b488b88cbd1cfbb1c8c94 Mon Sep 17 00:00:00 2001 +From: Samuel Holland +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 new file mode 100644 index 000000000..5e8c71668 --- /dev/null +++ b/user/rust/0017-test-target-feature-gate-Only-run-on-relevant-target.patch @@ -0,0 +1,37 @@ +From bc1a70133b259188ec4595eef8d11670cc8d64f5 Mon Sep 17 00:00:00 2001 +From: Samuel Holland +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/0017-x.py-Use-python3-instead-of-python.patch b/user/rust/0017-x.py-Use-python3-instead-of-python.patch deleted file mode 100644 index 0705a3b91..000000000 --- a/user/rust/0017-x.py-Use-python3-instead-of-python.patch +++ /dev/null @@ -1,22 +0,0 @@ -From ca7e83bc78d65d9ae279a159dcd3e37258e252f4 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Mon, 10 Sep 2018 01:36:00 +0000 -Subject: [PATCH 17/24] 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.18.0 - diff --git a/user/rust/0018-test-target-feature-gate-Only-run-on-relevant-target.patch b/user/rust/0018-test-target-feature-gate-Only-run-on-relevant-target.patch deleted file mode 100644 index 5b77644b5..000000000 --- a/user/rust/0018-test-target-feature-gate-Only-run-on-relevant-target.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 73be7ecaabfa667da8a94d55069e61954c5525fe Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Sun, 16 Sep 2018 16:39:46 +0000 -Subject: [PATCH 18/24] 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.18.0 - diff --git a/user/rust/0018-test-use-extern-for-plugins-Don-t-assume-multilib.patch b/user/rust/0018-test-use-extern-for-plugins-Don-t-assume-multilib.patch new file mode 100644 index 000000000..7d63cc1cc --- /dev/null +++ b/user/rust/0018-test-use-extern-for-plugins-Don-t-assume-multilib.patch @@ -0,0 +1,30 @@ +From 8fbb4ae754fff3f4daa82ad222b3743aace0aa97 Mon Sep 17 00:00:00 2001 +From: Samuel Holland +Date: Sat, 6 Oct 2018 04:01:48 +0000 +Subject: [PATCH 18/23] 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 +--- 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))) + +-HOST := $(shell $(RUSTC) -vV | grep 'host:' | sed 's/host: //') +-ifeq ($(findstring i686,$(HOST)),i686) +-TARGET := $(subst i686,x86_64,$(HOST)) +-else +-TARGET := $(subst x86_64,i686,$(HOST)) +-endif ++TARGET := $(shell $(RUSTC) -vV | grep 'host:' | sed 's/host: //') + + all: + $(RUSTC) foo.rs -C extra-filename=-host +-- +2.19.2 + diff --git a/user/rust/0019-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch b/user/rust/0019-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch new file mode 100644 index 000000000..4f4b42a9c --- /dev/null +++ b/user/rust/0019-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch @@ -0,0 +1,25 @@ +From 8d74dfc55bad7461bbbc26a83c4103cc419bbf50 Mon Sep 17 00:00:00 2001 +From: Samuel Holland +Date: Mon, 17 Sep 2018 01:32:20 +0000 +Subject: [PATCH 19/23] test/sysroot-crates-are-unstable: Fix test when rpath + is disabled + +Without this environment var, the test can't run rustc to find +the sysroot path. +--- + .../run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +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 a35174b3c2..9e77070685 100644 +--- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile ++++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile +@@ -1,2 +1,4 @@ ++-include ../tools.mk ++ + all: +- python2.7 test.py ++ env '$(HOST_RPATH_ENV)' python2.7 test.py +-- +2.19.2 + diff --git a/user/rust/0019-test-use-extern-for-plugins-Don-t-assume-multilib.patch b/user/rust/0019-test-use-extern-for-plugins-Don-t-assume-multilib.patch deleted file mode 100644 index c01ad1164..000000000 --- a/user/rust/0019-test-use-extern-for-plugins-Don-t-assume-multilib.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 7ffbe4996aafefccae231260a3a282fc48c6a84d Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Sat, 6 Oct 2018 04:01:48 +0000 -Subject: [PATCH 19/24] 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 ---- 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))) - --HOST := $(shell $(RUSTC) -vV | grep 'host:' | sed 's/host: //') --ifeq ($(findstring i686,$(HOST)),i686) --TARGET := $(subst i686,x86_64,$(HOST)) --else --TARGET := $(subst x86_64,i686,$(HOST)) --endif -+TARGET := $(shell $(RUSTC) -vV | grep 'host:' | sed 's/host: //') - - all: - $(RUSTC) foo.rs -C extra-filename=-host --- -2.18.0 - diff --git a/user/rust/0020-Ignore-broken-and-non-applicable-tests.patch b/user/rust/0020-Ignore-broken-and-non-applicable-tests.patch new file mode 100644 index 000000000..3305b52d0 --- /dev/null +++ b/user/rust/0020-Ignore-broken-and-non-applicable-tests.patch @@ -0,0 +1,48 @@ +From 5fd5ee6042170262f6832b65a90c54989f6a9847 Mon Sep 17 00:00:00 2001 +From: Samuel Holland +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/0020-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch b/user/rust/0020-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch deleted file mode 100644 index 13c1d4795..000000000 --- a/user/rust/0020-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 551fd6c9c61c77eb98bed53c67f412033f9328af Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Mon, 17 Sep 2018 01:32:20 +0000 -Subject: [PATCH 20/24] test/sysroot-crates-are-unstable: Fix test when rpath - is disabled - -Without this environment var, the test can't run rustc to find -the sysroot path. ---- - .../run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -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 a35174b3c2..9e77070685 100644 ---- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile -+++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile -@@ -1,2 +1,4 @@ -+-include ../tools.mk -+ - all: -- python2.7 test.py -+ env '$(HOST_RPATH_ENV)' python2.7 test.py --- -2.18.0 - diff --git a/user/rust/0021-Ignore-broken-and-non-applicable-tests.patch b/user/rust/0021-Ignore-broken-and-non-applicable-tests.patch deleted file mode 100644 index b44c89637..000000000 --- a/user/rust/0021-Ignore-broken-and-non-applicable-tests.patch +++ /dev/null @@ -1,48 +0,0 @@ -From d25ab4c89e6ce3afdb84db0c9028c7f5facbbf3c Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Sun, 16 Sep 2018 16:38:48 +0000 -Subject: [PATCH 21/24] 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.18.0 - diff --git a/user/rust/0021-Link-stage-2-tools-dynamically-to-libstd.patch b/user/rust/0021-Link-stage-2-tools-dynamically-to-libstd.patch new file mode 100644 index 000000000..dfb43d9b7 --- /dev/null +++ b/user/rust/0021-Link-stage-2-tools-dynamically-to-libstd.patch @@ -0,0 +1,27 @@ +From 0aac206a1c7af54f5974eb4043b0f821720f4bf7 Mon Sep 17 00:00:00 2001 +From: Samuel Holland +Date: Mon, 24 Sep 2018 23:42:23 +0000 +Subject: [PATCH 21/23] 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 +--- a/src/bootstrap/tool.rs ++++ b/src/bootstrap/tool.rs +@@ -217,7 +217,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. +- cargo.env("RUSTC_NO_PREFER_DYNAMIC", "1"); ++ if compiler.stage < 2 { ++ cargo.env("RUSTC_NO_PREFER_DYNAMIC", "1"); ++ } + + if source_type == SourceType::Submodule { + cargo.env("RUSTC_EXTERNAL_TOOL", "1"); +-- +2.19.2 + diff --git a/user/rust/0022-Link-stage-2-tools-dynamically-to-libstd.patch b/user/rust/0022-Link-stage-2-tools-dynamically-to-libstd.patch deleted file mode 100644 index d50e15933..000000000 --- a/user/rust/0022-Link-stage-2-tools-dynamically-to-libstd.patch +++ /dev/null @@ -1,27 +0,0 @@ -From da4ae76c0e8986711f235ceb676cd61db9bf3c7a Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Mon, 24 Sep 2018 23:42:23 +0000 -Subject: [PATCH 22/24] 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 e5299761a1..2e364d3cd1 100644 ---- a/src/bootstrap/tool.rs -+++ b/src/bootstrap/tool.rs -@@ -215,7 +215,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. -- cargo.env("RUSTC_NO_PREFER_DYNAMIC", "1"); -+ if compiler.stage < 2 { -+ cargo.env("RUSTC_NO_PREFER_DYNAMIC", "1"); -+ } - - if source_type == SourceType::Submodule { - cargo.env("RUSTC_EXTERNAL_TOOL", "1"); --- -2.18.0 - diff --git a/user/rust/0022-Move-debugger-scripts-to-usr-share-rust.patch b/user/rust/0022-Move-debugger-scripts-to-usr-share-rust.patch new file mode 100644 index 000000000..a46ddcd45 --- /dev/null +++ b/user/rust/0022-Move-debugger-scripts-to-usr-share-rust.patch @@ -0,0 +1,53 @@ +From 347b144930e68e49dc27b3682751a1d4c13d81c5 Mon Sep 17 00:00:00 2001 +From: Samuel Holland +Date: Mon, 17 Sep 2018 02:09:10 +0000 +Subject: [PATCH 22/23] Move debugger scripts to /usr/share/rust + +--- + src/bootstrap/dist.rs | 2 +- + src/etc/rust-gdb | 2 +- + src/etc/rust-lldb | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs +index fea6302d0a..e6ba249d28 100644 +--- a/src/bootstrap/dist.rs ++++ b/src/bootstrap/dist.rs +@@ -591,7 +591,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"); ++ let dst = sysroot.join("share/rust"); + t!(fs::create_dir_all(&dst)); + 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 +--- a/src/etc/rust-gdb ++++ b/src/etc/rust-gdb +@@ -14,7 +14,7 @@ set -e + + # Find out where the pretty printer Python module is + RUSTC_SYSROOT=`rustc --print=sysroot` +-GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc" ++GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/share/rust" + + # 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 +--- a/src/etc/rust-lldb ++++ b/src/etc/rust-lldb +@@ -35,7 +35,7 @@ display the contents of local variables!" + fi + + # Prepare commands that will be loaded before any file on the command line has been loaded +-script_import="command script import \"$RUSTC_SYSROOT/lib/rustlib/etc/lldb_rust_formatters.py\"" ++script_import="command script import \"$RUSTC_SYSROOT/share/rust/lldb_rust_formatters.py\"" + category_definition="type summary add --no-value --python-function lldb_rust_formatters.print_val -x \".*\" --category Rust" + category_enable="type category enable Rust" + +-- +2.19.2 + diff --git a/user/rust/0023-Add-foxkit-target-specs.patch b/user/rust/0023-Add-foxkit-target-specs.patch new file mode 100644 index 000000000..982326bc6 --- /dev/null +++ b/user/rust/0023-Add-foxkit-target-specs.patch @@ -0,0 +1,208 @@ +From 8094b006c75c38ab0e5d44d9b5c12a973949e512 Mon Sep 17 00:00:00 2001 +From: Samuel Holland +Date: Mon, 17 Sep 2018 02:29:06 +0000 +Subject: [PATCH 23/23] 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(+) + 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 + create mode 100644 src/librustc_target/spec/powerpc64_foxkit_linux_musl.rs + create mode 100644 src/librustc_target/spec/powerpc_foxkit_linux_musl.rs + create mode 100644 src/librustc_target/spec/x86_64_foxkit_linux_musl.rs + +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 +--- /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 or the MIT license ++// , at your ++// option. This file may not be copied, modified, or distributed ++// except according to those terms. ++ ++use spec::TargetResult; ++ ++pub fn target() -> TargetResult { ++ let mut base = super::aarch64_unknown_linux_musl::target()?; ++ ++ base.llvm_target = "aarch64-foxkit-linux-musl".to_string(); ++ base.target_vendor = "foxkit".to_string(); ++ base.options.crt_static_default = false; ++ ++ Ok(base) ++} +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 +--- /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 or the MIT license ++// , at your ++// option. This file may not be copied, modified, or distributed ++// except according to those terms. ++ ++use spec::TargetResult; ++ ++pub fn target() -> TargetResult { ++ let mut base = super::armv7_unknown_linux_musleabihf::target()?; ++ ++ base.llvm_target = "armv7-foxkit-linux-musleabihf".to_string(); ++ base.target_vendor = "foxkit".to_string(); ++ base.options.crt_static_default = false; ++ ++ Ok(base) ++} +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 +--- /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 or the MIT license ++// , at your ++// option. This file may not be copied, modified, or distributed ++// except according to those terms. ++ ++use spec::{LinkerFlavor, TargetResult}; ++ ++pub fn target() -> TargetResult { ++ let mut base = super::i586_unknown_linux_musl::target()?; ++ ++ base.llvm_target = "i586-foxkit-linux-musl".to_string(); ++ base.target_vendor = "foxkit".to_string(); ++ base.options.crt_static_default = false; ++ base.options.post_link_args.insert(LinkerFlavor::Gcc, ++ vec!["-Wl,--as-needed".to_string(), "-lssp_nonshared".to_string()]); ++ ++ Ok(base) ++} +diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs +index f75c4940c6..d4e0f04144 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), + + ("aarch64-unknown-none", aarch64_unknown_none), ++ ++ ("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. +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 +--- /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 or the MIT license ++// , at your ++// option. This file may not be copied, modified, or distributed ++// except according to those terms. ++ ++use spec::TargetResult; ++ ++pub fn target() -> TargetResult { ++ let mut base = super::powerpc64_unknown_linux_musl::target()?; ++ ++ base.llvm_target = "powerpc64-foxkit-linux-musl".to_string(); ++ base.target_vendor = "foxkit".to_string(); ++ base.options.crt_static_default = false; ++ ++ Ok(base) ++} +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 +--- /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 or the MIT license ++// , at your ++// option. This file may not be copied, modified, or distributed ++// except according to those terms. ++ ++use spec::{LinkerFlavor, TargetResult}; ++ ++pub fn target() -> TargetResult { ++ let mut base = super::powerpc_unknown_linux_musl::target()?; ++ ++ base.llvm_target = "powerpc-foxkit-linux-musl".to_string(); ++ base.target_vendor = "foxkit".to_string(); ++ base.options.crt_static_default = false; ++ base.options.post_link_args.insert(LinkerFlavor::Gcc, ++ vec!["-Wl,--as-needed".to_string(), "-lssp_nonshared".to_string()]); ++ ++ Ok(base) ++} +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 +--- /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 or the MIT license ++// , at your ++// option. This file may not be copied, modified, or distributed ++// except according to those terms. ++ ++use spec::TargetResult; ++ ++pub fn target() -> TargetResult { ++ let mut base = super::x86_64_unknown_linux_musl::target()?; ++ ++ base.llvm_target = "x86_64-foxkit-linux-musl".to_string(); ++ base.target_vendor = "foxkit".to_string(); ++ base.options.crt_static_default = false; ++ ++ Ok(base) ++} +-- +2.19.2 + diff --git a/user/rust/0023-Move-debugger-scripts-to-usr-share-rust.patch b/user/rust/0023-Move-debugger-scripts-to-usr-share-rust.patch deleted file mode 100644 index 417b4f33d..000000000 --- a/user/rust/0023-Move-debugger-scripts-to-usr-share-rust.patch +++ /dev/null @@ -1,53 +0,0 @@ -From c2de5d142209be7fca8024ba82911ee180d861d0 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Mon, 17 Sep 2018 02:09:10 +0000 -Subject: [PATCH 23/24] Move debugger scripts to /usr/share/rust - ---- - src/bootstrap/dist.rs | 2 +- - src/etc/rust-gdb | 2 +- - src/etc/rust-lldb | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs -index 2d94704fda..809d16fa0e 100644 ---- a/src/bootstrap/dist.rs -+++ b/src/bootstrap/dist.rs -@@ -584,7 +584,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"); -+ let dst = sysroot.join("share/rust"); - t!(fs::create_dir_all(&dst)); - 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 ---- a/src/etc/rust-gdb -+++ b/src/etc/rust-gdb -@@ -14,7 +14,7 @@ set -e - - # Find out where the pretty printer Python module is - RUSTC_SYSROOT=`rustc --print=sysroot` --GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc" -+GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/share/rust" - - # 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 ---- a/src/etc/rust-lldb -+++ b/src/etc/rust-lldb -@@ -35,7 +35,7 @@ display the contents of local variables!" - fi - - # Prepare commands that will be loaded before any file on the command line has been loaded --script_import="command script import \"$RUSTC_SYSROOT/lib/rustlib/etc/lldb_rust_formatters.py\"" -+script_import="command script import \"$RUSTC_SYSROOT/share/rust/lldb_rust_formatters.py\"" - category_definition="type summary add --no-value --python-function lldb_rust_formatters.print_val -x \".*\" --category Rust" - category_enable="type category enable Rust" - --- -2.18.0 - diff --git a/user/rust/0024-Add-foxkit-target-specs.patch b/user/rust/0024-Add-foxkit-target-specs.patch deleted file mode 100644 index 2df25f447..000000000 --- a/user/rust/0024-Add-foxkit-target-specs.patch +++ /dev/null @@ -1,244 +0,0 @@ -From 0a6fb2cbb5ca1a9a07bcd426e0ec81975fe16682 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Mon, 17 Sep 2018 02:29:06 +0000 -Subject: [PATCH 24/24] Add foxkit target specs - ---- - src/bootstrap/native.rs | 10 ++++++-- - .../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 +++++++++++++++++ - 8 files changed, 145 insertions(+), 2 deletions(-) - 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 - create mode 100644 src/librustc_target/spec/powerpc64_foxkit_linux_musl.rs - create mode 100644 src/librustc_target/spec/powerpc_foxkit_linux_musl.rs - create mode 100644 src/librustc_target/spec/x86_64_foxkit_linux_musl.rs - -diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs -index a0329910be..f1ee4ed882 100644 ---- a/src/bootstrap/native.rs -+++ b/src/bootstrap/native.rs -@@ -685,6 +685,12 @@ impl Step for Openssl { - "x86_64-unknown-linux-gnux32" => "linux-x32", - "x86_64-unknown-linux-musl" => "linux-x86_64", - "x86_64-unknown-netbsd" => "BSD-x86_64", -+ "aarch64-foxkit-linux-musl" => "linux-aarch64", -+ "armv7-foxkit-linux-musleabihf" => "linux-armv4", -+ "i586-foxkit-linux-musl" => "linux-elf", -+ "powerpc-foxkit-linux-musl" => "linux-ppc", -+ "powerpc64-foxkit-linux-musl" => "linux-ppc64", -+ "x86_64-foxkit-linux-musl" => "linux-x86_64", - _ => panic!("don't know how to configure OpenSSL for {}", target), - }; - configure.arg(os); -@@ -699,7 +705,7 @@ impl Step for Openssl { - configure.arg("-fomit-frame-pointer"); - } - // OpenSSL ships incompatible ELFv1 ABI assembly code -- if target == "powerpc64-unknown-linux-musl" { -+ if target == "powerpc64-unknown-linux-musl" || target == "powerpc64-foxkit-linux-musl" { - configure.arg("no-asm"); - } - if target == "sparc64-unknown-netbsd" { -@@ -714,7 +720,7 @@ impl Step for Openssl { - // Make PIE binaries - // Non-PIE linker support was removed in Lollipop - // https://source.android.com/security/enhancements/enhancements50 -- if target == "i686-linux-android" { -+ if target == "i686-linux-android" || target == "i586-foxkit-linux-musl" { - configure.arg("no-asm"); - } - configure.current_dir(&obj); -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 ---- /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 or the MIT license -+// , at your -+// option. This file may not be copied, modified, or distributed -+// except according to those terms. -+ -+use spec::TargetResult; -+ -+pub fn target() -> TargetResult { -+ let mut base = super::aarch64_unknown_linux_musl::target()?; -+ -+ base.llvm_target = "aarch64-foxkit-linux-musl".to_string(); -+ base.target_vendor = "foxkit".to_string(); -+ base.options.crt_static_default = false; -+ -+ Ok(base) -+} -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 ---- /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 or the MIT license -+// , at your -+// option. This file may not be copied, modified, or distributed -+// except according to those terms. -+ -+use spec::TargetResult; -+ -+pub fn target() -> TargetResult { -+ let mut base = super::armv7_unknown_linux_musleabihf::target()?; -+ -+ base.llvm_target = "armv7-foxkit-linux-musleabihf".to_string(); -+ base.target_vendor = "foxkit".to_string(); -+ base.options.crt_static_default = false; -+ -+ Ok(base) -+} -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 ---- /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 or the MIT license -+// , at your -+// option. This file may not be copied, modified, or distributed -+// except according to those terms. -+ -+use spec::{LinkerFlavor, TargetResult}; -+ -+pub fn target() -> TargetResult { -+ let mut base = super::i586_unknown_linux_musl::target()?; -+ -+ base.llvm_target = "i586-foxkit-linux-musl".to_string(); -+ base.target_vendor = "foxkit".to_string(); -+ base.options.crt_static_default = false; -+ base.options.post_link_args.insert(LinkerFlavor::Gcc, -+ vec!["-Wl,--as-needed".to_string(), "-lssp_nonshared".to_string()]); -+ -+ Ok(base) -+} -diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs -index 9ee761fd51..0ee10e3d33 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), - - ("aarch64-unknown-none", aarch64_unknown_none), -+ -+ ("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. -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 ---- /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 or the MIT license -+// , at your -+// option. This file may not be copied, modified, or distributed -+// except according to those terms. -+ -+use spec::TargetResult; -+ -+pub fn target() -> TargetResult { -+ let mut base = super::powerpc64_unknown_linux_musl::target()?; -+ -+ base.llvm_target = "powerpc64-foxkit-linux-musl".to_string(); -+ base.target_vendor = "foxkit".to_string(); -+ base.options.crt_static_default = false; -+ -+ Ok(base) -+} -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 ---- /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 or the MIT license -+// , at your -+// option. This file may not be copied, modified, or distributed -+// except according to those terms. -+ -+use spec::{LinkerFlavor, TargetResult}; -+ -+pub fn target() -> TargetResult { -+ let mut base = super::powerpc_unknown_linux_musl::target()?; -+ -+ base.llvm_target = "powerpc-foxkit-linux-musl".to_string(); -+ base.target_vendor = "foxkit".to_string(); -+ base.options.crt_static_default = false; -+ base.options.post_link_args.insert(LinkerFlavor::Gcc, -+ vec!["-Wl,--as-needed".to_string(), "-lssp_nonshared".to_string()]); -+ -+ Ok(base) -+} -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 ---- /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 or the MIT license -+// , at your -+// option. This file may not be copied, modified, or distributed -+// except according to those terms. -+ -+use spec::TargetResult; -+ -+pub fn target() -> TargetResult { -+ let mut base = super::x86_64_unknown_linux_musl::target()?; -+ -+ base.llvm_target = "x86_64-foxkit-linux-musl".to_string(); -+ base.target_vendor = "foxkit".to_string(); -+ base.options.crt_static_default = false; -+ -+ Ok(base) -+} --- -2.18.0 - diff --git a/user/rust/APKBUILD b/user/rust/APKBUILD index aa155ac3b..1921a4306 100644 --- a/user/rust/APKBUILD +++ b/user/rust/APKBUILD @@ -3,9 +3,9 @@ # Contributor: Jeizsm # Maintainer: Samuel Holland pkgname=rust -pkgver=1.30.1 -_bootcargover=0.30.0 -_bootver=1.29.2 +pkgver=1.31.1 +_bootcargover=0.31.0 +_bootver=1.30.1 _llvmver=6 pkgrel=0 pkgdesc="The Rust Programming Language" @@ -54,20 +54,19 @@ source="https://static.rust-lang.org/dist/rustc-$pkgver-src.tar.xz 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-Add-missing-OpenSSL-configurations-for-musl-targets.patch - 0012-rustc_data_structures-use-libc-types-constants-in-fl.patch - 0013-runtest-Fix-proc-macro-tests-on-musl-hosts.patch - 0014-Fix-double_check-tests-on-big-endian-targets.patch - 0015-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch - 0016-test-linkage-visibility-Ensure-symbols-are-visible-t.patch - 0017-x.py-Use-python3-instead-of-python.patch - 0018-test-target-feature-gate-Only-run-on-relevant-target.patch - 0019-test-use-extern-for-plugins-Don-t-assume-multilib.patch - 0020-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch - 0021-Ignore-broken-and-non-applicable-tests.patch - 0022-Link-stage-2-tools-dynamically-to-libstd.patch - 0023-Move-debugger-scripts-to-usr-share-rust.patch - 0024-Add-foxkit-target-specs.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 0040-rls-atomics.patch @@ -147,7 +146,6 @@ check() { src/test/incremental \ src/test/incremental-fulldeps \ src/test/mir-opt \ - src/test/parse-fail \ src/test/pretty \ src/test/run-fail \ src/test/run-fail/pretty \ @@ -302,34 +300,33 @@ _mv() { mkdir -p "$dest" mv "$@" } -sha512sums="e466db81b9a82239670c48b876dc7390fcdda28c6390308691ddf2e0c12a39b57bd5ddb18322d1b4cd58165f69a666c7d83bee6573049da3b94e401657459bf5 rustc-1.30.1-src.tar.xz -0f7c92e69f15cb014a1a6c263df2d0675842db9a3789467aa0d8811130adb1ffb3e0a344cfb59c069f5aa0f99b1f2422536ec96064b71374a3077b3a2a02d0fa cargo-0.30.0-powerpc64-foxkit-linux-musl.tar.xz -95f447bd698177732f4105ddcf4e60d5695a4345f6eb49d5d49ff2402de6d28199ca1aba1a630088beee40b8063477bed4dd47532c53cbb72de3ee5687a9c689 rust-std-1.29.2-powerpc64-foxkit-linux-musl.tar.xz -a140b9f524205a756192fed740492bbc01205ce77196dd44244752a99d8e6ede03cb9b8ef0d986e23ea882ebf24e773d6e426054c5840989379d81427ad37f07 rustc-1.29.2-powerpc64-foxkit-linux-musl.tar.xz -efab6cffae2569ea022f099a461629bdfc01604772baf0fc56a03b63954c0540f1f2039b364ed06bfac4e6a3a3e86e5bd6aadcbf90cac769c74f810f9a19cdd9 0001-Don-t-pass-CFLAGS-to-the-C-compiler.patch -92b3c418ae96e97049c3c9bf5aef0ba85f6d95bc82262f902ae48af25c02e2f06a5e270136dee3fc6c56ec4f80e44c2575d2ab61d626ab2cc460081458caecd2 0002-Fix-LLVM-build.patch -069bb3809eb3a5ff364e45ed0625cf70038f866ea24328b1d7f6b163ad02a00a23c9dad02799acff0b78ca79a68df7f59a49b68ad30df033741f482cd4141d83 0003-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch -1ac789ff4bc5f73d707fd36bcabf7c51077d31355ed1d4de2d1bbd6445fb2cfaeaf93aaf789493959df47faafdd04acc17d7212b2dd157e0865be9c55f919e37 0004-Require-static-native-libraries-when-linking-static-.patch -d14d322141964d3b80e29ad195e9df8ea62c88bc3890fc00dabea3ec7de4b4e4c796a7b1f1fc2014356724d6d5b631e92a72446a7c05c6b06a4e250be0f83b45 0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch -21267b1d2408d08324864453f08d7bb26008f7799da08d24ed0dccbb02ae0d8f40a894bc77cc45bf8dee7fbc655aa3a8ee9bc7e5fcf1bdc3a9b46b363d6dfaa5 0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch -a50fb08f4e52213fef4e8303a3978661b43cd58c36676ed35c79b05767c2b02a3ac9416f7a3229f14821c433d2a47b38bc03bf419d70ae597a4f5145de2ed20b 0007-Add-powerpc-unknown-linux-musl-target.patch -35e93fcc03d3afee55ab0c9a6c3b832e74ee0ff5e9e37f0d134ac934ed70afc2b485e141103715e661aff280b9513d02e1802ff4829d0c7283600e047306f4d8 0008-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch -4bcef503d82b1f5676cd2d4f3deaac606abebd68002586e0e64b5c6c3c2846c473fa3f23a9227451ca42b971542dea2384b29d7c4e7543549e00fbc4d0039458 0009-Use-the-ELFv2-ABI-on-powerpc64-musl.patch -6ff6d6014a4e64486aef97239520239adf9b755f9e16309e4b529d6be5fab845ad9c9b943036db5c29125b4d58870911cf124d61b235f4e4ed81d9b182f9b5e9 0010-Add-powerpc64-unknown-linux-musl-target.patch -4f74438f47c42e205934c96d4e0920eacd9e3829c77d9253b7a12188c134de8c9ad79f6453c7bd49b71f5bfd3ce95864401b947275f8d73f0028374236694985 0011-Add-missing-OpenSSL-configurations-for-musl-targets.patch -352f77e0480a9762b7520fabbec9a0adea15783044ae16ec383cede1b714fb10594c7a6a26d3d59cea33980e1fd38836987eeb99828e33b1a26111274df7e84e 0012-rustc_data_structures-use-libc-types-constants-in-fl.patch -3da23479210496db34dae495b7b98c44aad24363650e35e887b97e9d3b90084f4d57dd2fc0ae0b69de2bd42dc920d6d2829b9b190b16f4c6acd072c8b7cb2988 0013-runtest-Fix-proc-macro-tests-on-musl-hosts.patch -a170e78757e3d31eb0d6869ca082bcd1b919bc192cb1b9c4940c12b09e4948956bf0c06e63261484c2f868320fbc69a9156f4477bf3ccefad334dab495ea758e 0014-Fix-double_check-tests-on-big-endian-targets.patch -7e4fdbe3d4c12dc1bdd1f2c9bae01999cc50949628a61f210599f146c2a29ea3450b242cac8fced0fef7334b825a1114da9b632b2e8020dbae085d8a1d2c5168 0015-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch -35abfcfc12781870b1b3d58afb4a40ba3ed4873a171defec6af170f9b671e46e0daefd258a29fa546aba8b62b80cbae4365d4b4ffc4864a90ec21eac0cca03fe 0016-test-linkage-visibility-Ensure-symbols-are-visible-t.patch -3efd92224b2bddd1c539b578fcc1f13d69f66bcfef678502f2b2f34a0b44307ac92a87854f136234af860e787048835047aab24428a867aefa16784c6b553673 0017-x.py-Use-python3-instead-of-python.patch -b19e6f892bc428c577b6bbaed8f764072e320fa03fcab509b2ac1c3e9284dcd0f62ac43fddb71b2fe756de47bbc158d815e37b735d55585071bcf0d6bce40c5f 0018-test-target-feature-gate-Only-run-on-relevant-target.patch -315a325ae6dbfbfefb237f17843c6dfbedb244378fb9118d441208d879ee6913d2c99e8fe519d3924485bd74f2d95d1b68804e290311eab58fcc50631d4e6f7a 0019-test-use-extern-for-plugins-Don-t-assume-multilib.patch -285220c4c2faace1abcbc5c4e96f18435fcd2203736240cffc107737f4b424132052b62a9ffa790de4c88323d4b20ccbf61607104d773a385cd3c83c0d2b056a 0020-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch -05eb137c7f6fc00e40f55c24e8191fd42a0d39dc1758d40779624ba4c1654bf97383b6ababcc36f5850e1fe10dedb47cfad7a176b2ac4fd0b8659bf3cf969a58 0021-Ignore-broken-and-non-applicable-tests.patch -02a15f2ad61acbea8dbba54e78f4c4343bbc4f26fc3f48e522f19ef79287e83d3d45b338ae4820fd770677f6cd0f52b0d38050318c60d9d2d3d2e57b196379bf 0022-Link-stage-2-tools-dynamically-to-libstd.patch -9d6d1761b6348d2e6ec7773d14cce2a6b1bc579ba4f2689ff245017d399e24895128617376ed26f009ebe5e9a0ba1a79bb71bc95373c3565e88d4f1a78a47161 0023-Move-debugger-scripts-to-usr-share-rust.patch -4837e36aacffd82fcc5cb63e971b02de906087b5865331c6d61f5ab112bf728ec55d9481d328b5462a08142167e8fad2f5e7cbd24700948a04c4d8de9d281324 0024-Add-foxkit-target-specs.patch +sha512sums="d6688711452295c41468af214f036499074d82fbeedc3f03560275219c2fae910e623e38e3210176d86f78ba5533ea098da5ff21532c8ad1a5aac132bb74ee02 rustc-1.31.1-src.tar.xz +c414a250edcf5b9c390137a01dc728f22e3067adab43f91bc06a4bed7580bf0e6171e4a844167b5c4bc13774c9ef9e33e1f5cab018dac8b3df6d630a9a163e2c cargo-0.31.0-powerpc64-foxkit-linux-musl.tar.xz +c6eeb91d7de95401d118d287435ac24e014711f73e86fab7da0a082d7cf03abfe137563cfe6a88b1309cdb0fec11acfceac01cc3bbc2e83650026230ce0cf079 rust-std-1.30.1-powerpc64-foxkit-linux-musl.tar.xz +f6099a632de0b4201c3d4639a9c32244fb2fccee891af13fc7efdbaf546e37a67c80b0bce92a19ad746349c59a3627fded64ebcace34fb33c2773bb4aa799cfb rustc-1.30.1-powerpc64-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" -- cgit v1.2.3-60-g2f50