This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH] Fix bits/socket.h SIOCGSTAMP* namespace issues
- From: Vincent Chen <vincentc at andestech dot com>
- To: <libc-alpha at sourceware dot org>
- Cc: <deanbo422 at gmail dot com>, Vincent Chen <vincentc at andestech dot com>
- Date: Thu, 13 Jun 2019 11:06:43 +0800
- Subject: [PATCH] Fix bits/socket.h SIOCGSTAMP* namespace issues
Macro SIOCGSTAMP_OLD and SIOCGSTAMPNS_OLD are added to asm/socket.h in
Linux 5.1 for 64-bit timestamps implementation.
sysdeps/unix/sysv/linux/bits/socket.h includes asm/socket.h. That
includes asm/sockios.h resulting in namespace violations from
SIOCGSTAMP_OLD and SIOCGSTAMPNS_OLD macros. Add these two macros to
workaound list in sysdeps/unix/sysv/linux/bits/socket.h like other
macros in asm/sockios.h.
Tested (compilation only) with build-many-glibcs.py.
* sysdeps/unix/sysv/linux/bits/socket.h (SIOCGSTAMP_OLD): Undefine
if defined by <asm/socket.h> and not previously defined.
(SIOCGSTAMPNS_OLD): Likewise.
---
ChangeLog | 6 ++++++
sysdeps/unix/sysv/linux/bits/socket.h | 14 ++++++++++++++
2 files changed, 20 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index 2afedc1..63ed2ed 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2019-06-13 Vincent Chen <vincentc@andestech.com>
+
+ * sysdeps/unix/sysv/linux/bits/socket.h (SIOCGSTAMP_OLD): Undefine
+ if defined by <asm/socket.h> and not previously defined.
+ (SIOCGSTAMPNS_OLD): Likewise.
+
2019-06-12 Adhemerval Zanella <adhemerval.zanella@linaro.org>
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile
diff --git a/sysdeps/unix/sysv/linux/bits/socket.h b/sysdeps/unix/sysv/linux/bits/socket.h
index 99af01d..4e5d58a 100644
--- a/sysdeps/unix/sysv/linux/bits/socket.h
+++ b/sysdeps/unix/sysv/linux/bits/socket.h
@@ -372,6 +372,12 @@ struct ucred
# ifndef SIOCSPGRP
# define __SYS_SOCKET_H_undef_SIOCSPGRP
# endif
+# ifndef SIOCGSTAMP_OLD
+# define __SYS_SOCKET_H_undef_SIOCGSTAMP_OLD
+# endif
+# ifndef SIOCGSTAMPNS_OLD
+# define __SYS_SOCKET_H_undef_SIOCGSTAMPNS_OLD
+# endif
#endif
#ifndef IOCSIZE_MASK
# define __SYS_SOCKET_H_undef_IOCSIZE_MASK
@@ -421,6 +427,14 @@ struct ucred
# undef __SYS_SOCKET_H_undef_SIOCSPGRP
# undef SIOCSPGRP
# endif
+# ifdef __SYS_SOCKET_H_undef_SIOCGSTAMP_OLD
+# undef __SYS_SOCKET_H_undef_SIOCGSTAMP_OLD
+# undef SIOCGSTAMP_OLD
+# endif
+# ifdef __SYS_SOCKET_H_undef_SIOCGSTAMPNS_OLD
+# undef __SYS_SOCKET_H_undef_SIOCGSTAMPNS_OLD
+# undef SIOCGSTAMPNS_OLD
+# endif
#endif
#ifdef __SYS_SOCKET_H_undef_IOCSIZE_MASK
# undef __SYS_SOCKET_H_undef_IOCSIZE_MASK
--
1.9.5