Skip to content

Commit 4fec865

Browse files
committed
Skip C/Rust type checks for eventfd.
1 parent 56e42e7 commit 4fec865

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

libc-test/build.rs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ fn main() {
291291
});
292292

293293
cfg.skip_fn(move |name| {
294-
// skip those that are manually verifiedmanually verified
294+
// skip those that are manually verified
295295
match name {
296296
"execv" | // crazy stuff with const/mut
297297
"execve" |
@@ -333,6 +333,17 @@ fn main() {
333333
"ptrace" |
334334
"sigaltstack" if rumprun => true,
335335

336+
// There seems to be a small error in EGLIBC's eventfd.h header. The
337+
// [underlying system call][1] always takes its first `count`
338+
// argument as an `unsigned int`, but [EGLIBC's <sys/eventfd.h>
339+
// header][2] declares it to take an `int`. [GLIBC's header][3]
340+
// matches the kernel.
341+
//
342+
// [1]: https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/fs/eventfd.c?id=refs/tags/v3.12.51#n397
343+
// [2]: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/trusty/eglibc/trusty/view/head:/sysdeps/unix/sysv/linux/sys/eventfd.h
344+
// [3]: https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/sys/eventfd.h;h=6295f32e937e779e74318eb9d3bdbe76aef8a8f3;hb=4e42b5b8f89f0e288e68be7ad70f9525aebc2cff#l34
345+
"eventfd" if linux => true,
346+
336347
_ => false,
337348
}
338349
});

0 commit comments

Comments
 (0)