diff options
author | Dmitry Vyukov <dvyukov@google.com> | 2013-03-19 12:24:19 +0000 |
---|---|---|
committer | Dmitry Vyukov <dvyukov@google.com> | 2013-03-19 12:24:19 +0000 |
commit | 8e1c769ed84f4d5cf23904dee1abeec6f125f1ac (patch) | |
tree | 6c2071aea302bb022d5996e01904f7ca3b65def7 | |
parent | 723e24f768f5b32c38283ee8d2c4219267af2b4d (diff) | |
download | compiler-rt-8e1c769ed84f4d5cf23904dee1abeec6f125f1ac.tar.gz compiler-rt-8e1c769ed84f4d5cf23904dee1abeec6f125f1ac.tar.bz2 compiler-rt-8e1c769ed84f4d5cf23904dee1abeec6f125f1ac.tar.xz |
tsan: instruct malloc() to consume less memory
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177393 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/tsan/rtl/tsan_interceptors.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/tsan/rtl/tsan_interceptors.cc b/lib/tsan/rtl/tsan_interceptors.cc index e2ef9561..5f7061c1 100644 --- a/lib/tsan/rtl/tsan_interceptors.cc +++ b/lib/tsan/rtl/tsan_interceptors.cc @@ -61,6 +61,7 @@ extern "C" void *__libc_malloc(uptr size); extern "C" void *__libc_calloc(uptr size, uptr n); extern "C" void *__libc_realloc(void *ptr, uptr size); extern "C" void __libc_free(void *ptr); +extern "C" int mallopt(int param, int value); const int PTHREAD_MUTEX_RECURSIVE = 1; const int PTHREAD_MUTEX_RECURSIVE_NP = 1; const int kPthreadAttrSize = 56; @@ -1831,6 +1832,10 @@ void InitializeInterceptors() { REAL(memcpy) = internal_memcpy; REAL(memcmp) = internal_memcmp; + // Instruct libc malloc to consume less memory. + mallopt(1, 0); // M_MXFAST + mallopt(-3, 32*1024); // M_MMAP_THRESHOLD + SANITIZER_COMMON_INTERCEPTORS_INIT; TSAN_INTERCEPT(longjmp); |