From 4242d9683fef6e618b80ec939adc37ff25cd2d79 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Tue, 17 May 2016 15:47:20 +0000 Subject: Correct ttyslot header declaration conditions (bug 20051). UNIX98 and XPG4 have ttyslot in . glibc, however, has it in , for __USE_MISC || (__USE_XOPEN_EXTENDED && !__USE_UNIX98), but no supported standard has it in . This patch adds a properly conditioned declaration to (only enabled for the relevant standards, not for __USE_MISC or __USE_GNU). The 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. --- ChangeLog | 11 +++++++++++ conform/Makefile | 2 -- posix/unistd.h | 3 +-- 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 + + [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 * 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 /* Define some macros helping to catch buffer overflows. */ -- cgit v1.2.3