]> xenbits.xensource.com Git - people/royger/freebsd.git/commitdiff
powerpc: enable initial-exec TLS
authorPiotr Kubaj <pkubaj@FreeBSD.org>
Fri, 18 Feb 2022 13:22:14 +0000 (14:22 +0100)
committerPiotr Kubaj <pkubaj@FreeBSD.org>
Tue, 8 Mar 2022 00:28:33 +0000 (01:28 +0100)
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

(cherry picked from commit 884ba43116d4456d5900d3c8824153c604f132b8)

contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h
lib/libc/Makefile

index 6ff0ce18d5dabc713b2b31c7ebca460bea58cf9a..00848c0c48e3ed6b659c22f3cecb11b03fed8405 100644 (file)
 #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
index fdf6aa49932bfa0bbb1013ad77031f1a4a722e82..2f2e07c034381930fa5b11490f3c7c986a510a89 100644 (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