glibc/libio
Joseph Myers acf0cb6f24 Don't include <bits/stdio-lock.h> from installed <libio.h>.
Every so often someone gets confused by the fact that the installed
<bits/stdio-lock.h> header includes the non-installed <lowlevellock.h>
header.

This inclusion is not in fact a bug, because <bits/stdio-lock.h> only
gets included by any header that users should include directly if
_IO_MTSAFE_IO is defined, and that's an internal define used when
building libio, not a feature test macro it's valid for users to
define.  However, on general principles it's best to have as little as
possible in the installed headers that is inapplicable for valid uses
of the installed glibc.

This patch moves the include of <bits/stdio-lock.h> to the internal
header include/libio.h, so that even if someone defines _IO_MTSAFE_IO
it won't get included.  This is intended as preparation for stopping
<bits/stdio-lock.h> and <bits/libc-lock.h> from being installed at all
(after this patch they aren't used in any installed header; formally
of course they don't need to be installed even before this patch, but
stopping them being installed before removing the #include would just
exacerbate the confusion described above), and then moving those out
of the bits/ namespace in accordance with the principle that that
namespace is only for installed headers.

The tests scanf15.c and scanf17.c avoid the internal headers; after
this patch that means they need to undefine _IO_MTSAFE_IO as well as
_LIBC so as to get a working _IO_lock_t definition for libio.h.  This
brings them closer to using the headers as an installed program would,
which clearly accords with the intent of those tests.

Tested for x86_64 (testsuite, and that installed stripped shared
libraries are unchanged by the patch).

	* libio/libio.h [_IO_MTSAFE_IO]: Remove include of
	<bits/stdio-lock.h> and commented-out include of <comthread.h>.
	* include/libio.h [!_ISOMAC && _IO_MTSAFE_IO]: Include
	<bits/stdio-lock.h>.
	* stdio-common/scanf15.c (_IO_MTSAFE_IO): Undefine.
	* stdio-common/scanf17.c (_IO_MTSAFE_IO): Likewise.
