aboutsummaryrefslogtreecommitdiffstats
path: root/community/rust/link-musl-dynamically.patch
blob: 20a41fe3e780bc983b8bcb4cb859f5de861fbe38 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
We don't need those, we provide musl ourselves.
--- rustc-1.35.0-src/src/bootstrap/compile.rs
+++ rustc-1.35.0-src/src/bootstrap/compile.rs
@@ -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
-    //
-    // Since musl supports fully static linking, we can cross link for it even
-    // with a glibc-targeting toolchain, given we have the appropriate startup
-    // files. As those shipped with glibc won't work, copy the ones provided by
-    // musl so we have them on linux-gnu hosts.
-    if target.contains("musl") {
-        for &obj in &["crt1.o", "crti.o", "crtn.o"] {
-            builder.copy(
-                &builder.musl_root(target).unwrap().join("lib").join(obj),
-                &libdir.join(obj),
-            );
-        }
-    } 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),
--- rustc-1.35.0-src/vendor/libc/src/unix/mod.rs
+++ rustc-1.35.0-src/vendor/libc/src/unix/mod.rs
@@ -306,13 +306,6 @@ cfg_if! {
     } else if #[cfg(feature = "use_std")] {
         // cargo build, don't pull in anything extra as the libstd dep
         // already pulls in all libs.
-    } else if #[cfg(target_env = "musl")] {
-        #[cfg_attr(feature = "rustc-dep-of-std",
-                   link(name = "c", kind = "static",
-                        cfg(target_feature = "crt-static")))]
-        #[cfg_attr(feature = "rustc-dep-of-std",
-                   link(name = "c", cfg(not(target_feature = "crt-static"))))]
-        extern {}
     } else if #[cfg(target_os = "emscripten")] {
         #[link(name = "c")]
         extern {}