From: "Mike Frysinger" Userspace should be worrying about userspace, so having the socket.h and stat.h pollute the namespace in the non-glibc case is wrong and pretty much prevents any other libc from utilizing these headers sanely unless they set up the __GLIBC__ define themselves (which sucks) Cc: "David S. Miller" Signed-off-by: Andrew Morton --- include/linux/socket.h | 2 +- include/linux/stat.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff -puN include/linux/socket.h~scrub-non-__glibc__-checks-in-linux-socketh-and-linux-stath include/linux/socket.h --- a/include/linux/socket.h~scrub-non-__glibc__-checks-in-linux-socketh-and-linux-stath +++ a/include/linux/socket.h @@ -16,7 +16,7 @@ struct __kernel_sockaddr_storage { /* _SS_MAXSIZE value minus size of ss_family */ } __attribute__ ((aligned(_K_SS_ALIGNSIZE))); /* force desired alignment */ -#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) +#ifdef __KERNEL__ #include /* arch-dependent defines */ #include /* the SIOCxxx I/O controls */ diff -puN include/linux/stat.h~scrub-non-__glibc__-checks-in-linux-socketh-and-linux-stath include/linux/stat.h --- a/include/linux/stat.h~scrub-non-__glibc__-checks-in-linux-socketh-and-linux-stath +++ a/include/linux/stat.h @@ -7,7 +7,7 @@ #endif -#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) +#ifdef __KERNEL__ #define S_IFMT 00170000 #define S_IFSOCK 0140000 _