This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]