From: Daniel Drake Using glibc-2.7 with the Makefile fixed to install the signalfd and eventfd headers. A simple program that just includes fails to compile: In file included from /usr/include/sys/signalfd.h:8, from core.c:40: /usr/include/gentoo-multilib/amd64/sys/signalfd.h:54: error: expected ')' before numeric constant /usr/include/gentoo-multilib/amd64/sys/signalfd.h:54: error: expected ',' or ';' before ')' token The problem is with the __nonnull annotation expanding to: __attribute__ ((__nonnull__ 2)) whereas it should be: __attribute__ ((__nonnull__ (2))) Index: glibc-2.7/sysdeps/unix/sysv/linux/sys/signalfd.h =================================================================== --- glibc-2.7.orig/sysdeps/unix/sysv/linux/sys/signalfd.h +++ glibc-2.7/sysdeps/unix/sysv/linux/sys/signalfd.h @@ -51,7 +51,7 @@ __BEGIN_DECLS /* Request notification for delivery of signals in MASK to be performed using descriptor FD.*/ extern int signalfd (int __fd, const sigset_t *__mask, int __flags) - __nonnull (2) __THROW; + __nonnull ((2)) __THROW; __END_DECLS