about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-03-20 21:30:28 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-03-20 21:30:28 +0000
commit76b2c32a166f4812c0649162c9df99d707779304 (patch)
tree4dabe8aba0c0dea65fba553ef06e5515afa4d0d7
parent112039611cc21c5cbe41b578633f39d2fe396618 (diff)
downloadglibc-76b2c32a166f4812c0649162c9df99d707779304.tar.gz
glibc-76b2c32a166f4812c0649162c9df99d707779304.tar.xz
glibc-76b2c32a166f4812c0649162c9df99d707779304.zip
conformtest: Add x32 XFAILs for mq_attr element types (bug 21279).
POSIX specifies long as the type of elements of struct mq_attr.  For
x32, they are __syscall_slong_t (i.e. long long).  This patch XFAILs
the corresponding tests for x32 in the conformtest expectations (the
bug should not be closed without an actual fix).

Tested with build-many-glibcs.py.

	[BZ #21279]
	* sysdeps/unix/sysv/linux/x86_64/x32/Makefile
	[$(subdir) = conform] (conformtest-xfail-conds): Update comment.
	* conform/data/mqueue.h-data (mq_attr.mq_flags): XFAIL for
	x86_64-x32-linux.
	(mq_attr.mq_maxmsg): Likewise.
	(mq_attr.mq_msgsize): Likewise.
	(mq_attr.mq_curmsgs): Likewise.
-rw-r--r--ChangeLog9
-rw-r--r--conform/data/mqueue.h-data9
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/Makefile2
3 files changed, 15 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 644cd482b4..eb5b25ae02 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2017-03-20  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #21279]
+	* sysdeps/unix/sysv/linux/x86_64/x32/Makefile
+	[$(subdir) = conform] (conformtest-xfail-conds): Update comment.
+	* conform/data/mqueue.h-data (mq_attr.mq_flags): XFAIL for
+	x86_64-x32-linux.
+	(mq_attr.mq_maxmsg): Likewise.
+	(mq_attr.mq_msgsize): Likewise.
+	(mq_attr.mq_curmsgs): Likewise.
+
 	[BZ #21278]
 	* sysdeps/unix/sysv/linux/mips/mips32/Makefile
 	[$(subdir) = conform] (conformtest-xfail-conds): Update comment.
diff --git a/conform/data/mqueue.h-data b/conform/data/mqueue.h-data
index 76652ce661..c7d40bac78 100644
--- a/conform/data/mqueue.h-data
+++ b/conform/data/mqueue.h-data
@@ -10,10 +10,11 @@ element {struct sigevent} {void(*} sigev_notify_function )(union sigval)
 element {struct sigevent} {pthread_attr_t*} sigev_notify_attributes
 
 type {struct mq_attr}
-element {struct mq_attr} long mq_flags
-element {struct mq_attr} long mq_maxmsg
-element {struct mq_attr} long mq_msgsize
-element {struct mq_attr} long mq_curmsgs
+// Bug 21279: mq_attr elements have wrong type.
+xfail[x86_64-x32-linux]-element {struct mq_attr} long mq_flags
+xfail[x86_64-x32-linux]-element {struct mq_attr} long mq_maxmsg
+xfail[x86_64-x32-linux]-element {struct mq_attr} long mq_msgsize
+xfail[x86_64-x32-linux]-element {struct mq_attr} long mq_curmsgs
 
 function int mq_close (mqd_t)
 function int mq_getattr (mqd_t, struct mq_attr*)
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/Makefile b/sysdeps/unix/sysv/linux/x86_64/x32/Makefile
index 72de38603a..16b768d8ba 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/Makefile
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/Makefile
@@ -6,6 +6,6 @@ sysdep_routines += arch_prctl
 endif
 
 ifeq ($(subdir),conform)
-# For bug 16437.
+# For bugs 16437 and 21279.
 conformtest-xfail-conds += x86_64-x32-linux
 endif