<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glibc/conform/data/sys, branch master</title>
<subtitle>Fork of glibc for development</subtitle>
<id>https://git.zx2c4.com/glibc/atom/conform/data/sys?h=master</id>
<link rel='self' href='https://git.zx2c4.com/glibc/atom/conform/data/sys?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/glibc/'/>
<updated>2020-12-28T22:37:04Z</updated>
<entry>
<title>hurd: Add WSTOPPED/WCONTINUED/WEXITED/WNOWAIT support [BZ #23091]</title>
<updated>2020-12-28T22:37:04Z</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2020-12-28T22:37:04Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/glibc/commit/?id=f6abd970284a06380cd9d905f43da104bd49fc95'/>
<id>urn:sha1:f6abd970284a06380cd9d905f43da104bd49fc95</id>
<content type='text'>
The new __proc_waitid RPC now expects WEXITED to be passed, allowing to
properly implement waitid, and thus define the missing W* macros
(according to FreeBSD values).
</content>
</entry>
<entry>
<title>sysvipc: Set ipc_perm mode as mode_t (BZ#18231)</title>
<updated>2019-10-10T20:33:27Z</updated>
<author>
<name>Adhemerval Zanella</name>
<email>adhemerval.zanella@linaro.org</email>
</author>
<published>2019-10-10T18:13:11Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/glibc/commit/?id=2f959dfe849e0646e27403f2e4091536496ac0f0'/>
<id>urn:sha1:2f959dfe849e0646e27403f2e4091536496ac0f0</id>
<content type='text'>
This patch sets the mode field in ipc_perm as mode_t for all architectures,
as POSIX specification [1].  The changes required are as follow:

  1. It moves the ipc_perm definition out of ipc.h to its own header
     ipc_perm.h.  It also allows consolidate the IPC_* definition on
     only one header.

  2. The generic implementation follow the kernel ipc64_perm size so the
     syscall can be made directly without temporary buffer copy.  However,
     since glibc defines the MODE field as mode_t, it omits the __PAD1 field
     (since glibc does not export mode_t as 16-bit for any architecture).

     It is a two-fold improvement:

     2.1. New implementation which follow Linux UAPI will not need to
	  provide an arch-specific ipc-perm.h header neither wrongly
          use the wrong 16-bit definition from previous default ipc.h
	  (as csky did).

     2.1. It allows consolidate ipc_perm definition for architectures that
          already provide mode_t as 32-bit.

  3. All kernel ABIs for the supported architectures already provides the
     expected padding for mode type extension to 32-bit.  However, some
     architectures the padding has the wrong placement, so it requires
     the ipc control routines (msgctl, semctl, and shmctl) to adjust the
     mode field accordingly.  Currently they are armeb, microblaze, m68k,
     s390, and sheb.

     A new assume is added, __ASSUME_SYSVIPC_BROKEN_MODE_T, which the
     required ABIs define.

  4. For the ABIs that define __ASSUME_SYSVIPC_BROKEN_MODE_T, it also
     require compat symbols that do not adjust the mode field.

Checked on arm-linux-gnueabihf, aarch64-linux-gnu, powerpc64le-linux-gnu,
and x86_64-linux-gnu. I also checked the sysvipc tests on hppa-linux-gnu,
sh4-linux-gnu, s390x-linux-gnu, and s390-linux-gnu.

I also did a sanity test against armeb qemu usermode for the sysvipc
tests.

	[BZ #18231]
	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
	bits/ipc-perm.h.
	* sysdeps/unix/sysv/linux/aarch64/bits/ipc.h: Remove file.
	* sysdeps/unix/sysv/linux/alpha/bits/ipc.h: Likewise.
	* sysdeps/unix/sysv/linux/hppa/bits/ipc.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/ipc.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/ipc.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/ipc.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/ipc.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/ipc.h: Likewise.
	* sysdeps/unix/sysv/linux/arm/kernel-features.h
	[__BYTE_ORDER == __BIG_ENDIAN] (__ASSUME_SYSVIPC_BROKEN_MODE_T):
	Define.
	* sysdeps/sysv/linux/microblaze/kernel-features.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/kernel-features.h
	[!__s390x__] (__ASSUME_SYSVIPC_BROKEN_MODE_T): Define.
	* sysdeps/unix/sysv/linux/sh/kernel-features.h
	(__ASSUME_SYSVIPC_BROKEN_MODE_T): Define.
	* sysdeps/unix/sysv/linux/m68k/kernel-features.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/ipc-perm.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/bits/ipc-perm.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/ipc-perm.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/ipc.h (ipc_perm): Move to
	bits/ipc-perm.h.
	* sysdeps/unix/sysv/linux/hppa/bits/ipc-perm.h: New file.
	* sysdeps/unix/sysv/linux/kernel-features.h: Add comment about
	__ASSUME_SYSVIPC_BROKEN_MODE_T semantic.
	* sysdeps/unix/sysv/linux/msgctl.c (DEFAULT_VERSION): Define as
	2.31 if __ASSUME_SYSVIPC_BROKEN_MODE_T is defined.
	(msgctl_syscall, __msgctl_mode16): New symbol.
	(__new_msgctl): Add bits for __ASSUME_SYSVIPC_BROKEN_MODE_T.
	* sysdeps/unix/sysv/linux/semctl.c: Likewise.
	* sysdeps/unix/sysv/linux/shmctl.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/be/libc.abilist (GLIBC_2.31): Add
	msgctl, semctl, and shmctl.
	* sysdeps/sysv/linux/microblaze/be/libc.abilist: Likewise.
	* sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise.
	* sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise.
	* sysdeps/unix/sysv/linux/sh/be/libc.abilist: Likewise.
	* conform/data/sys/ipc.h-data: Only xfail {struct ipc_perm} mode_t
	mode for Hurd.
	* sysdeps/unix/sysv/linux/m68k/Versions (libc) [GLIBC_2.31]: Add
	msgctl, semctl, and shmctl.
	* sysdeps/unix/sysv/linux/arm/be/Versions: New file.
	* sysdeps/unix/sysv/linux/microblaze/be/Versions: Likewise.
	* sysdeps/unix/sysv/linux/sh/be/Versions: Likewise.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_ipc.h.html
</content>
</entry>
<entry>
<title>conform: XFAIL siginfo_t si_band test on sparc64</title>
<updated>2018-10-25T12:36:57Z</updated>
<author>
<name>Florian Weimer</name>
<email>fweimer@redhat.com</email>
</author>
<published>2018-10-25T09:43:57Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/glibc/commit/?id=7c5e34d7f1b8f8f5acd94c2b885ae13b85414dcd'/>
<id>urn:sha1:7c5e34d7f1b8f8f5acd94c2b885ae13b85414dcd</id>
<content type='text'>
We can use long int on sparcv9, but on sparc64, we must match the int
type used by the kernel (and not long int, as in POSIX).
</content>
</entry>
<entry>
<title>hurd xfails: Add missing bug references</title>
<updated>2018-04-20T15:14:13Z</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2018-04-20T15:14:13Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/glibc/commit/?id=b75a9b26cf3e498705c09b3df77f974fd2da8685'/>
<id>urn:sha1:b75a9b26cf3e498705c09b3df77f974fd2da8685</id>
<content type='text'>
</content>
</entry>
<entry>
<title>hurd: XFAIL tests for signal features not implemented yet</title>
<updated>2018-04-20T00:27:54Z</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2018-04-19T23:18:22Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/glibc/commit/?id=cbc256b1dc833527138f03eb639d0deb4c70823f'/>
<id>urn:sha1:cbc256b1dc833527138f03eb639d0deb4c70823f</id>
<content type='text'>
	* conform/data/signal.h-data (SA_SIGINFO, SA_NOCLDWAIT): XFAIL on
	i386-gnu.
	* conform/data/sys/wait.h-data (WIFCONTINUED, WEXITED, WSTOPPED,
	WCONTINUED, WNOWAIT): XFAIL on i386-gnu.
</content>
</entry>
<entry>
<title>hurd: xfail some structure fields ABI incompatibility with standards</title>
<updated>2018-04-18T23:52:51Z</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2018-04-18T23:51:45Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/glibc/commit/?id=0dd25301f66058e510aaef0b176e19df2dd28fe7'/>
<id>urn:sha1:0dd25301f66058e510aaef0b176e19df2dd28fe7</id>
<content type='text'>
	* 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.
</content>
</entry>
<entry>
<title>conform sys/un.h: Allow sun_ prefix, not only sun_len</title>
<updated>2018-04-18T19:07:44Z</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2018-04-18T19:07:04Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/glibc/commit/?id=3dc0814cba86180c3ad478c81166220fb3e87ea5'/>
<id>urn:sha1:3dc0814cba86180c3ad478c81166220fb3e87ea5</id>
<content type='text'>
	* conform/data/sys/un.h-data: Allow sun_ prefix.
</content>
</entry>
<entry>
<title>hurd: fix conformity test for sys/un.h</title>
<updated>2018-04-17T23:10:23Z</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2018-04-17T22:34:18Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/glibc/commit/?id=8323a9022eea1b1d149eee6a8121a33c4d007bca'/>
<id>urn:sha1:8323a9022eea1b1d149eee6a8121a33c4d007bca</id>
<content type='text'>
sun_len is used by BSD systems, and conformant.

	* conform/data/sys/un.h-data (struct sockaddr_un): Allow sun_len
	member.
</content>
</entry>
<entry>
<title>conformtest: Disable si_value expectation for XPG42.</title>
<updated>2017-08-14T17:05:55Z</updated>
<author>
<name>Joseph Myers</name>
<email>joseph@codesourcery.com</email>
</author>
<published>2017-08-14T17:05:55Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/glibc/commit/?id=88ff4d5561f3ee0472b47cabf3741fb083bd27e8'/>
<id>urn:sha1:88ff4d5561f3ee0472b47cabf3741fb083bd27e8</id>
<content type='text'>
This patch corrects the conform/ expectations for sys/wait.h not to
expect si_value for XPG4.2.

Tested for x86_64.

	* conform/data/sys/wait.h-data (si_value): Do not expect for
	XPG42.
</content>
</entry>
<entry>
<title>conformtest: Correct sys/wait.h expectations for XPG4.</title>
<updated>2017-06-08T22:34:58Z</updated>
<author>
<name>Joseph Myers</name>
<email>joseph@codesourcery.com</email>
</author>
<published>2017-06-08T22:34:58Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/glibc/commit/?id=ab70273bb7b0d4b20325560eba1fd3777d7e5f11'/>
<id>urn:sha1:ab70273bb7b0d4b20325560eba1fd3777d7e5f11</id>
<content type='text'>
This patch corrects the conformtest expectations for sys/wait.h for
XPG4.  This does not change the test results for this header at the
makefile level since it fixes some spurious failures for this header
while introducing other failures previously hidden by incorrect
expectations.  However, it shows up issues with stdlib.h for XPG4
defining W* names that are not permitted in this case (previously
wrongly allowed; the W* reservation is UX-shaded in XPG4.2 /
XSI-shaded in POSIX before 2008); that test is thus XFAILed.

Tested for x86_64.

	* conform/data/sys/wait.h-data (WIFCONTINUED): Do not expect for
	[XPG4].
	(WEXITED): Likewise.
	(WSTOPPED): Likewise.
	(WCONTINUED): Likewise.
	(WNOHANG): Likewise.
	(WNOWAIT): Likewise.
	(idtype_t): Likewise.
	(P_ALL): Likewise.
	(P_PID): Likewise.
	(P_PGID): Likewise.
	(id_t): Likewise.
	(siginfo_t): Likewise.
	(wait3): Likewise.
	(waitid): Likewise.
	(signal.h): Do not allow header for [XPG4].
	(sys/resource.h): Likewise.
	(si_*): Do not allow for [XPG4].
	(W*): Likewise.
	(P_*): Likewise.
	(BUS_): Likewise.
	(CLD_): Likewise.
	(FPE_): Likewise.
	(ILL_): Likewise.
	(POLL_): Likewise.
	(SEGV_): Likewise.
	(SI_): Likewise.
	(TRAP_): Likewise.
	* conform/Makefile (test-xfail-XPG4/stdlib.h/conform): New
	variable.
</content>
</entry>
</feed>
