[Bug network/21267] [mips] bits/socket.h IOC* namespace
cvs-commit at gcc dot gnu.org
sourceware-bugzilla@sourceware.org
Tue Apr 18 21:23:00 GMT 2017
https://sourceware.org/bugzilla/show_bug.cgi?id=21267
--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 2288c2674d050cbbe96a3eb00e7dda1452160c32 (commit)
from 4cb334c4d6249686653137ec273d081371b3672d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=2288c2674d050cbbe96a3eb00e7dda1452160c32
commit 2288c2674d050cbbe96a3eb00e7dda1452160c32
Author: Joseph Myers <joseph@codesourcery.com>
Date: Tue Apr 18 21:22:51 2017 +0000
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.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 10 +++++++++
sysdeps/unix/sysv/linux/bits/socket.h | 35 +++++++++++++++++++++++++++++++++
2 files changed, 45 insertions(+), 0 deletions(-)
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Glibc-bugs
mailing list