Module Name: src Committed By: joerg Date: Tue Jul 18 14:36:43 UTC 2017
Modified Files: src/share/mk: bsd.own.mk Log Message: Build PIC libs on MIPS and PPC64. While the normal calling convention is position-independent, real PIC defaults to Global Dynamic as TLS model, while non-PIC and PIE code can use more restrictive models like Initial Exec. This is most visible with the thread_local destructor code now using TLS in libc as it would be clobbered by any other shared library with TLS due to static offset assignment by ld. To generate a diff of this commit: cvs rdiff -u -r1.1010 -r1.1011 src/share/mk/bsd.own.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/share/mk/bsd.own.mk diff -u src/share/mk/bsd.own.mk:1.1010 src/share/mk/bsd.own.mk:1.1011 --- src/share/mk/bsd.own.mk:1.1010 Mon Jun 5 23:41:52 2017 +++ src/share/mk/bsd.own.mk Tue Jul 18 14:36:43 2017 @@ -1,4 +1,4 @@ -# $NetBSD: bsd.own.mk,v 1.1010 2017/06/05 23:41:52 christos Exp $ +# $NetBSD: bsd.own.mk,v 1.1011 2017/07/18 14:36:43 joerg Exp $ # This needs to be before bsd.init.mk .if defined(BSD_MK_COMPAT_FILE) @@ -788,22 +788,9 @@ MKLINT.ia64= no MKGDB.ia64= no # -# On the MIPS, all libs are compiled with ABIcalls (and are thus PIC), -# not just shared libraries, so don't build the _pic version. -# -.if ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb" || \ - ${MACHINE_ARCH} == "mips64el" || ${MACHINE_ARCH} == "mips64eb" -MKPICLIB:= no -.endif - -.if !defined(COMMON_MACHINE_ARCH) -# Native PowerPC64 ABI is PIC. -MKPICLIB.powerpc64:= no -.endif - -# # On VAX using ELF, all objects are PIC, not just shared libraries, -# so don't build the _pic version. +# so don't build the _pic version. VAX has no native TLS support either, +# so differences between TLS models are not relevant. # MKPICLIB.vax= no