Fix wait3 namespace (bug 21625).

The wait3 function was removed in the 2001 edition of POSIX.
sys/wait.h wrongly declares it for the 2001 and 2008 editions of POSIX
when XSI features are enabled.  This patch fixes the conditionals.

Tested for x86_64.

	[BZ #21625]
	* posix/sys/wait.h (strust rusage forward declaration): Change
	[__USE_XOPEN_EXTENDED] conditional to [__USE_XOPEN_EXTENDED &&
	!__USE_XOPEN2K].
	(wait3): Likewise.
This commit is contained in:
Joseph Myers 2017-06-19 16:39:17 +00:00
parent 4add86749a
commit bf15120dd7
2 changed files with 8 additions and 1 deletions

View File

@ -1,5 +1,11 @@
2017-06-19 Joseph Myers <joseph@codesourcery.com>
[BZ #21625]
* posix/sys/wait.h (strust rusage forward declaration): Change
[__USE_XOPEN_EXTENDED] conditional to [__USE_XOPEN_EXTENDED &&
!__USE_XOPEN2K].
(wait3): Likewise.
* configure.ac (libc_cv_compiler_ok): Require GCC 4.9 or later.
* configure: Regenerated.
* manual/install.texi (Tools for Compilation): Document

View File

@ -133,7 +133,8 @@ extern int waitid (idtype_t __idtype, __id_t __id, siginfo_t *__infop,
int __options);
#endif
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
#if defined __USE_MISC \
|| (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K)
/* This being here makes the prototypes valid whether or not
we have already included <sys/resource.h> to define `struct rusage'. */
struct rusage;