about summary refs log tree commit diff
path: root/elf/Makefile
diff options
context:
space:
mode:
authorSiddhesh Poyarekar <siddhesh@sourceware.org>2016-12-31 23:33:27 +0530
committerSiddhesh Poyarekar <siddhesh@sourceware.org>2016-12-31 23:49:24 +0530
commit9dd409a5f4a7a053cc962f8371dad0fe5cc22597 (patch)
treea205733e557ccf0b66021deff34cd6b690150f9e /elf/Makefile
parent67e58f39412ecd4467034761f3f074283c90f3c8 (diff)
downloadglibc-9dd409a5f4a7a053cc962f8371dad0fe5cc22597.tar.gz
glibc-9dd409a5f4a7a053cc962f8371dad0fe5cc22597.tar.xz
glibc-9dd409a5f4a7a053cc962f8371dad0fe5cc22597.zip
Initialize tunable list with the GLIBC_TUNABLES environment variable
Read tunables values from the users using the GLIBC_TUNABLES
environment variable.  The value of this variable is a colon-separated
list of name=value pairs.  So a typical string would look like this:

GLIBC_TUNABLES=glibc.malloc.mmap_threshold=2048:glibc.malloc.trim_threshold=1024

	* config.make.in (have-loop-to-function): Define.
	* elf/Makefile (CFLAGS-dl-tunables.c): Add
	-fno-tree-loop-distribute-patterns.
	* elf/dl-tunables.c: Include libc-internals.h.
	(GLIBC_TUNABLES): New macro.
	(tunables_strdup): New function.
	(parse_tunables): New function.
	(min_strlen): New function.
	(__tunables_init): Use the new functions and macro.
	(disable_tunable): Disable tunable from GLIBC_TUNABLES.
	* malloc/tst-malloc-usable-tunables.c: New test case.
	* malloc/tst-malloc-usable-static-tunables.c: New test case.
	* malloc/Makefile (tests, tests-static): Add tests.
Diffstat (limited to 'elf/Makefile')
-rw-r--r--elf/Makefile6
1 files changed, 6 insertions, 0 deletions
diff --git a/elf/Makefile b/elf/Makefile
index de28d99224..3cda2c9db8 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -38,6 +38,12 @@ endif
 
 ifeq (yes,$(have-tunables))
 dl-routines += dl-tunables
+
+# Make sure that the compiler does not insert any library calls in tunables
+# code paths.
+ifeq (yes,$(have-loop-to-function))
+CFLAGS-dl-tunables.c = -fno-tree-loop-distribute-patterns
+endif
 endif
 
 all-dl-routines = $(dl-routines) $(sysdep-dl-routines)