diff options
author | A. Wilcox <awilcox@wilcox-tech.com> | 2019-06-01 23:06:05 +0000 |
---|---|---|
committer | A. Wilcox <awilcox@wilcox-tech.com> | 2019-06-01 23:06:05 +0000 |
commit | fc8a8c07a6a2d4497783d92264a2cf2036161867 (patch) | |
tree | 9c51aee789895949855774f104f0bd202a18148d /user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch | |
parent | 413cf17ca5808b6f2c897486ac2787580d64dd8e (diff) | |
parent | 7e1cca3044a2ec11b12b1e0004eb59be38950bed (diff) | |
download | packages-fc8a8c07a6a2d4497783d92264a2cf2036161867.tar.gz packages-fc8a8c07a6a2d4497783d92264a2cf2036161867.tar.bz2 packages-fc8a8c07a6a2d4497783d92264a2cf2036161867.tar.xz packages-fc8a8c07a6a2d4497783d92264a2cf2036161867.zip |
Merge branch 'rust' into 'master'
Rust bump
Builds on pmmx/x86_64/ppc64/aarch64. Successfully builds Firefox.
Still fails 17 tests on ppc32, but the ICE has been fixed:
```
[run-make] run-make-fulldeps/exit-code
[run-make] run-make-fulldeps/extern-fn-generic
[run-make] run-make-fulldeps/extern-fn-struct-passing-abi
[run-make] run-make-fulldeps/extern-fn-with-packed-struct
[run-make] run-make-fulldeps/extern-fn-with-union
[run-make] run-make-fulldeps/issue-25581
[run-make] run-make-fulldeps/relocation-model
[run-pass] run-pass/extern/extern-pass-TwoU16s.rs
[run-pass] run-pass/extern/extern-pass-TwoU32s.rs
[run-pass] run-pass/extern/extern-pass-TwoU64s.rs
[run-pass] run-pass/extern/extern-pass-TwoU8s.rs
[run-pass] run-pass/extern/extern-pass-empty.rs
[run-pass] run-pass/foreign/foreign-fn-with-byval.rs
[run-pass] run-pass/issues/issue-28676.rs
[run-pass] run-pass/structs-enums/struct-return.rs
[run-pass] run-pass/threads-sendsync/thread-local-extern-static.rs
[run-pass] run-pass/union/union-c-interop.rs
```
See merge request !232
Diffstat (limited to 'user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch')
-rw-r--r-- | user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch | 146 |
1 files changed, 75 insertions, 71 deletions
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 6053de26b..4d70e7084 100644 --- a/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch +++ b/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch @@ -1,13 +1,13 @@ -From 5d98731bae319172c5fbfd8235f62bb00acb3a7d Mon Sep 17 00:00:00 2001 +From 121e89f649b1cfe3c18dc622279dc5a79873fcdb Mon Sep 17 00:00:00 2001 From: Samuel Holland <samuel@sholland.org> Date: Fri, 8 Sep 2017 22:11:14 -0500 -Subject: [PATCH 05/14] Remove -nostdlib and musl_root from musl targets +Subject: [PATCH 05/13] Remove -nostdlib and musl_root from musl targets --- config.toml.example | 6 ---- - src/bootstrap/bin/rustc.rs | 12 -------- + src/bootstrap/bin/rustc.rs | 10 ------- src/bootstrap/cc_detect.rs | 27 ++---------------- - src/bootstrap/compile.rs | 21 -------------- + src/bootstrap/compile.rs | 21 +------------- src/bootstrap/config.rs | 7 ----- src/bootstrap/configure.py | 22 --------------- src/bootstrap/lib.rs | 8 ------ @@ -15,14 +15,15 @@ Subject: [PATCH 05/14] Remove -nostdlib and musl_root from musl targets .../dist-i586-gnu-i586-i686-musl/Dockerfile | 2 -- src/ci/docker/dist-various-1/Dockerfile | 7 ----- src/ci/docker/dist-x86_64-musl/Dockerfile | 1 - + src/ci/docker/test-various/Dockerfile | 1 - src/librustc_target/spec/linux_musl_base.rs | 16 ----------- - 12 files changed, 3 insertions(+), 154 deletions(-) + 13 files changed, 4 insertions(+), 152 deletions(-) diff --git a/config.toml.example b/config.toml.example -index 23943d34b7..5eace54c6b 100644 +index 8b2153cd2e..b8145ce8d5 100644 --- a/config.toml.example +++ b/config.toml.example -@@ -461,12 +461,6 @@ +@@ -474,12 +474,6 @@ # only use static libraries. If unset, the target's default linkage is used. #crt-static = false @@ -32,27 +33,19 @@ index 23943d34b7..5eace54c6b 100644 -# linked binaries -#musl-root = "..." - - # Used in testing for configuring where the QEMU images are located, you - # probably don't want to use this. - #qemu-rootfs = "..." + # The root location of the `wasm32-unknown-wasi` sysroot. + #wasi-root = "..." + diff --git a/src/bootstrap/bin/rustc.rs b/src/bootstrap/bin/rustc.rs -index a0c75cd9e9..f8daab9bd1 100644 +index a76584093f..8a534ab8e2 100644 --- a/src/bootstrap/bin/rustc.rs +++ b/src/bootstrap/bin/rustc.rs -@@ -20,7 +20,6 @@ - extern crate bootstrap; - - use std::env; --use std::ffi::OsString; - use std::io; - use std::path::PathBuf; - use std::process::Command; -@@ -116,17 +115,6 @@ fn main() { +@@ -122,16 +122,6 @@ fn main() { cmd.arg("-Cprefer-dynamic"); } -- // Help the libc crate compile by assisting it in finding the MUSL -- // native libraries. +- // Help the libc crate compile by assisting it in finding various +- // sysroot native libraries. - if let Some(s) = env::var_os("MUSL_ROOT") { - if target.contains("musl") { - let mut root = OsString::from("native="); @@ -61,15 +54,14 @@ index a0c75cd9e9..f8daab9bd1 100644 - cmd.arg("-L").arg(&root); - } - } -- - // Override linker if necessary. - if let Ok(target_linker) = env::var("RUSTC_TARGET_LINKER") { - cmd.arg(format!("-Clinker={}", target_linker)); + if let Some(s) = env::var_os("WASI_ROOT") { + let mut root = OsString::from("native="); + root.push(&s); diff --git a/src/bootstrap/cc_detect.rs b/src/bootstrap/cc_detect.rs -index 37844759c7..fa553c0b06 100644 +index dfc243b705..848d1d4b2b 100644 --- a/src/bootstrap/cc_detect.rs +++ b/src/bootstrap/cc_detect.rs -@@ -85,7 +85,7 @@ pub fn find(build: &mut Build) { +@@ -84,7 +84,7 @@ pub fn find(build: &mut Build) { if let Some(cc) = config.and_then(|c| c.cc.as_ref()) { cfg.compiler(cc); } else { @@ -78,7 +70,7 @@ index 37844759c7..fa553c0b06 100644 } let compiler = cfg.get_compiler(); -@@ -114,7 +114,7 @@ pub fn find(build: &mut Build) { +@@ -113,7 +113,7 @@ pub fn find(build: &mut Build) { if let Some(cxx) = config.and_then(|c| c.cxx.as_ref()) { cfg.compiler(cxx); } else { @@ -87,7 +79,7 @@ index 37844759c7..fa553c0b06 100644 } let compiler = cfg.get_compiler(); build.verbose(&format!("CXX_{} = {:?}", host, compiler.path())); -@@ -125,8 +125,7 @@ pub fn find(build: &mut Build) { +@@ -124,8 +124,7 @@ pub fn find(build: &mut Build) { fn set_compiler(cfg: &mut cc::Build, compiler: Language, target: Interned<String>, @@ -97,7 +89,7 @@ index 37844759c7..fa553c0b06 100644 match &*target { // When compiling for android we may have the NDK configured in the // config.toml in which case we look there. Otherwise the default -@@ -166,26 +165,6 @@ fn set_compiler(cfg: &mut cc::Build, +@@ -165,26 +164,6 @@ fn set_compiler(cfg: &mut cc::Build, } } @@ -125,11 +117,11 @@ index 37844759c7..fa553c0b06 100644 } } diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs -index b581271663..21421b2e38 100644 +index 66443d472d..bbaa32a91c 100644 --- a/src/bootstrap/compile.rs +++ b/src/bootstrap/compile.rs -@@ -114,21 +114,6 @@ impl Step for Std { - fn copy_third_party_objects(builder: &Builder, compiler: &Compiler, target: Interned<String>) { +@@ -114,20 +114,7 @@ impl Step for Std { + fn copy_third_party_objects(builder: &Builder<'_>, compiler: &Compiler, target: Interned<String>) { let libdir = builder.sysroot_libdir(*compiler, target); - // Copies the crt(1,i,n).o startup objects @@ -145,29 +137,29 @@ index b581271663..21421b2e38 100644 - &libdir.join(obj), - ); - } -- } -- - // Copies libunwind.a compiled to be linked wit x86_64-fortanix-unknown-sgx. - // - // This target needs to be linked to Fortanix's port of llvm's libunwind. -@@ -182,12 +167,6 @@ pub fn std_cargo(builder: &Builder, - cargo.arg("--features").arg(features) +- } else if target.ends_with("-wasi") { ++ if target.ends_with("-wasi") { + for &obj in &["crt1.o"] { + builder.copy( + &builder.wasi_root(target).unwrap().join("lib/wasm32-wasi").join(obj), +@@ -190,12 +177,6 @@ pub fn std_cargo(builder: &Builder<'_>, .arg("--manifest-path") .arg(builder.src.join("src/libstd/Cargo.toml")); -- + - if target.contains("musl") { - if let Some(p) = builder.musl_root(target) { - cargo.env("MUSL_ROOT", p); - } - } - } - } - +- + if target.ends_with("-wasi") { + if let Some(p) = builder.wasi_root(target) { + cargo.env("WASI_ROOT", p); diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs -index 9421817ae6..cd70c1a1e4 100644 +index 0c31c41ced..b8c690fc41 100644 --- a/src/bootstrap/config.rs +++ b/src/bootstrap/config.rs -@@ -128,8 +128,6 @@ pub struct Config { +@@ -133,8 +133,6 @@ pub struct Config { pub print_step_timings: bool, pub missing_tools: bool, @@ -176,15 +168,15 @@ index 9421817ae6..cd70c1a1e4 100644 pub prefix: Option<PathBuf>, pub sysconfdir: Option<PathBuf>, pub datadir: Option<PathBuf>, -@@ -164,7 +162,6 @@ pub struct Target { +@@ -169,7 +167,6 @@ pub struct Target { pub linker: Option<PathBuf>, pub ndk: Option<PathBuf>, pub crt_static: Option<bool>, - pub musl_root: Option<PathBuf>, + pub wasi_root: Option<PathBuf>, pub qemu_rootfs: Option<PathBuf>, pub no_std: bool, - } -@@ -296,7 +293,6 @@ struct Rust { +@@ -306,7 +303,6 @@ struct Rust { backtrace: Option<bool>, default_linker: Option<String>, channel: Option<String>, @@ -192,35 +184,35 @@ index 9421817ae6..cd70c1a1e4 100644 rpath: Option<bool>, optimize_tests: Option<bool>, debuginfo_tests: Option<bool>, -@@ -335,7 +331,6 @@ struct TomlTarget { +@@ -346,7 +342,6 @@ struct TomlTarget { linker: Option<String>, android_ndk: Option<String>, crt_static: Option<bool>, - musl_root: Option<String>, + wasi_root: Option<String>, qemu_rootfs: Option<String>, } - -@@ -549,7 +544,6 @@ impl Config { +@@ -566,7 +561,6 @@ impl Config { set(&mut config.llvm_tools_enabled, rust.llvm_tools); - config.rustc_parallel_queries = rust.experimental_parallel_queries.unwrap_or(false); + config.rustc_parallel = rust.parallel_compiler.unwrap_or(false); config.rustc_default_linker = rust.default_linker.clone(); - config.musl_root = rust.musl_root.clone().map(PathBuf::from); config.save_toolstates = rust.save_toolstates.clone().map(PathBuf::from); set(&mut config.deny_warnings, rust.deny_warnings.or(flags.warnings)); set(&mut config.backtrace_on_ice, rust.backtrace_on_ice); -@@ -592,7 +586,6 @@ impl Config { +@@ -609,7 +603,6 @@ impl Config { target.ranlib = cfg.ranlib.clone().map(PathBuf::from); target.linker = cfg.linker.clone().map(PathBuf::from); target.crt_static = cfg.crt_static.clone(); - target.musl_root = cfg.musl_root.clone().map(PathBuf::from); + target.wasi_root = cfg.wasi_root.clone().map(PathBuf::from); target.qemu_rootfs = cfg.qemu_rootfs.clone().map(PathBuf::from); - config.target_config.insert(INTERNER.intern_string(triple.clone()), target); diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py -index b0c3c97024..5128897bf7 100755 +index ade8afee7c..f9ccf7aed5 100755 --- a/src/bootstrap/configure.py +++ b/src/bootstrap/configure.py -@@ -105,28 +105,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk", +@@ -111,28 +111,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk", "aarch64-linux-android NDK standalone path") v("x86_64-linux-android-ndk", "target.x86_64-linux-android.android-ndk", "x86_64-linux-android NDK standalone path") @@ -250,10 +242,10 @@ index b0c3c97024..5128897bf7 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 74c04bac6b..aa91600ea7 100644 +index 71ca61d97e..3b53029a79 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs -@@ -849,14 +849,6 @@ impl Build { +@@ -861,14 +861,6 @@ impl Build { } } @@ -265,14 +257,14 @@ index 74c04bac6b..aa91600ea7 100644 - .map(|p| &**p) - } - - /// Returns true if this is a no-std `target`, if defined - fn no_std(&self, target: Interned<String>) -> Option<bool> { + /// Returns the sysroot for the wasi target, if defined + fn wasi_root(&self, target: Interned<String>) -> Option<&Path> { self.config.target_config.get(&target) diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs -index fe547a6b15..a452c874c4 100644 +index b9f456e910..792c975333 100644 --- a/src/bootstrap/sanity.rs +++ b/src/bootstrap/sanity.rs -@@ -169,34 +169,6 @@ pub fn check(build: &mut Build) { +@@ -171,34 +171,6 @@ pub fn check(build: &mut Build) { } } @@ -321,10 +313,10 @@ index ba2d32a929..412c37fdd1 100644 --disable-docs diff --git a/src/ci/docker/dist-various-1/Dockerfile b/src/ci/docker/dist-various-1/Dockerfile -index ab2dd5a399..a9569fe6d4 100644 +index a722a41839..44e6728de7 100644 --- a/src/ci/docker/dist-various-1/Dockerfile +++ b/src/ci/docker/dist-various-1/Dockerfile -@@ -128,13 +128,6 @@ ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \ +@@ -132,13 +132,6 @@ ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \ CXX_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-g++ ENV RUST_CONFIGURE_ARGS \ @@ -339,22 +331,34 @@ index ab2dd5a399..a9569fe6d4 100644 --disable-docs diff --git a/src/ci/docker/dist-x86_64-musl/Dockerfile b/src/ci/docker/dist-x86_64-musl/Dockerfile -index 06f8a2fbba..f5dd379528 100644 +index 21a9023a45..db7c9729d0 100644 --- a/src/ci/docker/dist-x86_64-musl/Dockerfile +++ b/src/ci/docker/dist-x86_64-musl/Dockerfile -@@ -30,7 +30,6 @@ COPY scripts/sccache.sh /scripts/ +@@ -29,7 +29,6 @@ COPY scripts/sccache.sh /scripts/ RUN sh /scripts/sccache.sh ENV RUST_CONFIGURE_ARGS \ -- --musl-root-x86_64=/musl-x86_64 \ +- --musl-root-x86_64=/usr/local/x86_64-linux-musl \ --enable-extended \ --disable-docs +diff --git a/src/ci/docker/test-various/Dockerfile b/src/ci/docker/test-various/Dockerfile +index 611a24a69b..99c2b866b1 100644 +--- a/src/ci/docker/test-various/Dockerfile ++++ b/src/ci/docker/test-various/Dockerfile +@@ -31,7 +31,6 @@ COPY scripts/sccache.sh /scripts/ + RUN sh /scripts/sccache.sh + + ENV RUST_CONFIGURE_ARGS \ +- --musl-root-x86_64=/usr/local/x86_64-linux-musl \ + --set build.nodejs=/node-v9.2.0-linux-x64/bin/node \ + --set rust.lld + diff --git a/src/librustc_target/spec/linux_musl_base.rs b/src/librustc_target/spec/linux_musl_base.rs -index 1bc90d1a73..e26a5240a6 100644 +index e294e63982..58ae91a96a 100644 --- a/src/librustc_target/spec/linux_musl_base.rs +++ b/src/librustc_target/spec/linux_musl_base.rs -@@ -3,28 +3,12 @@ use spec::{LinkerFlavor, TargetOptions}; +@@ -3,28 +3,12 @@ use crate::spec::{LinkerFlavor, TargetOptions}; pub fn opts() -> TargetOptions { let mut base = super::linux_base::opts(); |