in sysdeps/unix/sysv/linux/bits/fcntl-linux.h, struct file_handle is defined with an array member f_handle of length 0. This is a constraint violation according to the C11 standard, section 6.7.6.2, paragraph 1, which declares that if an array is declared with an integer constant expression as a size, it shall have a value greater than 0. I suspect what was actually meant here is for f_handle to have an incomplete array type, which would declare f_handle as a flexible array member of the struct.