summaryrefslogtreecommitdiff
path: root/conform
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-04-18 21:22:51 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-04-18 21:22:51 +0000
commit2288c2674d050cbbe96a3eb00e7dda1452160c32 (patch)
treef8e90cf82d83282f3c3ab75fea29dcf2108b24eb /conform
parent4cb334c4d6249686653137ec273d081371b3672d (diff)
Fix bits/socket.h IOC* namespace issues (bug 21267).
sysdeps/unix/sysv/linux/bits/socket.h includes asm/socket.h. That includes asm/sockios.h, which on MIPS includes asm/ioctl.h, resulting in namespace violations from IOC* macros. bits/socket.h already has code to handle asm/socket.h unconditionally defining macros that are only wanted for __USE_MISC. This patch extends it to handle the IOC* macros as well (always undefining them if not defined when bits/socket.h was included, as I don't think they are part of the intended API even for __USE_MISC). It's possible there should also be a kernel fix - it's not clear to me that IOC* belong in the uapi headers, and even if they do they might best be split out into another header to avoid getting defined by this particular path. But since glibc needs to deal with existing kernel headers, it also seems appropriate to extend the existing workaround to these macros. Tested (compilation only) with build-many-glibcs.py. [BZ #21267] * sysdeps/unix/sysv/linux/bits/socket.h (IOCSIZE_MASK): Undefine if defined by <asm/socket.h> and not previously defined. (IOCSIZE_SHIFT): Likewise. (IOC_IN): Likewise. (IOC_INOUT): Likewise. (IOC_OUT): Likewise.
Diffstat (limited to 'conform')
0 files changed, 0 insertions, 0 deletions