Jason Evans
4bcb1430a8
Import jemalloc a8f8d7540d66ddee7337db80c92890916e1063ca (dev branch,
...
prior to 3.0.0 release). This fixes several bugs related to memory
initialization.
Mangle __jemalloc_a0{malloc,calloc,free}() just like all the other
library-internal symbols in jemalloc, and adjust the tls allocation code
in libc to use the mangled names.
2012-04-22 08:49:13 +00:00
Jason Evans
a4bd5210d5
Import jemalloc 9ef7f5dc34ff02f50d401e41c8d9a4a928e7c2aa (dev branch,
...
prior to 3.0.0 release) as contrib/jemalloc, and integrate it into libc.
The code being imported by this commit diverged from
lib/libc/stdlib/malloc.c in March 2010, which means that a portion of
the jemalloc 1.0.0 ChangeLog entries are relevant, as are the entries
for all subsequent releases.
2012-04-17 07:22:14 +00:00
Oleksandr Tymoshenko
54da2fb8f2
- Switch ARM and MIPS to TLS Variant I
...
- Fix TLS allocation for Variant I: both rtld and libc allocators
assume that tls_static_space includes space for TLS structure.
So increment calculated static size by the size of it.
2012-03-06 03:42:54 +00:00
Marcel Moolenaar
9436852167
The static TLS size as given by tls_static_space includes TLS_TCB_SIZE
...
bytes of TCB in variant I.
2010-02-16 02:22:59 +00:00
Oleksandr Tymoshenko
dfe2d491c0
o Add MIPS to the list of architectures with defined TLS_TCB_ALIGN
...
o Stick with TLS Variant II for MIPS for the moment.
Approved by: imp
2008-04-29 23:15:23 +00:00
Tim Kientzle
0031cdf4d7
Don't assert() the TLS allocation requested is big enough; just
...
fix the argument.
In particular, this is a step towards breaking crt1's dependence on stdio.
2007-02-25 21:23:50 +00:00
Kip Macy
b84c7a797c
Fix TLS on sparc64 for statically and dynamically linked binaries
...
Approved by: rwatson (mentor)
Reviewed by: jmg and marcel
2006-10-08 02:50:34 +00:00
Marcel Moolenaar
9d353fbc3f
Fix style(9) in code copied from rtld.
2006-09-01 17:35:48 +00:00
Marcel Moolenaar
3614156c7d
Fix the variant I allocation for KSE: Allow a larger TCB and assume
...
that the documented TCB is at the tail of the extended TCB. In other
words, the base of the TCB has a negative offset from the TLS.
2006-09-01 06:13:16 +00:00
Warner Losh
c40855dbed
Remove stale comment about arm
2006-07-26 16:56:56 +00:00
David Xu
c0d2338cdd
Allocate space for thread pointer, this allows thread library to access
...
its pointer from begin, and simplifies _get_curthread() in libthr.
2006-03-28 06:09:24 +00:00
David Xu
26896bda48
Use __weak_reference macro to define weak symbols.
2005-03-21 13:17:16 +00:00
David Xu
96a9329375
Fix incorrect comment.
2005-03-01 23:42:00 +00:00
David Xu
17ceb495f0
Mark _rtld_allocate_tls and _rtld_free_tls as weak symbols for Variant I
...
tls.
Reviewed by: dfr
2005-02-26 10:39:49 +00:00
Olivier Houchard
9e3a79d517
Arbitraly choose the Variant II for arm.
2004-09-23 23:14:09 +00:00
Doug Rabson
bd41e9ea59
Make sure we allocate at least enough space for the TCB for variant I TLS.
...
MFC after: 3 days
2004-08-23 15:30:05 +00:00
Doug Rabson
0e7e4e5fd6
Always allocate a TLS area even if its empty - libpthread relies on
...
having a valid %gs when it initialises.
MFC after: 2 days
2004-08-18 10:18:58 +00:00
Doug Rabson
ccd13c49b5
Add support for TLS in statically linked programs.
2004-08-15 16:18:52 +00:00
Doug Rabson
0e1c7d0f08
Add stubs for TLS functions. These will be replaced at runtime by the
...
functional versions in rtld.
2004-08-03 08:54:01 +00:00