glibc/libio
Zack Weinberg 63fb8f9aa9 Post-cleanup 2: minimize _G_config.h.
Nearly everything in _G_config.h is either junk or more appropriately
defined elsewhere:

 * _G_fpos_t, _G_fpos64_t, and _G_BUFSIZ are already completely unused.
 * All remaining uses of _G_va_list have been changed to __gnuc_va_list.
 * The definition of _G_HAVE_ST_BLKSIZE/_IO_HAVE_ST_BLKSIZE has
   been inlined into its sole use.
 * The complete definition of _G_iconv_t has been moved to libio.h and
   renamed _IO_iconv_t (all actual users used that name).
 * _G_IO_IO_FILE_VERSION is vestigial; some code cares whether
   _IO_stdin_used exists, but nothing looks at its value.  I've
   preserved the value as a hardwired constant in csu/init.c.
   This means csu/init.c no longer needs to include anything.
 * Many of the headers included by _G_config.h were already being
   included directly by either either libio.h or stdio.h; the
   remaining ones were moved to libio.h.
 * _G_HAVE_MREMAP is still relevant, because mremap genuinely is a
   Linux extension; it's not in POSIX and as far as I can tell it's
   not available on the Hurd either.  I also preserved _G_HAVE_MMAP,
   since it's conceivable someone would want to port glibc to a
   MMU-less, mmap-less environment in the future.  Both are now always
   defined to 1/0 as is the current convention, instead of the older
   1/undef convention.  These are the only symbols still defined in
   _G_config.h.
 * The actual inclusion of _G_config.h moves from libio.h to libioP.h,
   as this is where a potential override of _G_HAVE_MMAP happens.
 * The #ifdef logic in libioP.h controlling _IO_JUMPS_OFFSET has been
   simplified.

After this patch, the only surviving _G_ symbols are the struct tag
names _G_fpos_t and _G_fpos64_t, which are preserved for the sake of
C++ mangled names in applications, and _G_HAVE_MMAP and _G_HAVE_MREMAP,
which do not seem worth renaming.

Installed stripped libraries are unchanged by this patch.

	* bits/_G_config.h: Move back to sysdeps/generic/_G_config.h.
	Delete all contents except for definitions of _G_HAVE_MMAP and
	_G_HAVE_MREMAP.  Add commentary explaining those two symbols.
	* sysdeps/unix/sysv/linux/bits/_G_config.h: Move back to
	sysdeps/unix/sysv/linux/_G_config.h.  Make same content
	change as above.

	* libio/libio.h: Don't include bits/_G_config.h here.
	Include stddef.h with __need_wchar_t defined.  Include
	bits/types/__mbstate_t.h, bits/types/wint_t.h, and gconv.h.
	Define _IO_iconv_t here, directly.
	Don't define _IO_HAVE_ST_BLKSIZE.
	* libio/libioP.h: Include _G_config.h here.  Move include of
	shlib-compat.h up with rest of includes.  Simplify conditionals
	controlling definition of _IO_JUMPS_OFFSET.

	* csu/init.c: Remove always-true #if around entire file.
	Don't include stdio.h.  Set _IO_stdin_used to hardwired
	constant 0x20001, and update commentary.
	* include/stdio.h, sysdeps/ieee754/ldbl-opt/nldbl-compat.h:
	Replace all uses of _G_va_list with __gnuc_va_list.
	* libio/filedoalloc.c: Use #if defined _STATBUF_ST_BLKSIZE
	instead of #if _IO_HAVE_ST_BLKSIZE.
	* libio/fileops.c: Test _G_HAVE_MREMAP with #if, not #ifdef.
	* libio/iofdopen.c, libio/iofopen.c: Test _G_HAVE_MMAP with #if,
	not #ifdef.
