summaryrefslogtreecommitdiff
path: root/kerberos5
diff options
context:
space:
mode:
authorEd Maste <emaste@FreeBSD.org>2019-02-15 22:22:38 +0000
committerEd Maste <emaste@FreeBSD.org>2019-02-15 22:22:38 +0000
commitbcf99d2d99910404f734b910c5214854e0fe626d (patch)
treea3403fbbbcf38f01ce5d3bdf75c704803286c5df /kerberos5
parentca62461bc6525f4d25d276714b4b0a2947e183a0 (diff)
downloadsrc-test2-bcf99d2d99910404f734b910c5214854e0fe626d.tar.gz
src-test2-bcf99d2d99910404f734b910c5214854e0fe626d.zip
Add WITH_PIE knob to build Position Independent Executables
Building binaries as PIE allows the executable itself to be loaded at a random address when ASLR is enabled (not just its shared libraries). With this change PIE objects have a .pieo extension and INTERNALLIB libraries libXXX_pie.a. MK_PIE is disabled for some kerberos5 tools, Clang, and Subversion, as they explicitly reference .a libraries in their Makefiles. These can be addressed on an individual basis later. MK_PIE is also disabled for rtld-elf because it is already position-independent using bespoke Makefile rules. Currently only dynamically linked binaries will be built as PIE. Discussed with: dim Reviewed by: kib MFC after: 1 month Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D18423
Notes
Notes: svn path=/head/; revision=344179
Diffstat (limited to 'kerberos5')
-rw-r--r--kerberos5/tools/asn1_compile/Makefile1
-rw-r--r--kerberos5/tools/slc/Makefile1
2 files changed, 2 insertions, 0 deletions
diff --git a/kerberos5/tools/asn1_compile/Makefile b/kerberos5/tools/asn1_compile/Makefile
index 68715facfcbd..5e9cbfa5ea45 100644
--- a/kerberos5/tools/asn1_compile/Makefile
+++ b/kerberos5/tools/asn1_compile/Makefile
@@ -6,6 +6,7 @@ LIBROKEN_A= ${.OBJDIR:H:H}/lib/libroken/libroken.a
LIBADD= vers
LDADD= ${LIBROKEN_A}
DPADD= ${LIBROKEN_A}
+MK_PIE:= no
SRCS= \
asn1parse.y \
diff --git a/kerberos5/tools/slc/Makefile b/kerberos5/tools/slc/Makefile
index 34092a566443..df64d829d080 100644
--- a/kerberos5/tools/slc/Makefile
+++ b/kerberos5/tools/slc/Makefile
@@ -6,6 +6,7 @@ LIBADD= vers
LDADD= ${LIBROKEN_A}
DPADD= ${LIBROKEN_A}
MAN=
+MK_PIE:= no
SRCS= roken.h \
slc-gram.y \