conformtest: Correct signal.h expectations for XPG4 / XPG42.

Various of the signal.h conform/ failures for XPG4 and XPG42 are
actually the result of incorrect test expectations rather than header
bugs.  This patch fixes the expectations to accord with those
standards (this does not however allow any XFAILs to be removed, as
some header bugs remain).  Note for anyone comparing with the
standards: corrigendum U013/16 removes the mention of a sigmask
function in signal.h (C435 lists such a function in the definition of
signal.h, but without any actual specification for the function
itself), so sigmask is not included in the expectations.

Tested for x86_64.

	* conform/data/signal.h-data (sa_sigaction): Do not expect for
	[XPG4].
	(SA_SIGINFO): Likewise.
	(SA_ONSTACK): Likewise.
	(SA_RESETHAND): Likewise.
	(SA_RESTART): Likewise.
	(SA_NOCLDWAIT): Likewise.
	(SA_NODEFER): Likewise.
	(SS_ONSTACK): Likewise.
	(SS_DISABLE): Likewise.
	(MINSIGSTKSZ): Likewise.
	(SIGSTKSZ): Likewise.
	(ucontext_t): Likewise.
	(stack_t): Likewise.
	(struct sigstack): Likewise.
	(SI_USER): Do not expect for [XPG4 || XPG42].
	(SI_QUEUE): Likewise.
	(SI_TIMER): Likewise.
	(SI_ASYNCIO): Likewise.
	(SI_MESGQ): Likewise.
	(bsd_signal): Do not expect for [XPG4].
	(killpg): Likewise.
	(sigaltstack): Likewise.
	(sighold): Likewise.
	(sigignore): Likewise.
	(siginterrupt): Likewise.
	(sigpause): Likewise.
	(sigrelse): Likewise.
	(sigset): Likewise.
	(sigwait): Do not expect for [XPG4 || XPG42].
This commit is contained in:
Joseph Myers 2017-06-01 17:17:43 +00:00
parent 72b81552a1
commit 6da85a0daf
2 changed files with 50 additions and 11 deletions

View File

