Add SIOCGSTAMPNS support. Fixes #188530.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9502 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c
index e967393..df97cd2 100644
--- a/coregrind/m_syswrap/syswrap-linux.c
+++ b/coregrind/m_syswrap/syswrap-linux.c
@@ -3526,6 +3526,9 @@
case VKI_SIOCGSTAMP:
PRE_MEM_WRITE( "ioctl(SIOCGSTAMP)", ARG3, sizeof(struct vki_timeval));
break;
+ case VKI_SIOCGSTAMPNS:
+ PRE_MEM_WRITE( "ioctl(SIOCGSTAMPNS)", ARG3, sizeof(struct vki_timespec));
+ break;
/* SIOCOUTQ is an ioctl that, when called on a socket, returns
the number of bytes currently in that socket's send buffer.
It writes this value as an int to the memory location
@@ -4569,6 +4572,9 @@
case VKI_SIOCGSTAMP:
POST_MEM_WRITE( ARG3, sizeof(struct vki_timeval) );
break;
+ case VKI_SIOCGSTAMPNS:
+ POST_MEM_WRITE( ARG3, sizeof(struct vki_timespec) );
+ break;
/* SIOCOUTQ is an ioctl that, when called on a socket, returns
the number of bytes currently in that socket's send buffer.
It writes this value as an int to the memory location
diff --git a/include/vki/vki-amd64-linux.h b/include/vki/vki-amd64-linux.h
index d9be99e..50e7dcb 100644
--- a/include/vki/vki-amd64-linux.h
+++ b/include/vki/vki-amd64-linux.h
@@ -281,9 +281,10 @@
// From linux-2.6.9/include/asm-x86_64/sockios.h
//----------------------------------------------------------------------
-#define VKI_SIOCSPGRP 0x8902
-#define VKI_SIOCGPGRP 0x8904
-#define VKI_SIOCGSTAMP 0x8906 /* Get stamp */
+#define VKI_SIOCSPGRP 0x8902
+#define VKI_SIOCGPGRP 0x8904
+#define VKI_SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
+#define VKI_SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */
//----------------------------------------------------------------------
// From linux-2.6.9/include/asm-x86_64/stat.h
diff --git a/include/vki/vki-ppc32-linux.h b/include/vki/vki-ppc32-linux.h
index af5fc72..074a8f8 100644
--- a/include/vki/vki-ppc32-linux.h
+++ b/include/vki/vki-ppc32-linux.h
@@ -342,9 +342,10 @@
#define VKI_SOL_SOCKET 1
#define VKI_SO_TYPE 3
-#define VKI_SIOCSPGRP 0x8902
-#define VKI_SIOCGPGRP 0x8904
-#define VKI_SIOCGSTAMP 0x8906 /* Get stamp */
+#define VKI_SIOCSPGRP 0x8902
+#define VKI_SIOCGPGRP 0x8904
+#define VKI_SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
+#define VKI_SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */
//----------------------------------------------------------------------
// From linux-2.6.10/include/asm-ppc/stat.h
diff --git a/include/vki/vki-ppc64-linux.h b/include/vki/vki-ppc64-linux.h
index c2a8d58..063fc55 100644
--- a/include/vki/vki-ppc64-linux.h
+++ b/include/vki/vki-ppc64-linux.h
@@ -404,7 +404,8 @@
#define VKI_SIOCSPGRP 0x8902
#define VKI_SIOCGPGRP 0x8904
-#define VKI_SIOCGSTAMP 0x8906 /* Get stamp */
+#define VKI_SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
+#define VKI_SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */
//----------------------------------------------------------------------
// From linux-2.6.13/include/asm-ppc64/stat.h
diff --git a/include/vki/vki-x86-linux.h b/include/vki/vki-x86-linux.h
index 68e80f5..13a4e4e 100644
--- a/include/vki/vki-x86-linux.h
+++ b/include/vki/vki-x86-linux.h
@@ -318,9 +318,10 @@
// From linux-2.6.8.1/include/asm-i386/sockios.h
//----------------------------------------------------------------------
-#define VKI_SIOCSPGRP 0x8902
-#define VKI_SIOCGPGRP 0x8904
-#define VKI_SIOCGSTAMP 0x8906 /* Get stamp */
+#define VKI_SIOCSPGRP 0x8902
+#define VKI_SIOCGPGRP 0x8904
+#define VKI_SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
+#define VKI_SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */
//----------------------------------------------------------------------
// From linux-2.6.8.1/include/asm-i386/stat.h