about summary refs log tree commit diff
path: root/src/libstd/sync
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-03-14 15:16:31 -0700
committerbors <bors@rust-lang.org>2014-03-14 15:16:31 -0700
commit26fdfa124c065872a0b3c98e7234b05b00840f20 (patch)
treebb2f938e28c8db156563a64fccfd81ac9c4c22de /src/libstd/sync
parent42fc32f293eb7de7139f058fa06f580a503b87b5 (diff)
parent6d7e86d099cf33821398731f750b36df564ca5d2 (diff)
downloadrust-26fdfa124c065872a0b3c98e7234b05b00840f20.tar.gz
rust-26fdfa124c065872a0b3c98e7234b05b00840f20.zip
auto merge of #12878 : crabtw/rust/mips, r=alexcrichton
I ignored AtomicU64 methods on MIPS target
because libgcc doesn't implement MIPS32 64-bit atomic operations.
Otherwise it would cause link failure.

By the way, the patched LLVM doesn't have MIPS split stack anymore.
Should I file an issue about that?
Diffstat (limited to 'src/libstd/sync')
-rw-r--r--src/libstd/sync/atomics.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libstd/sync/atomics.rs b/src/libstd/sync/atomics.rs
index b4d465c0397..b38a5aed16f 100644
--- a/src/libstd/sync/atomics.rs
+++ b/src/libstd/sync/atomics.rs
@@ -225,6 +225,10 @@ impl AtomicInt {
     }
 }
 
+// temporary workaround
+// it causes link failure on MIPS target
+// libgcc doesn't implement 64-bit atomic operations for MIPS32
+#[cfg(not(target_arch = "mips"))]
 impl AtomicU64 {
     pub fn new(v: u64) -> AtomicU64 {
         AtomicU64 { v:v, nopod: marker::NoPod }