summaryrefslogtreecommitdiffstats
path: root/lib/libc
diff options
context:
space:
mode:
authorjasone <jasone@FreeBSD.org>2015-08-18 00:21:25 +0000
committerjasone <jasone@FreeBSD.org>2015-08-18 00:21:25 +0000
commitcbb776d46e1d7066efdee506c6096c75fb20f96e (patch)
treeec1bf01436900198985847d5fded5190c930cf79 /lib/libc
parentc22443062b314e6f18aa5797d1b9dd3fb82e1157 (diff)
downloadFreeBSD-src-cbb776d46e1d7066efdee506c6096c75fb20f96e.zip
FreeBSD-src-cbb776d46e1d7066efdee506c6096c75fb20f96e.tar.gz
Update jemalloc to version 4.0.0.
Diffstat (limited to 'lib/libc')
-rw-r--r--lib/libc/gen/tls.c24
-rw-r--r--lib/libc/stdlib/jemalloc/Makefile.inc3
2 files changed, 14 insertions, 13 deletions
diff --git a/lib/libc/gen/tls.c b/lib/libc/gen/tls.c
index 58ebb55..73eb9a2 100644
--- a/lib/libc/gen/tls.c
+++ b/lib/libc/gen/tls.c
@@ -40,9 +40,9 @@
#include "libc_private.h"
/* Provided by jemalloc to avoid bootstrapping issues. */
-void *__je_a0malloc(size_t size);
-void *__je_a0calloc(size_t num, size_t size);
-void __je_a0free(void *ptr);
+void *__je_bootstrap_malloc(size_t size);
+void *__je_bootstrap_calloc(size_t num, size_t size);
+void __je_bootstrap_free(void *ptr);
__weak_reference(__libc_allocate_tls, _rtld_allocate_tls);
__weak_reference(__libc_free_tls, _rtld_free_tls);
@@ -125,8 +125,8 @@ __libc_free_tls(void *tcb, size_t tcbsize, size_t tcbalign __unused)
tls = (Elf_Addr **)((Elf_Addr)tcb + tcbsize - TLS_TCB_SIZE);
dtv = tls[0];
- __je_a0free(dtv);
- __je_a0free(tcb);
+ __je_bootstrap_free(dtv);
+ __je_bootstrap_free(tcb);
}
/*
@@ -142,18 +142,18 @@ __libc_allocate_tls(void *oldtcb, size_t tcbsize, size_t tcbalign __unused)
if (oldtcb != NULL && tcbsize == TLS_TCB_SIZE)
return (oldtcb);
- tcb = __je_a0calloc(1, tls_static_space + tcbsize - TLS_TCB_SIZE);
+ tcb = __je_bootstrap_calloc(1, tls_static_space + tcbsize - TLS_TCB_SIZE);
tls = (Elf_Addr **)(tcb + tcbsize - TLS_TCB_SIZE);
if (oldtcb != NULL) {
memcpy(tls, oldtcb, tls_static_space);
- __je_a0free(oldtcb);
+ __je_bootstrap_free(oldtcb);
/* Adjust the DTV. */
dtv = tls[0];
dtv[2] = (Elf_Addr)tls + TLS_TCB_SIZE;
} else {
- dtv = __je_a0malloc(3 * sizeof(Elf_Addr));
+ dtv = __je_bootstrap_malloc(3 * sizeof(Elf_Addr));
tls[0] = dtv;
dtv[0] = 1;
dtv[1] = 1;
@@ -194,8 +194,8 @@ __libc_free_tls(void *tcb, size_t tcbsize __unused, size_t tcbalign)
dtv = ((Elf_Addr**)tcb)[1];
tlsend = (Elf_Addr) tcb;
tlsstart = tlsend - size;
- __je_a0free((void*) tlsstart);
- __je_a0free(dtv);
+ __je_bootstrap_free((void*) tlsstart);
+ __je_bootstrap_free(dtv);
}
/*
@@ -213,8 +213,8 @@ __libc_allocate_tls(void *oldtls, size_t tcbsize, size_t tcbalign)
if (tcbsize < 2 * sizeof(Elf_Addr))
tcbsize = 2 * sizeof(Elf_Addr);
- tls = __je_a0calloc(1, size + tcbsize);
- dtv = __je_a0malloc(3 * sizeof(Elf_Addr));
+ tls = __je_bootstrap_calloc(1, size + tcbsize);
+ dtv = __je_bootstrap_malloc(3 * sizeof(Elf_Addr));
segbase = (Elf_Addr)(tls + size);
((Elf_Addr*)segbase)[0] = segbase;
diff --git a/lib/libc/stdlib/jemalloc/Makefile.inc b/lib/libc/stdlib/jemalloc/Makefile.inc
index 4f5fa58..0c955e3 100644
--- a/lib/libc/stdlib/jemalloc/Makefile.inc
+++ b/lib/libc/stdlib/jemalloc/Makefile.inc
@@ -4,7 +4,8 @@
JEMALLOCSRCS:= jemalloc.c arena.c atomic.c base.c bitmap.c chunk.c \
chunk_dss.c chunk_mmap.c ckh.c ctl.c extent.c hash.c huge.c mb.c \
- mutex.c prof.c quarantine.c rtree.c stats.c tcache.c tsd.c util.c
+ mutex.c pages.c prof.c quarantine.c rtree.c stats.c tcache.c tsd.c \
+ util.c
SYM_MAPS+=${LIBC_SRCTOP}/stdlib/jemalloc/Symbol.map
OpenPOWER on IntegriCloud