Make sys/stat.h define S_IFSOCK, S_ISSOCK for XPG4 (bug 20076).

sys/stat.h should define S_IFSOCK and S_ISSOCK for XPG4 (XNS), but
does not.  This patch corrects the relevant header conditionals.

Tested for x86_64 and x86 (testsuite, and that installed shared
libraries are unchanged by the patch).

	[BZ #20076]
	* io/sys/stat.h (S_IFSOCK): Define for [__USE_XOPEN_EXTENDED]
	instead of [__USE_UNIX98].
	(S_ISSOCK): Likewise.
	* conform/Makefile (test-xfail-XPG4/sys/stat.h/conform): Remove
	variable.
This commit is contained in:
Joseph Myers 2016-05-17 15:50:00 +00:00
parent b098852ac2
commit 9ff81856db
3 changed files with 9 additions and 3 deletions

View file

@ -1,5 +1,12 @@
2016-05-17 Joseph Myers <joseph@codesourcery.com>
[BZ #20076]
* io/sys/stat.h (S_IFSOCK): Define for [__USE_XOPEN_EXTENDED]
instead of [__USE_UNIX98].
(S_ISSOCK): Likewise.
* conform/Makefile (test-xfail-XPG4/sys/stat.h/conform): Remove
variable.
[BZ #20074]
* stdlib/stdlib.h (rand_r): Declare if [__USE_POSIX199506], not if
[__USE_POSIX].

View file

@ -174,7 +174,6 @@ test-xfail-XPG4/arpa/inet.h/conform = yes
test-xfail-XPG4/netdb.h/conform = yes
test-xfail-XPG4/netinet/in.h/conform = yes
test-xfail-XPG4/signal.h/conform = yes
test-xfail-XPG4/sys/stat.h/conform = yes
test-xfail-XPG4/sys/wait.h/conform = yes
test-xfail-XPG4/ucontext.h/conform = yes
test-xfail-POSIX/sys/wait.h/conform = yes

View file

@ -115,7 +115,7 @@ __BEGIN_DECLS
# ifdef __S_IFLNK
# define S_IFLNK __S_IFLNK
# endif
# if (defined __USE_MISC || defined __USE_UNIX98) \
# if (defined __USE_MISC || defined __USE_XOPEN_EXTENDED) \
&& defined __S_IFSOCK
# define S_IFSOCK __S_IFSOCK
# endif
@ -140,7 +140,7 @@ __BEGIN_DECLS
# define S_ISLNK(mode) 0
#endif
#if (defined __USE_UNIX98 || defined __USE_XOPEN2K) \
#if (defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K) \
&& defined __S_IFSOCK
# define S_ISSOCK(mode) __S_ISTYPE((mode), __S_IFSOCK)
#elif defined __USE_XOPEN2K