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| {