]> git.ipfire.org Git - thirdparty/glibc.git/commit - include/stdio.h
Fix open_memstream namespace (bug 18498).
authorJoseph Myers <joseph@codesourcery.com>
Fri, 5 Jun 2015 23:32:46 +0000 (23:32 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Fri, 5 Jun 2015 23:32:46 +0000 (23:32 +0000)
commit711f67a789ba3505ae7b071453763e06590aa245
treebebc9585cae79303cbb3ee19ac0db78aa3167fdd
parenta5f0adb39b3a029b3fcd1b0d879eb45d9bd742cd
Fix open_memstream namespace (bug 18498).

open_memstream is new in the 2008 edition of POSIX.  However, the
older functions getopt, closelog and fmtmsg all bring in references to
it.  This patch fixes this in the usual way, making open_memstream
into a weak alias of __open_memstream and calling __open_memstream
from the relevant places.

Tested for x86_64 and x86 (testsuite, and that disassembly of
installed shared libraries is unchanged by the patch).  32-bit builds
produce an XPASS for conform/POSIX/unistd.h/linknamespace after this
patch (because the only cause of failure left there now is 64-bit
specific); that will disappear once the 64-bit failure is resolved and
the XFAIL removed at that time.

[BZ #18498]
* libio/memstream.c (open_memstream): Rename to __open_memstream
and define as weak alias of __open_memstream.
* include/stdio.h (__open_memstream): Declare.  Use
libc_hidden_proto.
(open_memstream): Don't use libc_hidden_proto.
* misc/syslog.c (__vsyslog_chk): Call __open_memstream instead of
open_memstream.
* posix/getopt.c (_getopt_internal_r): Likewise.
* conform/Makefile (test-xfail-XPG3/stdio.h/linknamespace): Remove
variable.
(test-xfail-XPG4/stdio.h/linknamespace): Likewise.
(test-xfail-UNIX98/stdio.h/linknamespace): Likewise.
(test-xfail-XOPEN2K/unistd.h/linknamespace): Likewise.
ChangeLog
NEWS
conform/Makefile
include/stdio.h
libio/memstream.c
misc/syslog.c
posix/getopt.c