summary refs log tree commit diff
path: root/src/libstd/rt
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2015-04-21 15:56:55 -0700
committerAlex Crichton <alex@alexcrichton.com>2015-04-27 10:11:15 -0700
commit6c048723f83fad6c96c2e19d6dfa1db547371c11 (patch)
treef73cdb4b5a30c302af48c94fc30f126e5d734364 /src/libstd/rt
parentd09851730c47f49555c84b76dd6e71d91b0555ed (diff)
downloadrust-6c048723f83fad6c96c2e19d6dfa1db547371c11.tar.gz
rust-6c048723f83fad6c96c2e19d6dfa1db547371c11.zip
std: Prepare for linking to musl
This commit modifies the standard library and its dependencies to link correctly
when built against MUSL. This primarily ensures that the right libraries are
linked against and when they're linked against they're linked against
statically.
Diffstat (limited to 'src/libstd/rt')
-rw-r--r--src/libstd/rt/libunwind.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libstd/rt/libunwind.rs b/src/libstd/rt/libunwind.rs
index 4b754bd5f58..8f75ae5ef5c 100644
--- a/src/libstd/rt/libunwind.rs
+++ b/src/libstd/rt/libunwind.rs
@@ -97,10 +97,15 @@ pub type _Unwind_Exception_Cleanup_Fn =
         extern "C" fn(unwind_code: _Unwind_Reason_Code,
                       exception: *mut _Unwind_Exception);
 
-#[cfg(any(target_os = "linux", target_os = "freebsd"))]
+#[cfg(any(all(target_os = "linux", not(target_env = "musl")),
+          target_os = "freebsd"))]
 #[link(name = "gcc_s")]
 extern {}
 
+#[cfg(all(target_os = "linux", target_env = "musl", not(test)))]
+#[link(name = "unwind", kind = "static")]
+extern {}
+
 #[cfg(any(target_os = "android", target_os = "openbsd"))]
 #[link(name = "gcc")]
 extern {}