remove getitimer and setitimer
_GNU_SOURCE works differently than other libraries and creates
function pointer issues
diff --git a/libc-test/build.rs b/libc-test/build.rs
index 6506d8d..c697e5b 100644
--- a/libc-test/build.rs
+++ b/libc-test/build.rs
@@ -173,6 +173,7 @@
             cfg.header("sys/xattr.h");
         }
         cfg.header("sys/ipc.h");
+        cfg.header("sys/sem.h");
         cfg.header("sys/msg.h");
         cfg.header("sys/shm.h");
         cfg.header("sys/fsuid.h");
diff --git a/src/unix/mod.rs b/src/unix/mod.rs
index edc2484..9eba709 100644
--- a/src/unix/mod.rs
+++ b/src/unix/mod.rs
@@ -570,12 +570,6 @@
 
     pub fn flock(fd: ::c_int, operation: ::c_int) -> ::c_int;
 
-    #[cfg_attr(target_os = "netbsd", link_name = "__getitimer50")]
-    pub fn getitimer(which: ::c_int, curr_value: *mut ::itimerval) -> ::c_int;
-    #[cfg_attr(target_os = "netbsd", link_name = "__setitimer50")]
-    pub fn setitimer(which: ::c_int,
-                     new_value: *::itimerval,
-                     old_value: *::itimerval) -> ::c_int;
     #[cfg_attr(target_os = "netbsd", link_name = "__gettimeofday50")]
     pub fn gettimeofday(tp: *mut ::timeval,
                         tz: *mut ::c_void) -> ::c_int;
diff --git a/src/unix/notbsd/linux/mod.rs b/src/unix/notbsd/linux/mod.rs
index 8b9f081..1082b26 100644
--- a/src/unix/notbsd/linux/mod.rs
+++ b/src/unix/notbsd/linux/mod.rs
@@ -227,10 +227,9 @@
     }
 
     pub struct sembuf {
-        pub semval: ::c_ushort,
-        pub semzcnt: ::c_ushort,
-        pub semncnt: ::c_ushort,
-        pub sempid:  ::pid_t,
+        pub sem_num: ::c_ushort,
+        pub sem_op: ::c_short,
+        pub semn_flg: ::c_short,
     }
 
     pub struct semid_ds {