2015-09-03 20:24:54 +00:00
..
bits Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
__fbufsize.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
__flbf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
__fpending.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
__fpurge.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
__freadable.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
__freading.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
__fsetlocking.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
__fwritable.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
__fwriting.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
bug-fopena+.c Update. 2002-08-27 06:41:29 +00:00
bug-fseek.c Update. 2002-07-24 11:18:48 +00:00
bug-ftell.c * libio/bug-ftell.c (do_test): Add a cast. 2003-11-01 21:11:05 +00:00
bug-memstream1.c [BZ #1996] 2006-08-14 22:16:14 +00:00
bug-mmap-fflush.c Update. 2002-08-27 12:10:11 +00:00
bug-rewind2.c Fix warnings in fwscanf / rewind tests. 2014-11-26 12:54:39 +00:00
bug-rewind.c Fix warnings in fwscanf / rewind tests. 2014-11-26 12:54:39 +00:00
bug-ungetc2.c Update. 2003-09-06 09:56:14 +00:00
bug-ungetc3.c Update. 2004-11-09 07:05:27 +00:00
bug-ungetc4.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
bug-ungetc.c 2002-07-24 Roland McGrath <roland@frob.com> 2002-07-24 09:34:59 +00:00
bug-ungetwc1.c Fix libio/bug-ungetwc1.c warning. 2014-11-27 16:01:04 +00:00
bug-ungetwc2.c Update. 2002-04-24 21:09:14 +00:00
bug-wfflush.c * libio/bug-wfflush.c (do_test): Call rewind instead of fsetpos. 2002-11-11 06:55:22 +00:00
bug-wmemstream1.c * posix/glob.c (glob_in_dir): Add some comments and asserts to 2006-09-30 15:09:35 +00:00
bug-wsetpos.c Fix fsetpos on wide stream. 2009-09-02 19:45:33 -07:00
clearerr_u.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
clearerr.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
Depend New file, libio needs localedata for tests. 2000-07-29 07:57:34 +00:00
fcloseall.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
feof_u.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
feof.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ferror_u.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ferror.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
filedoalloc.c Fix BZ #16734 -- fopen calls mmap to allocate its buffer 2015-08-12 18:56:08 -07:00
fileno.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fileops.c Use "|" instead of "+" when combine the _IO_LINE_BUF and _IO_UNBUFFERED flags 2015-07-08 13:53:11 +05:30
fmemopen.c Fix BZ #18820 -- fmemopen may leak memory on failure. 2015-08-12 23:51:04 -07:00
fputc_u.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fputc.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fputwc_u.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fputwc.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
freopen64.c Avoid some aliasing violations in libio 2015-05-22 11:40:04 +02:00
freopen.c Avoid some aliasing violations in libio 2015-05-22 11:40:04 +02:00
fseek.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fseeko64.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fseeko.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ftello64.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ftello.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fwide.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fwprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fwscanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
genops.c Fix BZ #16734 -- fopen calls mmap to allocate its buffer 2015-08-12 18:56:08 -07:00
getc_u.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
getc.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
getchar_u.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
getchar.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
getwc_u.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
getwc.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
getwchar_u.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
getwchar.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iofclose.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iofdopen.c Minor cleanups in libio/iofdopen.c 2015-03-23 13:46:36 -07:00
iofflush_u.c Fix getpass fflush_unlocked namespace (bug 18540). 2015-06-17 20:14:18 +00:00
iofflush.c Fix getpass fflush_unlocked namespace (bug 18540). 2015-06-17 20:14:18 +00:00
iofgetpos64.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iofgetpos.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iofgets_u.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iofgets.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iofgetws_u.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iofgetws.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iofopen64.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iofopen.c Avoid some aliasing violations in libio 2015-05-22 11:40:04 +02:00
iofopncook.c Fix BZ #18757. 2015-09-01 08:48:15 -07:00
iofputs_u.c Fix syslog fputs_unlocked namespace (bug 18530). 2015-06-12 22:36:38 +00:00
iofputs.c Fix syslog fputs_unlocked namespace (bug 18530). 2015-06-12 22:36:38 +00:00
iofputws_u.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iofputws.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iofread_u.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iofread.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iofsetpos64.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iofsetpos.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ioftell.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iofwide.c Avoid some aliasing violations in libio 2015-05-22 11:40:04 +02:00
iofwrite_u.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iofwrite.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iogetdelim.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iogetline.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iogets.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iogetwline.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iolibio.h Remove use of INTDEF/INTUSE in libio 2012-05-24 23:06:20 +02:00
iopadn.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iopopen.c Cleanup: add missing #include's 2015-02-17 16:03:41 -08:00
ioputs.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ioseekoff.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ioseekpos.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iosetbuffer.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iosetvbuf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ioungetc.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ioungetwc.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iovdprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iovsprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iovsscanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
iovswscanf.c Fix swscanf vswscanf namespace (bug 18542). 2015-06-17 20:15:22 +00:00
iowpadn.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
libc_fatal.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
libio.h Don't include <bits/stdio-lock.h> from installed <libio.h>. 2015-09-03 20:24:54 +00:00
libioP.h Fix BZ #16734 -- fopen calls mmap to allocate its buffer 2015-08-12 18:56:08 -07:00
Makefile Fix BZ #18820 -- fmemopen may leak memory on failure. 2015-08-12 23:51:04 -07:00
memstream.c Fix open_memstream namespace (bug 18498). 2015-06-05 23:32:46 +00:00
obprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
oldfileops.c Add #include <unistd.h> to libio/oldfileops.c for write. 2015-08-06 08:51:31 -07:00
oldfmemopen.c Fix BZ #18820 -- fmemopen may leak memory on failure. 2015-08-12 23:51:04 -07:00
oldiofclose.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
oldiofdopen.c Avoid some aliasing violations in libio 2015-05-22 11:40:04 +02:00
oldiofgetpos64.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
oldiofgetpos.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
oldiofopen.c Avoid some aliasing violations in libio 2015-05-22 11:40:04 +02:00
oldiofsetpos64.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
oldiofsetpos.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
oldiopopen.c Avoid some aliasing violations in libio 2015-05-22 11:40:04 +02:00
oldpclose.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
oldstdfiles.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
oldtmpfile.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
pclose.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
peekc.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
putc_u.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
putc.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
putchar_u.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
putchar.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
putwc_u.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
putwc.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
putwchar_u.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
putwchar.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
rewind.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
setbuf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
setlinebuf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
stdfiles.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
stdio.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
stdio.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
strfile.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
strops.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
swprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
swscanf.c Fix swscanf vswscanf namespace (bug 18542). 2015-06-17 20:15:22 +00:00
test-fmemopen.c Fix BZ #18757. 2015-09-01 08:48:15 -07:00
test-freopen.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
test-freopen.sh Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst_getwc.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst_getwc.input Update. 2000-06-23 06:22:36 +00:00
tst_putwc.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst_swprintf.c Fix format strings. 2002-09-30 07:47:16 +00:00
tst_swscanf.c Update. 2001-02-09 17:57:28 +00:00
tst_wprintf2.c Update. 2000-07-20 08:56:12 +00:00
tst_wprintf.c Update. 2000-06-17 19:22:43 +00:00
tst_wscanf.c Update. 2001-02-09 17:57:28 +00:00
tst_wscanf.input Update. 1999-06-16 22:55:47 +00:00
tst-atime.c Fix libio/tst-atime not to presume ST_NOATIME exists. 2015-02-06 12:24:16 -08:00
tst-eof.c pdate. 2002-07-23 00:31:41 +00:00
tst-ext2.c * libio/Makefile (tests): Add tst-ext2. 2007-10-13 07:33:09 +00:00
tst-ext.c Update. 2001-03-27 00:16:51 +00:00
tst-fgetwc.c (do_test): Use de_DE.UTF-8 as locale name. 2009-06-15 17:27:48 -07:00
tst-fgetwc.input 2009-02-04 Ulrich Drepper <drepper@redhat.com> 2009-02-04 21:27:48 +00:00
tst-fgetws.c Fix format strings. 2002-09-30 07:47:16 +00:00
tst-fopenloc2.c [BZ #2173] 2006-01-19 01:35:28 +00:00
tst-fopenloc.c Fix minor formatting violation. 2015-02-25 13:11:26 -08:00
tst-fputws.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-freopen.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-fseek.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-ftell-active-handler.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-ftell-append.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-ftell-partial-wide.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-fwrite-error.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-memstream1.c * libio/wmemstream.c: New file. 2006-01-12 02:03:42 +00:00
tst-memstream2.c Adjust timeouts for some tests, to accommodate slow processors, 2015-02-22 01:05:02 -08:00
tst-mmap2-eofsync.c * catgets/open_catalog.c (__open_catalog): Don't use a value type 2002-09-24 04:24:25 +00:00
tst-mmap-eofsync.c * locale/xlocale.h (struct __locale_struct): New member `__names'. 2002-08-30 10:36:44 +00:00
tst-mmap-fflushsync.c * locale/xlocale.h (struct __locale_struct): New member `__names'. 2002-08-30 10:36:44 +00:00
tst-mmap-offend.c * locale/xlocale.h (struct __locale_struct): New member `__names'. 2002-08-30 10:36:44 +00:00
tst-mmap-setvbuf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-popen1.c * sysdeps/unix/sysv/linux/syscalls.list: Add __pipe2 alias. 2008-07-27 18:26:13 +00:00
tst-setvbuf1.c [BZ #2337] 2006-12-13 23:17:54 +00:00
tst-sscanf.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-swscanf.c Update. 2002-02-26 18:08:08 +00:00
tst-ungetwc1.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-ungetwc2.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-widetext.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-widetext.input Rename Oriya locale to Odia (bug 15601) 2013-11-20 17:47:41 +05:30
tst-wmemstream1.c * posix/glob.c (glob_in_dir): Add some comments and asserts to 2006-09-30 15:09:35 +00:00
tst-wmemstream2.c * posix/glob.c (glob_in_dir): Add some comments and asserts to 2006-09-30 15:09:35 +00:00
vasprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
Versions libio: fmemopen rewrite to POSIX compliance 2015-07-08 12:07:21 -03:00
vscanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
vsnprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
vswprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
vwprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
vwscanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
wfiledoalloc.c Fix BZ #16734 -- fopen calls mmap to allocate its buffer 2015-08-12 18:56:08 -07:00
wfileops.c Use "|" instead of "+" when combine the _IO_LINE_BUF and _IO_UNBUFFERED flags 2015-07-08 13:53:11 +05:30
wgenops.c Fix BZ #16734 -- fopen calls mmap to allocate its buffer 2015-08-12 18:56:08 -07:00
wmemstream.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
wprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
wscanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
wstrops.c Fix BZ #17269 -- _IO_wstr_overflow integer overflow 2015-02-22 12:01:47 -08:00