powerpc: enable initial-exec TLS

Summary:
Use initial-exec, like other architectures.

While here, switch MACHINE_ARCH in lib/libc/Makefile to LIBC_ARCH and consistently use powerpc.

Subscribers: imp, #contributor_reviews_base

Differential Revision: https://reviews.freebsd.org/D34315
Reviewed by:	luporl
MFC after:	2 weeks
This commit is contained in:
Piotr Kubaj 2022-02-18 14:22:14 +01:00
parent 9835900cb9
commit 884ba43116
2 changed files with 6 additions and 3 deletions

View File

@ -63,9 +63,11 @@
#ifdef __powerpc64__
# define LG_VADDR 64
# define LG_SIZEOF_PTR 3
# define JEMALLOC_TLS_MODEL __attribute__((tls_model("initial-exec")))
#elif defined(__powerpc__)
# define LG_VADDR 32
# define LG_SIZEOF_PTR 2
# define JEMALLOC_TLS_MODEL __attribute__((tls_model("initial-exec")))
#endif
#ifdef __riscv
# define LG_VADDR 48

View File

@ -32,7 +32,7 @@ CFLAGS+=-DNO__SCCSID -DNO__RCSID
LIB=c
SHLIB_MAJOR= 7
.if ${MK_SSP} != "no" && \
(${LIBC_ARCH} == "i386" || ${MACHINE_ARCH:Mpower*} != "")
(${LIBC_ARCH} == "i386" || ${LIBC_ARCH:Mpowerpc*} != "")
SHLIB_LDSCRIPT=libc.ldscript
.else
SHLIB_LDSCRIPT=libc_nossp.ldscript
@ -57,7 +57,8 @@ CFLAGS+=${CANCELPOINTS_CFLAGS}
# 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"
${LIBC_ARCH} == "i386" || ${LIBC_ARCH} == "riscv" || \
${LIBC_ARCH:Mpowerpc*} != ""
CFLAGS+= -ftls-model=initial-exec
.endif
@ -68,7 +69,7 @@ LDFLAGS+= -nodefaultlibs
LIBADD+= compiler_rt
.if ${MK_SSP} != "no" && \
(${LIBC_ARCH} == "i386" || ${MACHINE_ARCH:Mpower*} != "")
(${LIBC_ARCH} == "i386" || ${LIBC_ARCH:Mpowerpc*} != "")
LIBADD+= ssp_nonshared
.endif