glibc/manual
Siddhesh Poyarekar 67e58f3941 Add framework for tunables
The tunables framework allows us to uniformly manage and expose global
variables inside glibc as switches to users.  tunables/README has
instructions for glibc developers to add new tunables.

Tunables support can be enabled by passing the --enable-tunables
configure flag to the configure script.  This patch only adds a
framework and does not pose any limitations on how tunable values are
read from the user.  It also adds environment variables used in malloc
behaviour tweaking to the tunables framework as a PoC of the
compatibility interface.

	* manual/install.texi: Add --enable-tunables option.
	* INSTALL: Regenerate.
	* README.tunables: New file.
	* Makeconfig (CPPFLAGS): Define TOP_NAMESPACE.
	(before-compile): Generate dl-tunable-list.h early.
	* config.h.in: Add HAVE_TUNABLES.
	* config.make.in: Add have-tunables.
	* configure.ac: Add --enable-tunables option.
	* configure: Regenerate.
	* csu/init-first.c (__libc_init_first): Move
	__libc_init_secure earlier...
	* csu/init-first.c (LIBC_START_MAIN):... to here.
	Include dl-tunables.h, libc-internal.h.
	(LIBC_START_MAIN) [!SHARED]: Initialize tunables for static
	binaries.
	* elf/Makefile (dl-routines): Add dl-tunables.
	* elf/Versions (ld): Add __tunable_set_val to GLIBC_PRIVATE
	namespace.
	* elf/dl-support (_dl_nondynamic_init): Unset MALLOC_CHECK_
	only when !HAVE_TUNABLES.
	* elf/rtld.c (process_envvars): Likewise.
	* elf/dl-sysdep.c [HAVE_TUNABLES]: Include dl-tunables.h
	(_dl_sysdep_start): Call __tunables_init.
	* elf/dl-tunable-types.h: New file.
	* elf/dl-tunables.c: New file.
	* elf/dl-tunables.h: New file.
	* elf/dl-tunables.list: New file.
	* malloc/tst-malloc-usable-static.c: New test case.
	* malloc/Makefile (tests-static): Add it.
	* malloc/arena.c [HAVE_TUNABLES]: Include dl-tunables.h.
	Define TUNABLE_NAMESPACE.
	(DL_TUNABLE_CALLBACK (set_mallopt_check)): New function.
	(DL_TUNABLE_CALLBACK_FNDECL): New macro.  Use it to define
	callback functions.
	(ptmalloc_init): Set tunable values.
	* scripts/gen-tunables.awk: New file.
	* sysdeps/mach/hurd/dl-sysdep.c: Include dl-tunables.h.
	(_dl_sysdep_start): Call __tunables_init.
2016-12-31 23:49:24 +05:30
..
examples libio: Multiple fixes for open_{w}memstram (BZ#18241 and BZ#20181) 2016-09-30 09:14:15 -07:00
argp.texi Manual typos: The Basic Program/System Interface 2016-10-06 12:19:25 +05:30
arith.texi Add fromfp functions. 2016-12-31 00:40:59 +00:00
charset.texi
check-safety.sh
conf.texi Manual typos: System Configuration Parameters 2016-10-06 12:24:07 +05:30
contrib.texi Manual typos: Contributors to 2016-10-06 12:30:03 +05:30
creature.texi Make _REENTRANT and _THREAD_SAFE aliases for _POSIX_C_SOURCE=199506L. 2016-12-08 15:45:33 -05:00
crypt.texi Add getentropy, getrandom, <sys/random.h> [BZ #17252] 2016-12-12 17:28:04 +01:00
ctype.texi
debug.texi Manual typos: Debugging support 2016-10-06 12:25:38 +05:30
dir
errno.texi
fdl-1.3.texi
filesys.texi manual: Convert @tables of variables to @vtables. 2016-12-21 01:36:58 -08:00
freemanuals.texi
getopt.texi Manual typos: The Basic Program/System Interface 2016-10-06 12:19:25 +05:30
header.texi
install-plain.texi
install.texi Add framework for tunables 2016-12-31 23:49:24 +05:30
intro.texi
io.texi
ipc.texi
job.texi Manual typos: Job Control 2016-10-06 12:20:28 +05:30
lang.texi Manual typos: C Language Facilities in the Library 2016-10-06 12:27:48 +05:30
lgpl-2.1.texi
libc-texinfo.sh
libc.texinfo
libcbook.texi
libdl.texi
libm-err-tab.pl Add fromfp functions. 2016-12-31 00:40:59 +00:00
llio.texi manual: Convert @tables of variables to @vtables. 2016-12-21 01:36:58 -08:00
locale.texi
macros.texi
maint.texi Manual typos: Library Maintenance 2016-10-06 12:29:11 +05:30
Makefile
math.texi Add getentropy, getrandom, <sys/random.h> [BZ #17252] 2016-12-12 17:28:04 +01:00
memory.texi manual: Convert @tables of variables to @vtables. 2016-12-21 01:36:58 -08:00
message.texi
nss.texi manual: Convert @tables of variables to @vtables. 2016-12-21 01:36:58 -08:00
nsswitch.texi
pattern.texi
pipe.texi
platform.texi
probes.texi Manual typos: Internal probes 2016-10-06 12:26:35 +05:30
process.texi manual: Convert @tables of variables to @vtables. 2016-12-21 01:36:58 -08:00
resource.texi manual: Convert @tables of variables to @vtables. 2016-12-21 01:36:58 -08:00
search.texi manual: Convert @tables of variables to @vtables. 2016-12-21 01:36:58 -08:00
setjmp.texi Manual typos: Non-Local Exits 2016-10-06 12:17:29 +05:30
signal.texi manual: Convert @tables of variables to @vtables. 2016-12-21 01:36:58 -08:00
socket.texi manual: Convert @tables of variables to @vtables. 2016-12-21 01:36:58 -08:00
startup.texi Manual typos: The Basic Program/System Interface 2016-10-06 12:19:25 +05:30
stdio-fp.c
stdio.texi manual: Convert @tables of variables to @vtables. 2016-12-21 01:36:58 -08:00
string.texi New string function explicit_bzero (from OpenBSD). 2016-12-16 16:21:54 -05:00
summary.awk
sysinfo.texi manual: Convert @tables of variables to @vtables. 2016-12-21 01:36:58 -08:00
syslog.texi manual: Convert @tables of variables to @vtables. 2016-12-21 01:36:58 -08:00
terminal.texi manual: Convert @tables of variables to @vtables. 2016-12-21 01:36:58 -08:00
texinfo.tex Update miscellaneous files from upstream sources. 2016-12-21 16:05:55 +00:00
texis.awk
threads.texi Manual typos: POSIX Threads 2016-10-06 12:26:06 +05:30
time.texi manual: Convert @tables of variables to @vtables. 2016-12-21 01:36:58 -08:00
tsort.awk
users.texi manual: Convert @tables of variables to @vtables. 2016-12-21 01:36:58 -08:00
xtract-typefun.awk