2018-02-07 10:10:32 -05:00
..
bits Post-cleanup 1: move libio.h back out of bits/. 2018-02-07 10:09:47 -05:00
__fbufsize.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__flbf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__fpending.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__fpurge.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__freadable.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__freading.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__fsetlocking.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__fwritable.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__fwriting.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
bug-fopena+.c
bug-fseek.c
bug-ftell.c
bug-memstream1.c
bug-mmap-fflush.c
bug-rewind2.c
bug-rewind.c
bug-ungetc2.c
bug-ungetc3.c
bug-ungetc4.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
bug-ungetc.c
bug-ungetwc1.c
bug-ungetwc2.c
bug-wfflush.c
bug-wmemstream1.c
bug-wsetpos.c
clearerr_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
clearerr.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Depend
fcloseall.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
feof_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
feof.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ferror_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ferror.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
filedoalloc.c Post-cleanup 2: minimize _G_config.h. 2018-02-07 10:10:32 -05:00
fileno.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fileops.c Post-cleanup 2: minimize _G_config.h. 2018-02-07 10:10:32 -05:00
fmemopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fputc_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fputc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fputwc_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fputwc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
freopen64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
freopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fseek.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fseeko64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fseeko.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ftello64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ftello.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fwide.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fwprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fwscanf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
genops.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getc_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getchar_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getchar.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getwc_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getwc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getwchar_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getwchar.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofclose.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofdopen.c Post-cleanup 2: minimize _G_config.h. 2018-02-07 10:10:32 -05:00
iofflush_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofflush.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofgetpos64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofgetpos.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofgets_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofgets.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofgetws_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofgetws.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofopen64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofopen.c Post-cleanup 2: minimize _G_config.h. 2018-02-07 10:10:32 -05:00
iofopncook.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofputs_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofputs.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofputws_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofputws.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofread_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofread.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofsetpos64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofsetpos.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ioftell.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofwide.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofwrite_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofwrite.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iogetdelim.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iogetline.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iogets.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iogetwline.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iolibio.h Post-cleanup 1: move libio.h back out of bits/. 2018-02-07 10:09:47 -05:00
iopadn.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iopopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ioputs.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ioseekoff.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ioseekpos.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iosetbuffer.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iosetvbuf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ioungetc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ioungetwc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iovdprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iovsprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iovsscanf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iovswscanf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iowpadn.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
libc_fatal.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
libio.h Post-cleanup 2: minimize _G_config.h. 2018-02-07 10:10:32 -05:00
libioP.h Post-cleanup 2: minimize _G_config.h. 2018-02-07 10:10:32 -05:00
Makefile Don't install libio.h or _G_config.h. 2018-02-07 10:07:31 -05:00
memstream.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
obprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldfileops.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldfmemopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiofclose.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiofdopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiofgetpos64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiofgetpos.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiofopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiofsetpos64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiofsetpos.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiopopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldpclose.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldstdfiles.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldtmpfile.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pclose.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
peekc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putc_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putchar_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putchar.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putwc_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putwc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putwchar_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putwchar.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
rewind.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
setbuf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
setlinebuf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
stdfiles.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
stdio.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
stdio.h Don't install libio.h or _G_config.h. 2018-02-07 10:07:31 -05:00
strfile.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
strops.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
swprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
swscanf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
test-fmemopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
test-freopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
test-freopen.sh Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst_getwc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst_getwc.input
tst_putwc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst_swprintf.c
tst_swscanf.c
tst_wprintf2.c
tst_wprintf.c
tst_wscanf.c
tst_wscanf.input
tst-atime.c
tst-bz22415.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-eof.c
tst-ext2.c
tst-ext.c
tst-fgetwc.c
tst-fgetwc.input
tst-fgetws.c
tst-fopenloc2.c
tst-fopenloc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-fputws.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-freopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-fseek.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-ftell-active-handler.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-ftell-append.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-ftell-partial-wide.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-fwrite-error.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-memstream1.c
tst-memstream2.c
tst-memstream3.c libio: Rename _FWRITE to FWRITE_FUNC 2018-01-29 23:00:17 +01:00
tst-mmap2-eofsync.c
tst-mmap-eofsync.c
tst-mmap-fflushsync.c
tst-mmap-offend.c
tst-mmap-setvbuf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-popen1.c
tst-setvbuf1.c
tst-sscanf.c
tst-swscanf.c
tst-ungetwc1.c
tst-ungetwc2.c
tst-widetext.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-widetext.input Finish change from “Bengali” to “Bangla” 2017-09-09 12:41:54 +02:00
tst-wmemstream1.c
tst-wmemstream2.c
tst-wmemstream3.c libio: Rename _FWRITE to FWRITE_FUNC 2018-01-29 23:00:17 +01:00
vasprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Versions
vscanf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
vsnprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
vswprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
vtables.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
vwprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
vwscanf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wfiledoalloc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wfileops.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wgenops.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wmemstream.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wscanf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wstrops.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00