about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2018-04-19 01:51:45 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2018-04-19 01:52:51 +0200
commit0dd25301f66058e510aaef0b176e19df2dd28fe7 (patch)
tree7119da53e8a2f35554cd738153608686c2755902
parentd4379e0216d01fd1395b1f3b37255e3486760135 (diff)
downloadglibc-0dd25301f66058e510aaef0b176e19df2dd28fe7.tar.gz
glibc-0dd25301f66058e510aaef0b176e19df2dd28fe7.tar.xz
glibc-0dd25301f66058e510aaef0b176e19df2dd28fe7.zip
hurd: xfail some structure fields ABI incompatibility with standards
	* sysdeps/mach/hurd/i386/Makefile [$(subdir) = conform]
	(conformtest-xfail-conds): Add i386-gnu.
	* conform/data/fcntl.h-data (flock.l_type, flock.l_whence): XFAIL for
	i386-gnu.
	* conform/data/sys/ipc.h-data (ipc_perm.uid, ipc_perm.gid,
	ipc_perm.cuid, ipc_perm.cgid): Likewise.
	* conform/data/sys/msg.h-data (msqid_ds.msg_lspid,
	msqid_ds.msg_lrpid): Likewise.
	* conform/data/sys/shm.h-data (shmid_ds.shm_lpid, shmid_ds.shm_cpid):
	Likewise.
	* conform/data/sys/stat.h-data (stat.st_dev): Likewise.
	* conform/data/sys/statvfs.h-data (statvfs.f_fsid): Likewise.
-rw-r--r--ChangeLog15
-rw-r--r--conform/data/fcntl.h-data5
-rw-r--r--conform/data/sys/ipc.h-data9
-rw-r--r--conform/data/sys/msg.h-data5
-rw-r--r--conform/data/sys/shm.h-data5
-rw-r--r--conform/data/sys/stat.h-data3
-rw-r--r--conform/data/sys/statvfs.h-data3
-rw-r--r--sysdeps/mach/hurd/i386/Makefile5
8 files changed, 38 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index dcf0b71d3c..815c0bcaed 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2018-04-19  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+	* sysdeps/mach/hurd/i386/Makefile [$(subdir) = conform]
+	(conformtest-xfail-conds): Add i386-gnu.
+	* conform/data/fcntl.h-data (flock.l_type, flock.l_whence): XFAIL for
+	i386-gnu.
+	* conform/data/sys/ipc.h-data (ipc_perm.uid, ipc_perm.gid,
+	ipc_perm.cuid, ipc_perm.cgid): Likewise.
+	* conform/data/sys/msg.h-data (msqid_ds.msg_lspid,
+	msqid_ds.msg_lrpid): Likewise.
+	* conform/data/sys/shm.h-data (shmid_ds.shm_lpid, shmid_ds.shm_cpid):
+	Likewise.
+	* conform/data/sys/stat.h-data (stat.st_dev): Likewise.
+	* conform/data/sys/statvfs.h-data (statvfs.f_fsid): Likewise.
+
 2018-04-18  Joseph Myers  <joseph@codesourcery.com>
 
 	* scripts/build-many-glibcs.py (Context.add_all_configs): Use
diff --git a/conform/data/fcntl.h-data b/conform/data/fcntl.h-data
index 17596f5ff1..2d5827f6ec 100644
--- a/conform/data/fcntl.h-data
+++ b/conform/data/fcntl.h-data
@@ -78,8 +78,9 @@ constant POSIX_FADV_NOREUSE
 
 type {struct flock}
 
-element {struct flock} short l_type
-element {struct flock} short l_whence
+// Bug 23081: l_type and l_whence members of flock structure have type int instead of short
+xfail[i386-gnu]-element {struct flock} short l_type
+xfail[i386-gnu]-element {struct flock} short l_whence
 element {struct flock} off_t l_start
 element {struct flock} off_t l_len
 element {struct flock} pid_t l_pid
diff --git a/conform/data/sys/ipc.h-data b/conform/data/sys/ipc.h-data
index 70dc3f6fe6..09e8f68f8e 100644
--- a/conform/data/sys/ipc.h-data
+++ b/conform/data/sys/ipc.h-data
@@ -1,10 +1,11 @@
 #if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
 type {struct ipc_perm}
 
-element {struct ipc_perm} uid_t uid
-element {struct ipc_perm} gid_t gid
-element {struct ipc_perm} uid_t cuid
-element {struct ipc_perm} gid_t cgid
+// Bug 23082: uid/gid/cuid/cgid/mode have type unsigned short instead of uid_t and mode_t.
+xfail[i386-gnu]-element {struct ipc_perm} uid_t uid
+xfail[i386-gnu]-element {struct ipc_perm} gid_t gid
+xfail[i386-gnu]-element {struct ipc_perm} uid_t cuid
+xfail[i386-gnu]-element {struct ipc_perm} gid_t cgid
 // Bug 18231: wrong type for mode member.
 xfail-element {struct ipc_perm} mode_t mode
 
