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 manual: fix typos in character set handling 2016-06-16 00:45:37 -04:00
check-safety.sh Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
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 manual: fix typos in the character handling chapter 2016-06-16 00:37:44 -04:00
debug.texi Manual typos: Debugging support 2016-10-06 12:25:38 +05:30
dir .. 2005-11-21 15:45:19 +00:00
errno.texi manual: fix typos in error reporting 2016-05-19 23:25:06 -04:00
fdl-1.3.texi BZ#13738: Switch manual to FDL 1.3. 2012-02-24 12:58:10 -08:00
filesys.texi manual: Convert @tables of variables to @vtables. 2016-12-21 01:36:58 -08:00
freemanuals.texi Update to canonical freemanuals.texi file. 2013-09-24 14:06:56 -07:00
getopt.texi Manual typos: The Basic Program/System Interface 2016-10-06 12:19:25 +05:30
header.texi Use Texinfo macros to refer to the GNU C Library within the manual. 2012-02-28 14:44:20 +00:00
install-plain.texi BZ #15941: Fix INSTALL file regeneration failure with makeinfo 5.x 2013-12-05 09:58:20 +05:30
install.texi Add framework for tunables 2016-12-31 23:49:24 +05:30
intro.texi manual: fix typo in the introduction 2016-05-19 23:22:59 -04:00
io.texi Clean up glibc manual references to "GNU system" (bug 6911). 2012-03-08 01:27:38 +00:00
ipc.texi manual/ipc.texi: Fix AC-safety notes. 2014-04-08 17:12:15 -04:00
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 Use canonical FSF .texi files for LGPL and FDL texts. 2011-06-06 16:16:55 -07:00
libc-texinfo.sh Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
libc.texinfo Fix doc quoting problems with Texinfo 5 2016-01-10 00:20:51 -08:00
libcbook.texi initial import 1995-02-18 01:27:10 +00:00
libdl.texi * manual/libdl.texi: New. 2014-01-31 23:23:59 -02:00
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 manual: fix spelling typos 2016-06-16 00:59:57 -04:00
macros.texi Fix exponents in manual. 2015-08-20 09:43:50 +02:00
maint.texi Manual typos: Library Maintenance 2016-10-06 12:29:11 +05:30
Makefile Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
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 manual: fix typos in the message chapter 2016-06-16 01:14:32 -04:00
nss.texi manual: Convert @tables of variables to @vtables. 2016-12-21 01:36:58 -08:00
nsswitch.texi update from main archive 960814 1996-08-15 01:23:29 +00:00
pattern.texi manual: fix typos in the pattern chapter 2016-06-16 01:34:38 -04:00
pipe.texi * manual/pipe.texi: Document MTASC-safety properties. 2014-01-31 23:37:28 -02:00
platform.texi PowerPC: Extend Program Priority Register support 2015-08-19 17:43:26 -03:00
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 update from main archive 970225 1997-02-25 05:18:05 +00:00
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 Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
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 Correct close statement. 2001-05-18 13:01:32 +00:00
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 Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
users.texi manual: Convert @tables of variables to @vtables. 2016-12-21 01:36:58 -08:00
xtract-typefun.awk Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00