Get tests for mips passing
diff --git a/libc-test/build.rs b/libc-test/build.rs
index 60e8927..04a34b1 100644
--- a/libc-test/build.rs
+++ b/libc-test/build.rs
@@ -54,7 +54,7 @@
         }
 
         // android also doesn't have stdalign.h so get alignof ourselves
-        if self.target.contains("android") {
+        if self.target.contains("android") || self.target.contains("mips") {
             ret.push("alignof __alignof__");
         }
 
@@ -134,7 +134,9 @@
             } else {
                 base.push("glob.h");
                 base.push("ifaddrs.h");
-                base.push("stdalign.h");
+                if !self.target.contains("mips") {
+                    base.push("stdalign.h");
+                }
                 base.push("sys/sysctl.h");
             }
         }
@@ -209,6 +211,8 @@
             ("x86", "32")
         } else if self.target.starts_with("arm") {
             ("arm", "32")
+        } else if self.target.starts_with("mips") {
+            ("mips", "32")
         } else {
             panic!("unknown arch/pointer width: {}", self.target)
         };
diff --git a/libc-test/tests/all.rs b/libc-test/tests/all.rs
index c0f9eca..a2f4daf 100644
--- a/libc-test/tests/all.rs
+++ b/libc-test/tests/all.rs
@@ -27,9 +27,12 @@
 }
 p! { i8 i16 i32 i64 u8 u16 u32 u64 usize isize }
 
+static mut FAILED: bool = false;
+
 fn same<T: Eq + Pretty>(rust: T, c: T, attr: &str) {
     if rust != c {
-        panic!("bad {}: rust: {} != c {}", attr, rust.pretty(), c.pretty());
+        println!("bad {}: rust: {} != c {}", attr, rust.pretty(), c.pretty());
+        unsafe { FAILED = true; }
     }
 }
 
@@ -60,5 +63,11 @@
 fn main() {
     println!("RUNNING ALL TESTS");
     run_all();
-    println!("PASSED");
+    unsafe {
+        if FAILED {
+            panic!("some tests failed");
+        } else {
+            println!("PASSED");
+        }
+    }
 }