diff --git a/conform/data/sys/msg.h-data b/conform/data/sys/msg.h-data
index a8290cab52..f5e9f1c82a 100644
--- a/conform/data/sys/msg.h-data
+++ b/conform/data/sys/msg.h-data
@@ -9,8 +9,9 @@ constant MSG_NOERROR
 element {struct msqid_ds} {struct ipc_perm} msg_perm
 element {struct msqid_ds} msgqnum_t msg_qnum
 element {struct msqid_ds} msglen_t msg_qbytes
-element {struct msqid_ds} pid_t msg_lspid
-element {struct msqid_ds} pid_t msg_lrpid
+// Bug 23083: msg_lspid/msg_lrpid have type unsigned short instead of pid_t.
+xfail[i386-gnu]-element {struct msqid_ds} pid_t msg_lspid
+xfail[i386-gnu]-element {struct msqid_ds} pid_t msg_lrpid
 element {struct msqid_ds} time_t msg_stime
 element {struct msqid_ds} time_t msg_rtime
 element {struct msqid_ds} time_t msg_ctime
diff --git a/conform/data/sys/shm.h-data b/conform/data/sys/shm.h-data
index a006cdbb92..778b194f50 100644
--- a/conform/data/sys/shm.h-data
+++ b/conform/data/sys/shm.h-data
@@ -9,8 +9,9 @@ type {struct shmid_ds}
 
 element {struct shmid_ds} {struct ipc_perm} shm_perm
 element {struct shmid_ds} size_t shm_segsz
-element {struct shmid_ds} pid_t shm_lpid
-element {struct shmid_ds} pid_t shm_cpid
+// Bug 23085: shm_lpid/shm_cpid have type unsigned short instead of pid_t
+xfail[i386-gnu]-element {struct shmid_ds} pid_t shm_lpid
+xfail[i386-gnu]-element {struct shmid_ds} pid_t shm_cpid
 element {struct shmid_ds} shmatt_t shm_nattch
 element {struct shmid_ds} time_t shm_atime
 element {struct shmid_ds} time_t shm_dtime
diff --git a/conform/data/sys/stat.h-data b/conform/data/sys/stat.h-data
index 84452aef78..03be4814ec 100644
--- a/conform/data/sys/stat.h-data
+++ b/conform/data/sys/stat.h-data
@@ -27,7 +27,8 @@ type time_t
 type {struct stat}
 
 // Bug 17786: st_dev has wrong type.
-xfail[mips-o32-linux]-element {struct stat} dev_t st_dev
+// Bug 23084: st_dev has type unsigned long long instead of dev_t (unsigned).
+xfail[mips-o32-linux|i386-gnu]-element {struct stat} dev_t st_dev
 element {struct stat} ino_t st_ino
 element {struct stat} mode_t st_mode
 element {struct stat} nlink_t st_nlink
diff --git a/conform/data/sys/statvfs.h-data b/conform/data/sys/statvfs.h-data
index efdbff012d..2a74813e3d 100644
--- a/conform/data/sys/statvfs.h-data
+++ b/conform/data/sys/statvfs.h-data
@@ -9,7 +9,8 @@ element {struct statvfs} fsblkcnt_t f_bavail
 element {struct statvfs} fsfilcnt_t f_files
 element {struct statvfs} fsfilcnt_t f_ffree
 element {struct statvfs} fsfilcnt_t f_favail
-element {struct statvfs} {unsigned long} f_fsid
+// Bug 23086: f_fsid has type unsigned long long instead of unsigned long
+xfail[i386-gnu]-element {struct statvfs} {unsigned long} f_fsid
 element {struct statvfs} {unsigned long} f_flag
 element {struct statvfs} {unsigned long} f_namemax
 
diff --git a/sysdeps/mach/hurd/i386/Makefile b/sysdeps/mach/hurd/i386/Makefile
index 938d3b046d..d3be5ef50e 100644
--- a/sysdeps/mach/hurd/i386/Makefile
+++ b/sysdeps/mach/hurd/i386/Makefile
@@ -14,3 +14,8 @@ shared-only-routines += divdi3
 CPPFLAGS-divdi3.c = -Din_divdi3_c
 endif
 endif
+
+ifeq ($(subdir),conform)
+# For bugs 23081, 23082, 23083, 23084, 23085, 23086.
+conformtest-xfail-conds += i386-gnu
+endif