summaryrefslogtreecommitdiff
path: root/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch
diff options
context:
space:
mode:
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.patch146
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();