1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-08 17:42:12 +03:00

conformtest: clean up POSIX expectations for semaphore.h, signal.h, tar.h.

Continuing the series of patches to clean up conformtest expectations
for "POSIX" (1995/6) based on review of the expectations against the
standard, this patch cleans up those for semaphore.h, signal.h and
tar.h (including various corrections for other standards for the
expectations affected by this patch).  Tested x86_64.

(Some of the failures for signal.h shown up by this patch correcting
expectations for that header are among the reasons for posix/annexc
being expected to fail.  The goal is for conformtest eventually to
replace posix/annexc and stdlib/isomac once it has all relevant
functionality, and for the loop over standards and headers in
conformtest to convert to separate makefile targets for each
combination, so they can be run in parallel and so that xfails can be
more specific than the present xfailing of the whole of conformtest.)

	* conform/conformtest.pl: Allow ' and \ in values given for
	constants.
	* conform/data/semaphore.h-data [POSIX] (fcntl.h): Allow header
	inclusion.
	[POSIX] (sys/types.h): Likewise.
	[POSIX2008 || XOPEN2K8] (sys/types.h): Don't allow header
	inclusion.
	[POSIX || UNIX98 || XOPEN2K] (time.h): Don't allow header
	inclusion.
	* conform/data/signal.h-data (SIGIO): Remove expectation.
	[XPG3] (SIGBUS): Do not expect.
	[POSIX || XPG3] (SIGPOLL): Likewise.
	[POSIX || XPG3] (SIGPROF): Likewise.
	[POSIX || XPG3] (SIGSYS): Likewise.
	[XPG3] (SIGTRAP): Likewise.
	[POSIX || XPG3] (SIGURG): Likewise.
	[POSIX || XPG3] (SIGVTALRM): Likewise.
	[POSIX || XPG3] (SIGXCPU): Likewise.
	[POSIX || XPG3] (SIGXFSZ): Likewise.
	[POSIX] (SA_SIGINFO): Expect.
	[XPG3] (siginfo_t): Do not expect type or contents.
	[POSIX] (si_pid): Do not expect element.
	[POSIX] (si_uid): Likewise.
	[POSIX] (si_addr): Likewise.
	[POSIX] (si_status): Likewise.
	[POSIX] (si_band): Likewise.
	[XPG4] (si_value): Likewise.
	[POSIX || XPG3] (ILL_ILLOPC): Do not expect.
	[POSIX || XPG3] (ILL_ILLOPN): Likewise.
	[POSIX || XPG3] (ILL_ILLADR): Likewise.
	[POSIX || XPG3] (ILL_ILLTRP): Likewise.
	[POSIX || XPG3] (ILL_PRVOPC): Likewise.
	[POSIX || XPG3] (ILL_PRVREG): Likewise.
	[POSIX || XPG3] (ILL_COPROC): Likewise.
	[POSIX || XPG3] (ILL_BADSTK): Likewise.
	[POSIX || XPG3] (FPE_INTDIV): Likewise.
	[POSIX || XPG3] (FPE_INTOVF): Likewise.
	[POSIX || XPG3] (FPE_FLTDIV): Likewise.
	[POSIX || XPG3] (FPE_FLTOVF): Likewise.
	[POSIX || XPG3] (FPE_FLTUND): Likewise.
	[POSIX || XPG3] (FPE_FLTRES): Likewise.
	[POSIX || XPG3] (FPE_FLTINV): Likewise.
	[POSIX || XPG3] (FPE_FLTSUB): Likewise.
	[POSIX || XPG3] (SEGV_MAPERR): Likewise.
	[POSIX || XPG3] (SEGV_ACCERR): Likewise.
	[POSIX || XPG3] (BUS_ADRALN): Likewise.
	[POSIX || XPG3] (BUS_ADRERR): Likewise.
	[POSIX || XPG3] (BUS_OBJERR): Likewise.
	[POSIX || XPG3] (CLD_EXITED): Likewise.
	[POSIX || XPG3] (CLD_KILLED): Likewise.
	[POSIX || XPG3] (CLD_DUMPED): Likewise.
	[POSIX || XPG3] (CLD_TRAPPED): Likewise.
	[POSIX || XPG3] (CLD_STOPPED): Likewise.
	[POSIX || XPG3] (CLD_CONTINUED): Likewise.
	[POSIX || XPG3] (POLL_IN): Likewise.
	[POSIX || XPG3] (POLL_OUT): Likewise.
	[POSIX || XPG3] (POLL_MSG): Likewise.
	[POSIX || XPG3] (POLL_ERR): Likewise.
	[POSIX || XPG3] (POLL_PRI): Likewise.
	[POSIX || XPG3] (POLL_HUP): Likewise.
	[POSIX || XPG3 || POSIX2008] (TRAP_BRKPT): Likewise.
	[POSIX || XPG3 || POSIX2008] (TRAP_TRACE): Likewise.
	(SIG*): Do not allow.
	[XPG3] (si_*): Likewise.
	[XPG3] (SI_*): Likewise.
	[XPG3 || XPG4] (sigev_*): Likewise.
	[XPG3 || XPG4] (SIGEV_*): Likewise.
	[XPG3 || XPG4] (sival_*): Likewise.
	[POSIX || XPG3 || XPG4] (uc_*): Likewise.
	[POSIX || XPG3] (BUS_*): Likewise.
	[POSIX || XPG3] (CLD_*): Likewise.
	[POSIX || XPG3] (FPE_*): Likewise.
	[POSIX || XPG3] (ILL_*): Likewise.
	[POSIX || XPG3] (POLL_*): Likewise.
	[POSIX || XPG3] (SEGV_*): Likewise.
	[POSIX || XPG3 || POSIX2008] (SS_*): Likewise.
	[POSIX || XPG3 || POSIX2008] (SV_*): Likewise.
	[POSIX || XPG3 || POSIX2008] (TRAP_*): Likewise.
	[POSIX || XPG3 || POSIX2008] (ss_*): Likewise.
	[POSIX || XPG3 || POSIX2008] (sv_*): Likewise.
	* conform/data/tar.h-data (TMAGLEN): Use macro-int-constant.
	Specify type and value.
	(TVERSLEN): Likewise.
	(REGTYPE): Likewise.
	(AREGTYPE): Likewise.
	(LNKTYPE): Likewise.
	(SYMTYPE): Likewise.
	(CHRTYPE): Likewise.
	(BLKTYPE): Likewise.
	(DIRTYPE): Likewise.
	(FIFOTYPE): Likewise.
	(CONTTYPE): Likewise.
	(TSUID): Likewise.
	(TSGID): Likewise.
	(TSVTX): Likewise.
	(TUREAD): Likewise.
	(TUWRITE): Likewise.
	(TUEXEC): Likewise.
	(TGREAD): Likewise.
	(TGWRITE): Likewise.
	(TGEXEC): Likewise.
	(TOREAD): Likewise.
	(TOWRITE): Likewise.
	(TOEXEC): Likewise.
	[POSIX] (TSVTX): Expect constant.
