diff options
author | Joseph Myers <joseph@codesourcery.com> | 2016-05-17 15:47:20 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2016-05-17 15:47:20 +0000 |
commit | 4242d9683fef6e618b80ec939adc37ff25cd2d79 (patch) | |
tree | 7f4758ea048ed8417be3da45f1e1ce02b307ab7c | |
parent | b3a810d0d3d5c6ce7ddfb61321cd7971808ca703 (diff) | |
download | glibc-4242d9683fef6e618b80ec939adc37ff25cd2d79.tar.gz glibc-4242d9683fef6e618b80ec939adc37ff25cd2d79.tar.xz glibc-4242d9683fef6e618b80ec939adc37ff25cd2d79.zip |
Correct ttyslot header declaration conditions (bug 20051).
UNIX98 and XPG4 have ttyslot in <stdlib.h>. glibc, however, has it in <unistd.h>, for __USE_MISC || (__USE_XOPEN_EXTENDED && !__USE_UNIX98), but no supported standard has it in <unistd.h>. This patch adds a properly conditioned declaration to <stdlib.h> (only enabled for the relevant standards, not for __USE_MISC or __USE_GNU). The <unistd.h> declaration is restricted to __USE_MISC. Some relevant XFAILs are removed. Tested for x86_64 and x86 (testsuite, and that installed stripped shared libraries are unchanged by the patch). [BZ #20051] * posix/unistd.h [__USE_XOPEN_EXTENDED && !__USE_UNIX98] (ttyslot): Do not declare. * stdlib/stdlib.h [__USE_XOPEN_EXTENDED && !__USE_XOPEN2K] (ttyslot): New prototype. * conform/Makefile (test-xfail-XPG4/unistd.h/conform): Remove variable. (test-xfail-UNIX98/stdlib.h/conform): Likewise.
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | conform/Makefile | 2 | ||||
-rw-r--r-- | posix/unistd.h | 3 | ||||
-rw-r--r-- | stdlib/stdlib.h | 6 |
4 files changed, 18 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog index 95de597034..ead0766e30 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2016-05-17 Joseph Myers <joseph@codesourcery.com> + + [BZ #20051] + * posix/unistd.h [__USE_XOPEN_EXTENDED && !__USE_UNIX98] + (ttyslot): Do not declare. + * stdlib/stdlib.h [__USE_XOPEN_EXTENDED && !__USE_XOPEN2K] + (ttyslot): New prototype. + * conform/Makefile (test-xfail-XPG4/unistd.h/conform): Remove + variable. + (test-xfail-UNIX98/stdlib.h/conform): Likewise. + 2016-05-17 Stefan Liebler <stli@linux.vnet.ibm.com> * nptl/tst-cancel17.c (do_test): Wait for finishing aio_read(&a). diff --git a/conform/Makefile b/conform/Makefile index 0d610ad99f..ab9da786d9 100644 --- a/conform/Makefile +++ b/conform/Makefile @@ -178,13 +178,11 @@ 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 -test-xfail-XPG4/unistd.h/conform = yes test-xfail-POSIX/sys/wait.h/conform = yes test-xfail-UNIX98/arpa/inet.h/conform = yes test-xfail-UNIX98/netdb.h/conform = yes test-xfail-UNIX98/netinet/in.h/conform = yes test-xfail-UNIX98/signal.h/conform = yes -test-xfail-UNIX98/stdlib.h/conform = yes test-xfail-UNIX98/sys/wait.h/conform = yes test-xfail-UNIX98/ucontext.h/conform = yes test-xfail-XOPEN2K/semaphore.h/conform = yes diff --git a/posix/unistd.h b/posix/unistd.h index 98ffcea649..625ba77da7 100644 --- a/posix/unistd.h +++ b/posix/unistd.h @@ -781,8 +781,7 @@ extern int ttyname_r (int __fd, char *__buf, size_t __buflen) with a terminal, zero if not. */ extern int isatty (int __fd) __THROW; -#if defined __USE_MISC \ - || (defined __USE_XOPEN_EXTENDED && !defined __USE_UNIX98) +#ifdef __USE_MISC /* Return the index into the active-logins file (utmp) for the controlling terminal. */ extern int ttyslot (void) __THROW; diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h index d0c78facdd..5c0c982ccf 100644 --- a/stdlib/stdlib.h +++ b/stdlib/stdlib.h @@ -912,6 +912,12 @@ extern int getloadavg (double __loadavg[], int __nelem) __THROW __nonnull ((1)); #endif +#if defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K +/* Return the index into the active-logins file (utmp) for + the controlling terminal. */ +extern int ttyslot (void) __THROW; +#endif + #include <bits/stdlib-float.h> /* Define some macros helping to catch buffer overflows. */ |