libc-test: ignore user-defined struct
diff --git a/libc-test/build.rs b/libc-test/build.rs
index 553dde2..48a922f 100644
--- a/libc-test/build.rs
+++ b/libc-test/build.rs
@@ -283,6 +283,11 @@
         match ty {
             "sockaddr_nl" => musl,
 
+            // On Linux, the type of `ut_tv` field of `struct utmpx`
+            // can be an anonymous struct, so an extra struct,
+            // which is absent in glibc, has to be defined.
+            "__timeval" if linux => true,
+
             // The alignment of this is 4 on 64-bit OSX...
             "kevent" if apple && x86_64 => true,
 
@@ -431,7 +436,9 @@
         // This is a weird union, don't check the type.
         (struct_ == "ifaddrs" && field == "ifa_ifu") ||
         // sighandler_t type is super weird
-        (struct_ == "sigaction" && field == "sa_sigaction")
+        (struct_ == "sigaction" && field == "sa_sigaction") ||
+        // __timeval type is a patch which doesn't exist in glibc
+        (linux && struct_ == "utmpx" && field == "ut_tv")
     });
 
     cfg.skip_field(move |struct_, field| {