about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--conform/data/signal.h-data3
-rw-r--r--conform/data/sys/select.h-data3
-rw-r--r--conform/data/sys/stat.h-data3
-rw-r--r--conform/data/time.h-data3
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/Makefile5
6 files changed, 22 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index e2caa3ee61..ce823aec0f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2017-03-18  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #16437]
+	* sysdeps/unix/sysv/linux/x86_64/x32/Makefile
+	[$(subdir) = conform] (conformtest-xfail-conds): New variable.
+	* conform/data/signal.h-data (timespec.tv_nsec): XFAIL for
+	x86_64-x32-linux.
+	* conform/data/sys/select.h-data (timespec.tv_nsec): Likewise.
+	* conform/data/sys/stat.h-data (timespec.tv_nsec): Likewise.
+	* conform/data/time.h-data (timespec.tv_nsec): Likewise.
+
 	[BZ #21261]
 	* sysdeps/unix/sysv/linux/sparc/bits/setjmp.h
 	[__WORDSIZE == 64 && !_ASM] (__sparc64_jmp_buf): Use reserved
diff --git a/conform/data/signal.h-data b/conform/data/signal.h-data
index 6fca921492..1443215e40 100644
--- a/conform/data/signal.h-data
+++ b/conform/data/signal.h-data
@@ -30,7 +30,8 @@ element ucontext_t mcontext_t uc_mcontext
 
 type {struct timespec}
 element {struct timespec} __time_t tv_sec
-element {struct timespec} long tv_nsec
+// Bug 16437: tv_nsec has wrong type.
+xfail[x86_64-x32-linux]-element {struct timespec} long tv_nsec
 #endif
 
 #if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
diff --git a/conform/data/sys/select.h-data b/conform/data/sys/select.h-data
index d414ec4624..824fc2ab01 100644
--- a/conform/data/sys/select.h-data
+++ b/conform/data/sys/select.h-data
@@ -10,7 +10,8 @@ type sigset_t
 
 type {struct timespec}
 element {struct timespec} time_t tv_sec
-element {struct timespec} long tv_nsec
+// Bug 16437: tv_nsec has wrong type.
+xfail[x86_64-x32-linux]-element {struct timespec} long tv_nsec
 
 type fd_set
 #if defined XPG3 || defined XPG4 || defined UNIX98
diff --git a/conform/data/sys/stat.h-data b/conform/data/sys/stat.h-data
index 79293bfe19..781cbb26b4 100644
--- a/conform/data/sys/stat.h-data
+++ b/conform/data/sys/stat.h-data
@@ -61,7 +61,8 @@ element {struct stat} blkcnt_t st_blocks
 # if defined XOPEN2K8 || defined POSIX2008
 type {struct timespec}
 element {struct timespec} time_t tv_sec
-element {struct timespec} long tv_nsec
+// Bug 16437: tv_nsec has wrong type.
+xfail[x86_64-x32-linux]-element {struct timespec} long tv_nsec
 # endif
 
 #if !defined POSIX && !defined POSIX2008
diff --git a/conform/data/time.h-data b/conform/data/time.h-data
index 9fbe54ed12..ee67fcce66 100644
--- a/conform/data/time.h-data
+++ b/conform/data/time.h-data
@@ -9,7 +9,8 @@ macro-int-constant TIME_UTC > 0
 type {struct timespec}
 
 element {struct timespec} time_t tv_sec
-element {struct timespec} long tv_nsec
+// Bug 16437: tv_nsec has wrong type.
+xfail[x86_64-x32-linux]-element {struct timespec} long tv_nsec
 #endif
 
 type size_t
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/Makefile b/sysdeps/unix/sysv/linux/x86_64/x32/Makefile
index 8c3253bc90..72de38603a 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/Makefile
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/Makefile
@@ -4,3 +4,8 @@ default-abi := x32
 ifeq ($(subdir),misc)
 sysdep_routines += arch_prctl
 endif
+
+ifeq ($(subdir),conform)
+# For bug 16437.
+conformtest-xfail-conds += x86_64-x32-linux
+endif