This commit is contained in:
Joseph Myers
2014-03-07 03:21:04 +00:00
parent f214606a0e
commit a00f522af8
5 changed files with 172 additions and 38 deletions

108
ChangeLog
View File

@@ -1,3 +1,111 @@
2014-03-07 Joseph Myers <joseph@codesourcery.com>
* conform/conformtest.pl: Allow ' and \ in values given for
constants.
* conform/data/semaphore.h-data [POSIX] (fcntl.h): Allow header
inclusion.
[POSIX] (sys/types.h): Likewise.
[POSIX2008 || XOPEN2K8] (sys/types.h): Don't allow header
inclusion.
[POSIX || UNIX98 || XOPEN2K] (time.h): Don't allow header
inclusion.
* conform/data/signal.h-data (SIGIO): Remove expectation.
[XPG3] (SIGBUS): Do not expect.
[POSIX || XPG3] (SIGPOLL): Likewise.
[POSIX || XPG3] (SIGPROF): Likewise.
[POSIX || XPG3] (SIGSYS): Likewise.
[XPG3] (SIGTRAP): Likewise.
[POSIX || XPG3] (SIGURG): Likewise.
[POSIX || XPG3] (SIGVTALRM): Likewise.
[POSIX || XPG3] (SIGXCPU): Likewise.
[POSIX || XPG3] (SIGXFSZ): Likewise.
[POSIX] (SA_SIGINFO): Expect.
[XPG3] (siginfo_t): Do not expect type or contents.
[POSIX] (si_pid): Do not expect element.
[POSIX] (si_uid): Likewise.
[POSIX] (si_addr): Likewise.
[POSIX] (si_status): Likewise.
[POSIX] (si_band): Likewise.
[XPG4] (si_value): Likewise.
[POSIX || XPG3] (ILL_ILLOPC): Do not expect.
[POSIX || XPG3] (ILL_ILLOPN): Likewise.
[POSIX || XPG3] (ILL_ILLADR): Likewise.
[POSIX || XPG3] (ILL_ILLTRP): Likewise.
[POSIX || XPG3] (ILL_PRVOPC): Likewise.
[POSIX || XPG3] (ILL_PRVREG): Likewise.
[POSIX || XPG3] (ILL_COPROC): Likewise.
[POSIX || XPG3] (ILL_BADSTK): Likewise.
[POSIX || XPG3] (FPE_INTDIV): Likewise.
[POSIX || XPG3] (FPE_INTOVF): Likewise.
[POSIX || XPG3] (FPE_FLTDIV): Likewise.
[POSIX || XPG3] (FPE_FLTOVF): Likewise.
[POSIX || XPG3] (FPE_FLTUND): Likewise.
[POSIX || XPG3] (FPE_FLTRES): Likewise.
[POSIX || XPG3] (FPE_FLTINV): Likewise.
[POSIX || XPG3] (FPE_FLTSUB): Likewise.
[POSIX || XPG3] (SEGV_MAPERR): Likewise.
[POSIX || XPG3] (SEGV_ACCERR): Likewise.
[POSIX || XPG3] (BUS_ADRALN): Likewise.
[POSIX || XPG3] (BUS_ADRERR): Likewise.
[POSIX || XPG3] (BUS_OBJERR): Likewise.
[POSIX || XPG3] (CLD_EXITED): Likewise.
[POSIX || XPG3] (CLD_KILLED): Likewise.
[POSIX || XPG3] (CLD_DUMPED): Likewise.
[POSIX || XPG3] (CLD_TRAPPED): Likewise.
[POSIX || XPG3] (CLD_STOPPED): Likewise.
[POSIX || XPG3] (CLD_CONTINUED): Likewise.
[POSIX || XPG3] (POLL_IN): Likewise.
[POSIX || XPG3] (POLL_OUT): Likewise.
[POSIX || XPG3] (POLL_MSG): Likewise.
[POSIX || XPG3] (POLL_ERR): Likewise.
[POSIX || XPG3] (POLL_PRI): Likewise.
[POSIX || XPG3] (POLL_HUP): Likewise.
[POSIX || XPG3 || POSIX2008] (TRAP_BRKPT): Likewise.
[POSIX || XPG3 || POSIX2008] (TRAP_TRACE): Likewise.
(SIG*): Do not allow.
[XPG3] (si_*): Likewise.
[XPG3] (SI_*): Likewise.
[XPG3 || XPG4] (sigev_*): Likewise.
[XPG3 || XPG4] (SIGEV_*): Likewise.
[XPG3 || XPG4] (sival_*): Likewise.
[POSIX || XPG3 || XPG4] (uc_*): Likewise.
[POSIX || XPG3] (BUS_*): Likewise.
[POSIX || XPG3] (CLD_*): Likewise.
[POSIX || XPG3] (FPE_*): Likewise.
[POSIX || XPG3] (ILL_*): Likewise.
[POSIX || XPG3] (POLL_*): Likewise.
[POSIX || XPG3] (SEGV_*): Likewise.
[POSIX || XPG3 || POSIX2008] (SS_*): Likewise.
[POSIX || XPG3 || POSIX2008] (SV_*): Likewise.
[POSIX || XPG3 || POSIX2008] (TRAP_*): Likewise.
[POSIX || XPG3 || POSIX2008] (ss_*): Likewise.
[POSIX || XPG3 || POSIX2008] (sv_*): Likewise.
* conform/data/tar.h-data (TMAGLEN): Use macro-int-constant.
Specify type and value.
(TVERSLEN): Likewise.
(REGTYPE): Likewise.
(AREGTYPE): Likewise.
(LNKTYPE): Likewise.
(SYMTYPE): Likewise.
(CHRTYPE): Likewise.
(BLKTYPE): Likewise.
(DIRTYPE): Likewise.
(FIFOTYPE): Likewise.
(CONTTYPE): Likewise.
(TSUID): Likewise.
(TSGID): Likewise.
(TSVTX): Likewise.
(TUREAD): Likewise.
(TUWRITE): Likewise.
(TUEXEC): Likewise.
(TGREAD): Likewise.
(TGWRITE): Likewise.
(TGEXEC): Likewise.
(TOREAD): Likewise.
(TOWRITE): Likewise.
(TOEXEC): Likewise.
[POSIX] (TSVTX): Expect constant.
2014-03-06 Joseph Myers <joseph@codesourcery.com> 2014-03-06 Joseph Myers <joseph@codesourcery.com>
* Makefile (tests): Change dependencies to .... * Makefile (tests): Change dependencies to ....

