mirror of
https://git.FreeBSD.org/src.git
synced 2025-02-08 21:28:01 +00:00
libc: Use the initial-exec TLS model
This permits more efficient accesses of thread-local variables, which are heavily used at least by jemalloc and locale-aware code. Note that on amd64 and i386, jemalloc's thread-local variables already have their TLS model overridden by defining JEMALLOC_TLS_MODEL. For now the change is applied only to tested platforms, but should in principle be enabled everywhere. PR: 255840 Suggested by: jrtc27 Reviewed by: kib MFC after: 2 months Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D31070
This commit is contained in:
parent
f238ebd142
commit
9c97062b62
@ -54,6 +54,13 @@ CANCELPOINTS_CFLAGS=-fexceptions
|
||||
CFLAGS+=${CANCELPOINTS_CFLAGS}
|
||||
.endif
|
||||
|
||||
# Use a more efficient TLS model for libc since we can reasonably assume that
|
||||
# it will be loaded during program startup.
|
||||
.if ${LIBC_ARCH} == "aarch64" || ${LIBC_ARCH} == "amd64" || \
|
||||
${LIBC_ARCH} == "i386" || ${LIBC_ARCH} == "riscv"
|
||||
CFLAGS+= -ftls-model=initial-exec
|
||||
.endif
|
||||
|
||||
#
|
||||
# Link with static libcompiler_rt.a.
|
||||
#
|
||||
|
Loading…
x
Reference in New Issue
Block a user