diff options
author | Joseph Myers <joseph@codesourcery.com> | 2016-05-17 15:48:29 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2016-05-17 15:48:29 +0000 |
commit | b098852ac2664e7857387c2071439e1473e6e899 (patch) | |
tree | 0decf253e2c4740ed3bea477ff966e2e7542f1af | |
parent | 4242d9683fef6e618b80ec939adc37ff25cd2d79 (diff) | |
download | glibc-b098852ac2664e7857387c2071439e1473e6e899.zip glibc-b098852ac2664e7857387c2071439e1473e6e899.tar.gz glibc-b098852ac2664e7857387c2071439e1473e6e899.tar.bz2 |
Fix stdlib.h rand_r namespace (bug 20074).
stdlib.h declares rand_r if __USE_POSIX; i.e., POSIX.1:1990. But
rand_r was added along with threads, so the condition should be
__USE_POSIX199506. This patch corrects the condition.
Tested for x86_64 and x86 (testsuite, and that installed stripped
shared libraries are unchanged by the patch).
[BZ #20074]
* stdlib/stdlib.h (rand_r): Declare if [__USE_POSIX199506], not if
[__USE_POSIX].
* conform/Makefile (test-xfail-XPG4/stdlib.h/conform): Remove
variable.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | conform/Makefile | 1 | ||||
-rw-r--r-- | stdlib/stdlib.h | 2 |
3 files changed, 7 insertions, 2 deletions
@@ -1,5 +1,11 @@ 2016-05-17 Joseph Myers <joseph@codesourcery.com> + [BZ #20074] + * stdlib/stdlib.h (rand_r): Declare if [__USE_POSIX199506], not if + [__USE_POSIX]. + * conform/Makefile (test-xfail-XPG4/stdlib.h/conform): Remove + variable. + [BZ #20051] * posix/unistd.h [__USE_XOPEN_EXTENDED && !__USE_UNIX98] (ttyslot): Do not declare. diff --git a/conform/Makefile b/conform/Makefile index ab9da78..8e9ad85 100644 --- a/conform/Makefile +++ b/conform/Makefile @@ -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/stdlib.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 diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h index 5c0c982..ad9c6c8 100644 --- a/stdlib/stdlib.h +++ b/stdlib/stdlib.h @@ -337,7 +337,7 @@ extern int rand (void) __THROW; extern void srand (unsigned int __seed) __THROW; __END_NAMESPACE_STD -#ifdef __USE_POSIX +#ifdef __USE_POSIX199506 /* Reentrant interface according to POSIX.1. */ extern int rand_r (unsigned int *__seed) __THROW; #endif |