This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug stdio/19989] stdio.h cuserid namespace


https://sourceware.org/bugzilla/show_bug.cgi?id=19989

--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
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 -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;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.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog        |    8 ++++++++
 conform/Makefile |    1 -
 libio/stdio.h    |    2 +-
 3 files changed, 9 insertions(+), 2 deletions(-)

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]