glibc/bits
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
..
types Revert Intel CET changes to __jmp_buf_tag (Bug 22743) 2018-01-25 23:43:46 -08:00
byteswap.h Unify and simplify bits/byteswap.h, bits/byteswap-16.h headers (bug 14508, bug 15512, bug 17082, bug 20530). 2018-02-06 21:55:08 +00:00
confname.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dirent.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dlfcn.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
elfclass.h Update. 1999-07-27 05:53:25 +00:00
endian.h Update. 1997-11-26 04:23:08 +00:00
environments.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
errno.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fcntl.h hurd: Fix comments for FREAD and FWRITE 2018-01-29 23:00:17 +01:00
fenv.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fenvinline.h Update. 1999-11-11 01:05:26 +00:00
floatn-common.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
floatn.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
flt-eval-method.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fp-fast.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fp-logb.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
hwcap.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
in.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ioctl-types.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ioctls.h Update. 1997-11-26 04:23:08 +00:00
ipc.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ipctypes.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iscanonical.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
libc-header-start.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
libm-simd-decl-stubs.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
link.h * csu/elf-init.c (__libc_csu_fini): Don't do anything here. 2005-01-06 22:40:27 +00:00
local_lim.h Update. 1997-10-15 05:34:02 +00:00
long-double.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
math-vector.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
mathdef.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
mathinline.h * configure.in (libc_cv_gnu89_inline): Test for -fgnu89-inline. 2007-03-17 17:04:28 +00:00
mman.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
mqueue.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
msq.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
netdb.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
param.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
poll.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
posix_opt.h Update. 1997-10-15 05:34:02 +00:00
pthreadtypes.h 2002-11-10 Roland McGrath <roland@redhat.com> 2002-11-10 23:22:35 +00:00
resource.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sched.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
select.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sem.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
setjmp.h Update. 1997-11-26 04:23:08 +00:00
shm.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sigaction.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sigcontext.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sigevent-consts.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
siginfo-consts.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
signum-generic.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
signum.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sigstack.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sigthread.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sockaddr.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
socket.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ss_flags.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
stat.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
statfs.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
statvfs.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
stdint-intn.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
stdint-uintn.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
stdlib-bsearch.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
stropts.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sys_errlist.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
syslog-path.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sysmacros.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
termios.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
time.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
typesizes.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
uintn-identity.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
uio-ext.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
uio_lim.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ustat.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
utmp.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
utsname.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
waitflags.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
waitstatus.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wchar.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wordsize.h Define wordsize.h macros everywhere 2016-11-04 09:37:44 -07:00
xtitypes.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00