@ -1,3 +1,36 @@
2017-06-01 Joseph Myers <joseph@codesourcery.com>
* conform/data/signal.h-data (sa_sigaction): Do not expect for
[XPG4].
(SA_SIGINFO): Likewise.
(SA_ONSTACK): Likewise.
(SA_RESETHAND): Likewise.
(SA_RESTART): Likewise.
(SA_NOCLDWAIT): Likewise.
(SA_NODEFER): Likewise.
(SS_ONSTACK): Likewise.
(SS_DISABLE): Likewise.
(MINSIGSTKSZ): Likewise.
(SIGSTKSZ): Likewise.
(ucontext_t): Likewise.
(stack_t): Likewise.
(struct sigstack): Likewise.
(SI_USER): Do not expect for [XPG4 || XPG42].
(SI_QUEUE): Likewise.
(SI_TIMER): Likewise.
(SI_ASYNCIO): Likewise.
(SI_MESGQ): Likewise.
(bsd_signal): Do not expect for [XPG4].
(killpg): Likewise.
(sigaltstack): Likewise.
(sighold): Likewise.
(sigignore): Likewise.
(siginterrupt): Likewise.
(sigpause): Likewise.
(sigrelse): Likewise.
(sigset): Likewise.
(sigwait): Do not expect for [XPG4 || XPG42].
2017-06-01 Zack Weinberg <zackw@panix.com> 2017-06-01 Zack Weinberg <zackw@panix.com>
[BZ #21514] [BZ #21514]

View File

@ -104,30 +104,34 @@ type {struct sigaction}
element {struct sigaction} {void(*} sa_handler )(int) element {struct sigaction} {void(*} sa_handler )(int)
element {struct sigaction} sigset_t sa_mask element {struct sigaction} sigset_t sa_mask
element {struct sigaction} int sa_flags element {struct sigaction} int sa_flags
# ifndef XPG4
element {struct sigaction} {void(*} sa_sigaction )(int, siginfo_t*, void*) element {struct sigaction} {void(*} sa_sigaction )(int, siginfo_t*, void*)
# endif
constant SA_NOCLDSTOP constant SA_NOCLDSTOP
# ifndef XPG4
constant SA_SIGINFO constant SA_SIGINFO
# endif
constant SIG_BLOCK constant SIG_BLOCK
constant SIG_UNBLOCK constant SIG_UNBLOCK
constant SIG_SETMASK constant SIG_SETMASK
# if !defined POSIX && !defined POSIX2008 # if !defined XPG4 && !defined POSIX && !defined POSIX2008
constant SA_ONSTACK constant SA_ONSTACK
# endif # endif
# if !defined POSIX # if !defined XPG4 && !defined POSIX
constant SA_RESETHAND constant SA_RESETHAND
constant SA_RESTART constant SA_RESTART
constant SA_NOCLDWAIT constant SA_NOCLDWAIT
constant SA_NODEFER constant SA_NODEFER
# endif # endif
# if !defined POSIX && !defined POSIX2008 # if !defined XPG4 && !defined POSIX && !defined POSIX2008
constant SS_ONSTACK constant SS_ONSTACK
constant SS_DISABLE constant SS_DISABLE
constant MINSIGSTKSZ constant MINSIGSTKSZ
constant SIGSTKSZ constant SIGSTKSZ
# endif # endif
# if !defined POSIX # if !defined XPG4 && !defined POSIX
type ucontext_t type ucontext_t
element ucontext_t {ucontext_t*} uc_link element ucontext_t {ucontext_t*} uc_link
@ -208,17 +212,19 @@ constant POLL_HUP
constant TRAP_BRKPT constant TRAP_BRKPT
constant TRAP_TRACE constant TRAP_TRACE
# endif # endif
# if !defined XPG4 && !defined XPG42
constant SI_USER constant SI_USER
constant SI_QUEUE constant SI_QUEUE
constant SI_TIMER constant SI_TIMER
constant SI_ASYNCIO constant SI_ASYNCIO
constant SI_MESGQ constant SI_MESGQ
# endif
# if !defined XOPEN2K8 && !defined POSIX && !defined POSIX2008 # if !defined XPG4 && !defined XOPEN2K8 && !defined POSIX && !defined POSIX2008
function void (*bsd_signal (int, void(*)(int)))(int) function void (*bsd_signal (int, void(*)(int)))(int)
# endif # endif
function int kill (pid_t, int) function int kill (pid_t, int)
# if !defined POSIX && !defined POSIX2008 # if !defined XPG4 && !defined POSIX && !defined POSIX2008
function int killpg (pid_t, int) function int killpg (pid_t, int)
# endif # endif
# if !defined XPG4 && !defined XPG42 # if !defined XPG4 && !defined XPG42
@ -227,19 +233,19 @@ function int pthread_sigmask (int, const sigset_t*, sigset_t*)
# endif # endif
function int sigaction (int, const struct sigaction*, struct sigaction*) function int sigaction (int, const struct sigaction*, struct sigaction*)
function int sigaddset (sigset_t*, int) function int sigaddset (sigset_t*, int)
# if !defined POSIX && !defined POSIX2008 # if !defined XPG4 && !defined POSIX && !defined POSIX2008
function int sigaltstack (const stack_t*, stack_t*) function int sigaltstack (const stack_t*, stack_t*)
# endif # endif
function int sigdelset (sigset_t*, int) function int sigdelset (sigset_t*, int)
function int sigemptyset (sigset_t*) function int sigemptyset (sigset_t*)
function int sigfillset (sigset_t*) function int sigfillset (sigset_t*)
# if !defined POSIX && !defined POSIX2008 # if !defined XPG4 && !defined POSIX && !defined POSIX2008
function int sighold (int) function int sighold (int)
function int sigignore (int) function int sigignore (int)
function int siginterrupt (int, int) function int siginterrupt (int, int)
# endif # endif
function int sigismember (const sigset_t*, int) function int sigismember (const sigset_t*, int)
#if !defined POSIX && !defined POSIX2008 #if !defined XPG4 && !defined POSIX && !defined POSIX2008
function int sigpause (int) function int sigpause (int)
# endif # endif
function int sigpending (sigset_t*) function int sigpending (sigset_t*)
@ -247,7 +253,7 @@ function int sigprocmask (int, const sigset_t*, sigset_t*)
# if !defined XPG4 && !defined XPG42 # if !defined XPG4 && !defined XPG42
function int sigqueue (pid_t, int, const union sigval) function int sigqueue (pid_t, int, const union sigval)
# endif # endif
# if !defined POSIX && !defined POSIX2008 # if !defined XPG4 && !defined POSIX && !defined POSIX2008
function int sigrelse (int) function int sigrelse (int)
function void (*sigset (int, void(*)(int)))(int) function void (*sigset (int, void(*)(int)))(int)
# endif # endif
@ -258,8 +264,8 @@ function int sigsuspend (const sigset_t*)
# if !defined XPG4 && !defined XPG42 # if !defined XPG4 && !defined XPG42
function int sigtimedwait (const sigset_t*, siginfo_t*, const struct timespec*) function int sigtimedwait (const sigset_t*, siginfo_t*, const struct timespec*)
# endif # endif
function int sigwait (const sigset_t*, int*)
# if !defined XPG4 && !defined XPG42 # if !defined XPG4 && !defined XPG42
function int sigwait (const sigset_t*, int*)
function int sigwaitinfo (const sigset_t*, siginfo_t*) function int sigwaitinfo (const sigset_t*, siginfo_t*)
# endif # endif
# if defined XOPEN2K8 || defined POSIX2008 # if defined XOPEN2K8 || defined POSIX2008