View File

@@ -391,7 +391,7 @@ while ($#headers >= 0) {
"Member \"$member\" does not have the correct type.", "Member \"$member\" does not have the correct type.",
$res, 0); $res, 0);
} }
} elsif (/^(macro|constant|macro-constant|macro-int-constant) +([a-zA-Z0-9_]*) *(?:{([^}]*)} *)?(?:([>=<!]+) ([A-Za-z0-9_-]*))?/) { } elsif (/^(macro|constant|macro-constant|macro-int-constant) +([a-zA-Z0-9_]*) *(?:{([^}]*)} *)?(?:([>=<!]+) ([A-Za-z0-9_\\'-]*))?/) {
my($symbol_type) = $1; my($symbol_type) = $1;
my($symbol) = $2; my($symbol) = $2;
my($type) = $3; my($type) = $3;

View File

@@ -16,11 +16,13 @@ function int sem_trywait (sem_t*)
function int sem_unlink (const char*) function int sem_unlink (const char*)
function int sem_wait (sem_t*) function int sem_wait (sem_t*)
# ifndef POSIX
allow-header fcntl.h allow-header fcntl.h
# if !defined POSIX2008 && !defined XOPEN2K8
allow-header sys/types.h allow-header sys/types.h
# endif # endif
# if !defined POSIX && !defined UNIX98 && !defined XOPEN2K
allow-header time.h allow-header time.h
# endif
allow sem_* allow sem_*
allow SEM_* allow SEM_*

View File

@@ -69,7 +69,6 @@ function int raise (int)
#if !defined ISO && !defined ISO99 && !defined ISO11 #if !defined ISO && !defined ISO99 && !defined ISO11
macro-int-constant SIGALRM {int} > 0 macro-int-constant SIGALRM {int} > 0
macro-int-constant SIGHUP {int} > 0 macro-int-constant SIGHUP {int} > 0
macro-int-constant SIGIO {int} > 0
macro-int-constant SIGKILL {int} > 0 macro-int-constant SIGKILL {int} > 0
macro-int-constant SIGPIPE {int} > 0 macro-int-constant SIGPIPE {int} > 0
macro-int-constant SIGQUIT {int} > 0 macro-int-constant SIGQUIT {int} > 0
@@ -81,17 +80,23 @@ macro-int-constant SIGSTOP {int} > 0
macro-int-constant SIGTSTP {int} > 0 macro-int-constant SIGTSTP {int} > 0
macro-int-constant SIGTTIN {int} > 0 macro-int-constant SIGTTIN {int} > 0
macro-int-constant SIGTTOU {int} > 0 macro-int-constant SIGTTOU {int} > 0
# ifndef XPG3
macro-int-constant SIGBUS {int} > 0 macro-int-constant SIGBUS {int} > 0
# endif
# if !defined POSIX && !defined XPG3
macro-int-constant SIGPOLL {int} > 0 macro-int-constant SIGPOLL {int} > 0
macro-int-constant SIGPROF {int} > 0 macro-int-constant SIGPROF {int} > 0
macro-int-constant SIGSYS {int} > 0 macro-int-constant SIGSYS {int} > 0
# if !defined POSIX && !defined POSIX2008 # endif
# if !defined POSIX && !defined XPG3 && !defined POSIX2008
macro-int-constant SIGTRAP {int} > 0 macro-int-constant SIGTRAP {int} > 0
# endif # endif
# if !defined POSIX && !defined XPG3
macro-int-constant SIGURG {int} > 0 macro-int-constant SIGURG {int} > 0
macro-int-constant SIGVTALRM {int} > 0 macro-int-constant SIGVTALRM {int} > 0
macro-int-constant SIGXCPU {int} > 0 macro-int-constant SIGXCPU {int} > 0
macro-int-constant SIGXFSZ {int} > 0 macro-int-constant SIGXFSZ {int} > 0
# endif
type {struct sigaction} type {struct sigaction}
@@ -101,6 +106,7 @@ element {struct sigaction} int sa_flags
element {struct sigaction} {void(*} sa_sigaction )(int, siginfo_t*, void*) element {struct sigaction} {void(*} sa_sigaction )(int, siginfo_t*, void*)
constant SA_NOCLDSTOP constant SA_NOCLDSTOP
constant SA_SIGINFO
constant SIG_BLOCK constant SIG_BLOCK
constant SIG_UNBLOCK constant SIG_UNBLOCK
constant SIG_SETMASK constant SIG_SETMASK
@@ -110,7 +116,6 @@ constant SA_ONSTACK
# if !defined POSIX # if !defined POSIX
constant SA_RESETHAND constant SA_RESETHAND
constant SA_RESTART constant SA_RESTART
constant SA_SIGINFO
constant SA_NOCLDWAIT constant SA_NOCLDWAIT
constant SA_NODEFER constant SA_NODEFER
# endif # endif
@@ -141,6 +146,7 @@ element {struct sigstack} int ss_onstack
element {struct sigstack} {void*} ss_sp element {struct sigstack} {void*} ss_sp
# endif # endif
# ifndef XPG3
type siginfo_t type siginfo_t
element siginfo_t int si_signo element siginfo_t int si_signo
@@ -148,13 +154,19 @@ element siginfo_t int si_signo
element siginfo_t int si_errno element siginfo_t int si_errno
# endif # endif
element siginfo_t int si_code element siginfo_t int si_code
# ifndef POSIX
element siginfo_t pid_t si_pid element siginfo_t pid_t si_pid
element siginfo_t uid_t si_uid element siginfo_t uid_t si_uid
element siginfo_t {void*} si_addr element siginfo_t {void*} si_addr
element siginfo_t int si_status element siginfo_t int si_status
element siginfo_t long si_band element siginfo_t long si_band
# endif
# ifndef XPG4
element siginfo_t {union sigval} si_value element siginfo_t {union sigval} si_value
# endif
# endif
# if !defined POSIX && !defined XPG3
constant ILL_ILLOPC constant ILL_ILLOPC
constant ILL_ILLOPN constant ILL_ILLOPN
constant ILL_ILLADR constant ILL_ILLADR
@@ -176,8 +188,6 @@ constant SEGV_ACCERR
constant BUS_ADRALN constant BUS_ADRALN
constant BUS_ADRERR constant BUS_ADRERR
constant BUS_OBJERR constant BUS_OBJERR
constant TRAP_BRKPT
constant TRAP_TRACE
constant CLD_EXITED constant CLD_EXITED
constant CLD_KILLED constant CLD_KILLED
constant CLD_DUMPED constant CLD_DUMPED
@@ -190,6 +200,11 @@ constant POLL_MSG
constant POLL_ERR constant POLL_ERR
constant POLL_PRI constant POLL_PRI
constant POLL_HUP constant POLL_HUP
# endif
# if !defined POSIX && !defined XPG3 && !defined POSIX2008
constant TRAP_BRKPT
constant TRAP_TRACE
# endif
constant SI_USER constant SI_USER
constant SI_QUEUE constant SI_QUEUE
constant SI_TIMER constant SI_TIMER
@@ -251,26 +266,35 @@ function void psignal (int, const char*)
// The following expressions are not entirely correct but the current // The following expressions are not entirely correct but the current
// poorfnmatch implementation doesn't grok the right form. // poorfnmatch implementation doesn't grok the right form.
allow SIG*
allow sa_* allow sa_*
allow uc_* allow SA_*
allow ss_* # ifndef XPG3
allow sv_*
allow si_* allow si_*
allow SI_* allow SI_*
# endif
# if !defined XPG3 && !defined XPG4
allow sigev_* allow sigev_*
allow SIGEV_* allow SIGEV_*
allow sival_* allow sival_*
allow SA_* # endif
# if !defined POSIX && !defined XPG3 && !defined XPG4
allow uc_*
# endif
# if !defined POSIX && !defined XPG3
allow BUS_* allow BUS_*
allow CLD_* allow CLD_*
allow FPE_* allow FPE_*
allow ILL_* allow ILL_*
allow POLL_* allow POLL_*
allow SEGV_* allow SEGV_*
# endif
# if !defined POSIX && !defined XPG3 && !defined POSIX2008
allow SS_* allow SS_*
allow SV_* allow SV_*
allow TRAP_* allow TRAP_*
allow ss_*
allow sv_*
# endif
allow *_t allow *_t
allow-header time.h allow-header time.h

View File

@@ -1,33 +1,33 @@
#if !defined ISO && !defined ISO99 && !defined ISO11 #if !defined ISO && !defined ISO99 && !defined ISO11
macro-str TMAGIC "ustar" macro-str TMAGIC "ustar"
constant TMAGLEN == 6 macro-int-constant TMAGLEN {int} == 6
macro-str TVERSION "00" macro-str TVERSION "00"
constant TVERSLEN == 2 macro-int-constant TVERSLEN {int} == 2
constant REGTYPE macro-int-constant REGTYPE {int} == '0'
constant AREGTYPE macro-int-constant AREGTYPE {int} == '\0'
constant LNKTYPE macro-int-constant LNKTYPE {int} == '1'
constant SYMTYPE macro-int-constant SYMTYPE {int} == '2'
constant CHRTYPE macro-int-constant CHRTYPE {int} == '3'
constant BLKTYPE macro-int-constant BLKTYPE {int} == '4'
constant DIRTYPE macro-int-constant DIRTYPE {int} == '5'
constant FIFOTYPE macro-int-constant FIFOTYPE {int} == '6'
constant CONTTYPE macro-int-constant CONTTYPE {int} == '7'
constant TSUID == 04000 macro-int-constant TSUID {int} == 04000
constant TSGID == 02000 macro-int-constant TSGID {int} == 02000
# if !defined POSIX && !defined POSIX2008 # if !defined POSIX2008
constant TSVTX == 01000 macro-int-constant TSVTX {int} == 01000
# endif # endif
constant TUREAD == 00400 macro-int-constant TUREAD {int} == 00400
constant TUWRITE == 00200 macro-int-constant TUWRITE {int} == 00200
constant TUEXEC == 00100 macro-int-constant TUEXEC {int} == 00100
constant TGREAD == 00040 macro-int-constant TGREAD {int} == 00040
constant TGWRITE == 00020 macro-int-constant TGWRITE {int} == 00020
constant TGEXEC == 00010 macro-int-constant TGEXEC {int} == 00010
constant TOREAD == 00004 macro-int-constant TOREAD {int} == 00004
constant TOWRITE == 00002 macro-int-constant TOWRITE {int} == 00002
constant TOEXEC == 00001 macro-int-constant TOEXEC {int} == 00001
allow *_t allow *_t
#endif #endif