u-mips-fixes
authorDebian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Fri, 2 Nov 2018 08:42:36 +0000 (08:42 +0000)
committerXimin Luo <infinity0@debian.org>
Fri, 2 Nov 2018 08:42:36 +0000 (08:42 +0000)
Gbp-Pq: Name u-mips-fixes.diff

src/librustc_codegen_llvm/llvm_util.rs
src/test/run-pass/invalid_const_promotion.rs
src/test/ui/asm/asm-out-assign-imm.rs

index 9e8ff2047036bc6767fe75c04dd97a57f81648ef..b09f8345579e8407621cecd2ca81283b308517c7 100644 (file)
@@ -68,6 +68,8 @@ unsafe fn configure_llvm(sess: &Session) {
             add("-disable-preinline");
         }
 
+       if sess.target.target.arch == "mips" || sess.target.target.arch == "mips64" { add("-fast-isel=0"); }
+
         for arg in &sess.opts.cg.llvm_args {
             add(&(*arg));
         }
index a18d82fb7a4e7e22c334fe85204ff5b500795ae7..4fa4385d9cb387b12314267825820a16dde659b1 100644 (file)
@@ -35,7 +35,8 @@ fn check_status(status: std::process::ExitStatus)
     use std::os::unix::process::ExitStatusExt;
 
     assert!(status.signal() == Some(libc::SIGILL)
-            || status.signal() == Some(libc::SIGABRT));
+            || status.signal() == Some(libc::SIGABRT)
+           || status.signal() == Some(libc::SIGTRAP));
 }
 
 #[cfg(not(unix))]
index 73143f1154631be50106dbf82ee28d79e985a0f7..cf7a2a0cfd49126605df5b189266f8de4295a3cd 100644 (file)
@@ -10,6 +10,8 @@
 
 // ignore-s390x
 // ignore-emscripten
+// ignore-mips
+// ignore-mips64
 // ignore-powerpc
 // ignore-powerpc64
 // ignore-powerpc64le