glibc/stdio-common
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
_i18n_number.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
_itoa.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
_itowa.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
_itowa.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
asprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
bug1.c Update. 1999-07-17 23:56:47 +00:00
bug1.input
bug2.c
bug3.c
bug4.c
bug5.c Update. 1998-07-04 10:39:13 +00:00
bug6.c
bug6.input
bug7.c
bug8.c
bug9.c
bug10.c
bug11.c
bug12.c Update. 1998-06-15 14:55:03 +00:00
bug13.c Update. 2000-07-29 06:45:51 +00:00
bug14.c Update. 2003-01-28 07:32:19 +00:00
bug16.c Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
bug17.c [BZ #3902] 2007-01-22 16:18:03 +00:00
bug18.c * libio/wstrops.c (_IO_wstr_underflow): Clear errno before 2007-07-07 21:38:43 +00:00
bug18a.c * libio/wstrops.c (_IO_wstr_underflow): Clear errno before 2007-07-07 21:38:43 +00:00
bug19.c * stdio-common/vfscanf.c (_IO_vfscanf): Add additional test for EOF 2007-07-08 04:41:34 +00:00
bug19a.c * stdio-common/vfscanf.c (_IO_vfscanf): Add additional test for EOF 2007-07-08 04:41:34 +00:00
bug20.c * stdio-common/Makefile (tests): Add bug20. 2007-10-28 16:45:27 +00:00
bug21.c Add macros for diagnostic control, use for scanf %a tests. 2014-12-10 00:41:19 +00:00
bug22.c Bump up stdio bug22 timeout from 30 seconds to 60 seconds 2012-05-17 12:59:08 -04:00
bug23-2.c CVE-2012-3406: Stack overflow in vfprintf [BZ #16617] 2014-12-15 10:09:33 +01:00
bug23-3.c CVE-2012-3406: Stack overflow in vfprintf [BZ #16617] 2014-12-15 10:09:33 +01:00
bug23-4.c CVE-2012-3406: Stack overflow in vfprintf [BZ #16617] 2014-12-15 10:09:33 +01:00
bug23.c Fix allocation when handling positional parameters in printf. 2011-02-20 07:59:49 -05:00
bug24.c Add test for BZ 13114 2011-08-20 09:22:16 -04:00
bug25.c 2012-05-24 Jeff Law <law@redhat.com> 2012-05-24 21:30:43 -06:00
bug26.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
bug-vfprintf-nargs.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ctermid.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
cuserid.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
Depend Update. 2000-07-29 06:45:51 +00:00
dprintf.c Fix syslog dprintf namespace (bug 18534). 2015-06-17 20:10:50 +00:00
errlist.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
errnobug.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
flockfile.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fscanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ftrylockfile.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
funlockfile.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fxprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
getline.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
getw.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
isoc99_fscanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
isoc99_scanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
isoc99_sscanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
isoc99_vfscanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
isoc99_vscanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
isoc99_vsscanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
itoa-digits.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
itoa-udigits.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
itowa-digits.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
Makefile libio: fmemopen rewrite to POSIX compliance 2015-07-08 12:07:21 -03:00
perror.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
printf_fp.c This patch renames all uses of __isinf*, __isnan*, __finite* and __signbit* to use standard C99 macros. This has no effect on generated code. 2015-06-03 15:41:36 +01:00
printf_fphex.c This patch renames all uses of __isinf*, __isnan*, __finite* and __signbit* to use standard C99 macros. This has no effect on generated code. 2015-06-03 15:41:36 +01:00
printf_size.c This patch renames all uses of __isinf*, __isnan*, __finite* and __signbit* to use standard C99 macros. This has no effect on generated code. 2015-06-03 15:41:36 +01:00
printf-parse.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
printf-parsemb.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
printf-parsewc.c Update. 2003-06-11 23:22:36 +00:00
printf-prs.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
printf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
printf.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
psiginfo-data.h Fix typos. 2013-10-12 14:47:50 +02:00
psiginfo-define.h * locale/langinfo.h: nl_langinfo_l is in POSIX 2008. 2009-02-26 06:18:24 +00:00
psiginfo.c libio: fmemopen rewrite to POSIX compliance 2015-07-08 12:07:21 -03:00
psignal.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
putw.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
reg-modifier.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
reg-printf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
reg-type.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
remove.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
rename.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
renameat.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
scanf1.c
scanf2.c
scanf3.c
scanf4.c Eliminate -Wno-format from printf/scanf tests. 2014-12-11 13:47:44 -08:00
scanf5.c * tst-trans.c: Include <stdlib.h> and <string.h>. 2000-06-21 12:39:22 +00:00
scanf7.c Eliminate -Wno-format from printf/scanf tests. 2014-12-11 13:47:44 -08:00
scanf8.c
scanf9.c Update. 2000-12-15 16:03:57 +00:00
scanf10.c
scanf11.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
scanf12.c Update. 2000-07-22 07:26:13 +00:00
scanf12.input Update. 1999-02-07 00:06:12 +00:00
scanf13.c Avoid warning in scanf test. 2009-10-30 09:23:24 -07:00
scanf14.c Add macros for diagnostic control, use for scanf %a tests. 2014-12-10 00:41:19 +00:00
scanf15.c Don't include <bits/stdio-lock.h> from installed <libio.h>. 2015-09-03 20:24:54 +00:00
scanf16.c * libio/stdio.h (vscanf): Fix -std=c99 redirect. 2008-05-24 18:14:36 +00:00
scanf17.c Don't include <bits/stdio-lock.h> from installed <libio.h>. 2015-09-03 20:24:54 +00:00
scanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
siglist.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
snprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sscanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
stdio_ext.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
stdio_lim.h.in Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tempnam.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tempname.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
temptest.c * malloc/memusagestat.c (main): Use return instead of exit to 2000-12-31 10:52:32 +00:00
test_rdwr.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
test-fseek.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
test-fwrite.c Modify several tests to use test-skeleton.c 2015-08-06 02:59:04 -04:00
test-popen.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
test-vfprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tfformat.c Avoid use of "register" as optimization hint. 2013-06-07 22:24:35 +00:00
tiformat.c Update. 2000-06-17 19:22:43 +00:00
tllformat.c Update. 1999-02-14 20:03:55 +00:00
tmpfile64.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tmpfile.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tmpnam_r.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tmpnam.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-cookie.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-fdopen.c Update. 2002-12-17 10:34:02 +00:00
tst-ferror.c Modify several tests to use test-skeleton.c 2015-08-06 02:59:04 -04:00
tst-ferror.input
tst-fgets.c * posix/tst-execle1.c (do_test): Add a const. 2005-12-27 22:50:12 +00:00
tst-fileno.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-fmemopen2.c libio: Fix fmemopen 'w' mode with provided buffer 2015-07-16 15:21:49 -03:00
tst-fmemopen3.c libio: fmemopen rewrite to POSIX compliance 2015-07-08 12:07:21 -03:00
tst-fmemopen.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-fphex-wide.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-fphex.c Clean up tst-fphex test 2012-03-08 03:02:24 -05:00
tst-fseek.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-fwrite.c [BZ #1078] 2005-09-27 19:40:49 +00:00
tst-gets.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-gets.input Update. 2001-02-15 19:57:43 +00:00
tst-grouping.c Fix grouping when rounding increases number of integer digits. 2011-01-12 20:37:51 -05:00
tst-long-dbl-fphex.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-obprintf.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-perror.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-popen2.c * libio/iopopen.c (_IO_new_proc_open): Don't close child_std_end 2007-07-19 17:03:08 +00:00
tst-popen.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-printf-round.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-printf.c Modify several tests to use test-skeleton.c 2015-08-06 02:59:04 -04:00
tst-printf.sh Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-printfsz.c Modify several tests to use test-skeleton.c 2015-08-06 02:59:04 -04:00
tst-put-error.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-rndseek.c 2002-10-12 Roland McGrath <roland@redhat.com> 2002-10-12 18:45:26 +00:00
tst-setvbuf1.c * stdio-common/Makefile: Add rules to build and run tst-setvbuf1. 2008-07-08 16:32:55 +00:00
tst-setvbuf1.expect * stdio-common/Makefile: Add rules to build and run tst-setvbuf1. 2008-07-08 16:32:55 +00:00
tst-sprintf2.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-sprintf3.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-sprintf.c stdio-common: Include <libc-internal.h> in some tests 2014-12-15 11:29:09 -06:00
tst-sscanf.c Modify several tests to use test-skeleton.c 2015-07-15 15:10:23 +05:30
tst-swprintf.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-swscanf.c * stdio-common/Makefile (tests): Add tst-swscanf. 2007-02-18 09:21:24 +00:00
tst-tmpnam.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-unbputc.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-unbputc.sh fix non-portable echo -n usage 2015-08-09 04:19:12 -04:00
tst-ungetc.c Update. 2002-12-19 09:18:01 +00:00
tst-unlockedio.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-wc-printf.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tstdiomisc.c Eliminate -Wno-format from printf/scanf tests. 2014-12-11 13:47:44 -08:00
tstgetln.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tstgetln.input
tstscanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tstscanf.input
Versions Add missing } in Versions file. 2014-02-28 11:07:43 -08:00
vfprintf.c vfprintf: Remove label name switching for the jump table 2015-05-21 16:48:46 +02:00
vfscanf.c CVE-2015-1472: wscanf allocates too little memory 2015-02-06 00:34:51 -05:00
vfwprintf.c Update. 1999-06-16 22:55:47 +00:00
vfwscanf.c Update. 2000-06-29 04:12:28 +00:00
vprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
xbug.c Avoid use of "register" as optimization hint. 2013-06-07 22:24:35 +00:00