This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.23-237-g12404bb
- From: jsm28 at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 25 Apr 2016 19:30:29 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.23-237-g12404bb
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 12404bb04e1e86052fb22005e6c05ab3d1ced46e (commit)
from 8f1b841e452dbb083112fd036033b7f4af506ba0 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=12404bb04e1e86052fb22005e6c05ab3d1ced46e
commit 12404bb04e1e86052fb22005e6c05ab3d1ced46e
Author: Joseph Myers <joseph@codesourcery.com>
Date: Mon Apr 25 19:29:44 2016 +0000
Fix stdio.h cuserid namespace (bug 19989).
stdio.h declares cuserid if __USE_XOPEN. But this was removed in the
2001 edition of POSIX.
The #endif comment "Use X/Open, but not issue 6." reflects the correct
logic, but does not correspond to the #ifdef. The use of a correct
libc-hacker. The online archives for libc-hacker in August 2000 are
broken, but the messages can be found in the qmail archives in
/sourceware1/qmail/lists-sourceware/libc-hacker/archive/26 if you have
shell access to sourceware.
The issue showed up in August 2000 because of a warning about a
non-prototype definition in sysdeps/posix/cuserid.c when there was no
previous prototype declaration. Since we've now eliminated
non-prototype function definitions, that issue does not apply. The
other points from that discussion were about whether it should be
included in _GNU_SOURCE; whether _GNU_SOURCE should include
"everything"; whether deprecated interfaces such as this should be
excluded from it; and whether, even given exclusion of deprecated
interfaces, it should apply for deprecations in a version of POSIX
that at that time had not been released.
This patch follows the more conservative approach to a fix of keeping
the interface in _GNU_SOURCE. That matches how L_cuserid is handled.
I think there is a strong case for eliminating this interface from
_GNU_SOURCE (but this may not automatically be the case for every
interface removed in newer POSIX versions), but then L_cuserid should
also be removed from _GNU_SOURCE (in stdio-common/stdio_lim.h.in) at
the same time.
Tested for x86_64 and x86 (testsuite, and that installed shared
libraries are unchanged by the patch).
[BZ #19989]
* libio/stdio.h (cuserid): Do not declare if
[__USE_XOPEN2K && !__USE_GNU].
* conform/Makefile (test-xfail-XOPEN2K8/stdio.h/conform): Remove
variable.
diff --git a/ChangeLog b/ChangeLog
index dd35b6c..5c40ad8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2016-04-25 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #19989]
+ * libio/stdio.h (cuserid): Do not declare if
+ [__USE_XOPEN2K && !__USE_GNU].
+ * conform/Makefile (test-xfail-XOPEN2K8/stdio.h/conform): Remove
+ variable.
+
2016-04-25 Paul E. Murphy <murphyp@linux.vnet.ibm.com>
* sysdeps/powerpc/powerpc64/multiarch/Makefile:
diff --git a/conform/Makefile b/conform/Makefile
index 0b5514c..e3baec7 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -226,7 +226,6 @@ test-xfail-POSIX2008/signal.h/conform = yes
test-xfail-POSIX2008/sys/socket.h/conform = yes
test-xfail-POSIX2008/sys/wait.h/conform = yes
test-xfail-XOPEN2K8/signal.h/conform = yes
-test-xfail-XOPEN2K8/stdio.h/conform = yes
test-xfail-XOPEN2K8/sys/wait.h/conform = yes
conformtest-cc-flags = -I../include $(+sysdep-includes) $(sysincludes) -I..
diff --git a/libio/stdio.h b/libio/stdio.h
index d8d7fa0..4b66530 100644
--- a/libio/stdio.h
+++ b/libio/stdio.h
@@ -885,7 +885,7 @@ extern char *ctermid (char *__s) __THROW;
#endif /* Use POSIX. */
-#ifdef __USE_XOPEN
+#if (defined __USE_XOPEN && !defined __USE_XOPEN2K) || defined __USE_GNU
/* Return the name of the current user. */
extern char *cuserid (char *__s);
#endif /* Use X/Open, but not issue 6. */
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 8 ++++++++
conform/Makefile | 1 -
libio/stdio.h | 2 +-
3 files changed, 9 insertions(+), 2 deletions(-)
hooks/post-receive
--
GNU C Library master sources