Get OSX tests compiling
diff --git a/libc-test/build.rs b/libc-test/build.rs
index 4b64473..54f5a9f 100644
--- a/libc-test/build.rs
+++ b/libc-test/build.rs
@@ -64,6 +64,7 @@
         ]);
 
         if self.target.contains("apple-darwin") {
+            base.push("mach-o/dyld.h");
             base.push("mach/mach_time.h");
         }
 
@@ -90,11 +91,13 @@
             base.push("pthread.h");
             base.push("signal.h");
             base.push("stdalign.h");
+            base.push("string.h");
             base.push("sys/file.h");
             base.push("sys/ioctl.h");
             base.push("sys/mman.h");
             base.push("sys/resource.h");
             base.push("sys/socket.h");
+            base.push("sys/sysctl.h");
             base.push("sys/time.h");
             base.push("sys/un.h");
             base.push("sys/wait.h");
@@ -385,6 +388,7 @@
             "glob" |
             "getrlimit" |
             "setrlimit" |
+            "signal" |
             "getopt" => return,
             _ => {}
         }
diff --git a/libc-test/tests/all.rs b/libc-test/tests/all.rs
index 298a3c9..7fb6efb 100644
--- a/libc-test/tests/all.rs
+++ b/libc-test/tests/all.rs
@@ -1,4 +1,4 @@
-#![allow(bad_style)]
+#![allow(bad_style, unused_imports)]
 
 extern crate libc;
 extern crate libc_test;
@@ -13,6 +13,7 @@
 #[cfg(unix)] use libc::funcs::posix01::glob::*;
 #[cfg(unix)] use libc::funcs::posix01::signal::*;
 #[cfg(unix)] use libc::funcs::posix88::signal::*;
+#[cfg(target_os = "macos")] use libc::funcs::extra::*;
 
 trait Pretty {
     fn pretty(&self) -> String;
diff --git a/src/lib.rs b/src/lib.rs
index 4df3ee6..33493ad 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -5834,7 +5834,7 @@
         pub mod mman {
             use types::common::c95::{c_void};
             use types::os::arch::c95::{size_t, c_int, c_char};
-            use types::os::arch::posix88::{mode_t, off_t};
+            use types::os::arch::posix88::{off_t};
 
             #[cfg(not(target_os = "nacl"))]
             extern {
@@ -5848,8 +5848,12 @@
 
                 pub fn msync(addr: *mut c_void, len: size_t, flags: c_int)
                              -> c_int;
-                pub fn shm_open(name: *const c_char, oflag: c_int, mode: mode_t)
+                #[cfg(target_os = "macos")]
+                pub fn shm_open(name: *const c_char, oflag: c_int, ...)
                                 -> c_int;
+                #[cfg(target_os = "linux")]
+                pub fn shm_open(name: *const c_char, oflag: c_int,
+                                mode: ::mode_t) -> c_int;
                 pub fn shm_unlink(name: *const c_char) -> c_int;
             }
 
@@ -6116,7 +6120,7 @@
               target_os = "openbsd"))]
     pub mod bsd44 {
         use types::common::c95::{c_void};
-        use types::os::arch::c95::{c_char, c_uchar, c_int, c_uint, c_ulong, size_t};
+        use types::os::arch::c95::{c_char, c_int, c_uint, c_ulong, size_t};
 
         extern {
             pub fn ioctl(fd: c_int, request: c_ulong, ...) -> c_int;
@@ -6140,7 +6144,7 @@
             pub fn getdtablesize() -> c_int;
             pub fn madvise(addr: *mut c_void, len: size_t, advice: c_int)
                            -> c_int;
-            pub fn mincore(addr: *mut c_void, len: size_t, vec: *mut c_uchar)
+            pub fn mincore(addr: *const c_void, len: size_t, vec: *mut c_char)
                            -> c_int;
             pub fn realpath(pathname: *const c_char, resolved: *mut c_char)
                             -> *mut c_char;
@@ -6190,10 +6194,10 @@
 
     #[cfg(any(target_os = "macos", target_os = "ios"))]
     pub mod extra {
-        use types::os::arch::c95::{c_char, c_int};
+        use {c_char, c_int, uint32_t};
 
         extern {
-            pub fn _NSGetExecutablePath(buf: *mut c_char, bufsize: *mut u32)
+            pub fn _NSGetExecutablePath(buf: *mut c_char, bufsize: *mut uint32_t)
                                         -> c_int;
         }
     }