summaryrefslogtreecommitdiffstats
path: root/libexec
diff options
context:
space:
mode:
authorbdrewery <bdrewery@FreeBSD.org>2014-08-19 15:04:32 +0000
committerbdrewery <bdrewery@FreeBSD.org>2014-08-19 15:04:32 +0000
commitb619f0c74719d87f58b0ea0053805b7423cdab28 (patch)
treef5585fe1edc0507d12a8ac9729befa9b67327239 /libexec
parentdf507d931047ee5a6db9840d4f900c0ad539717c (diff)
downloadFreeBSD-src-b619f0c74719d87f58b0ea0053805b7423cdab28.zip
FreeBSD-src-b619f0c74719d87f58b0ea0053805b7423cdab28.tar.gz
Revert r267233 for now. PIE support needs to be reworked.
1. 50+% of NO_PIE use is fixed by adding -fPIC to INTERNALLIB and other build-only utility libraries. 2. Another 40% is fixed by generating _pic.a variants of various libraries. 3. Some of the NO_PIE use is a bit absurd as it is disabling PIE (and ASLR) where it never would work anyhow, such as csu or loader. This suggests there may be better ways of adding support to the tree. Many of these cases can be fixed such that -fPIE will work but there is really no reason to have it in those cases. 4. Some of the uses are working around hacks done to some Makefiles that are really building libraries but have been using bsd.prog.mk because the code is cleaner. Had they been using bsd.lib.mk then NO_PIE would not have been needed. We likely do want to enable PIE by default (opt-out) for non-tree consumers (such as ports). For in-tree though we probably want to only enable PIE (opt-in) for common attack targets such as remote service daemons and setuid utilities. This is also a great performance compromise since ASLR is expected to reduce performance. As such it does not make sense to enable it in all utilities such as ls(1) that have little benefit to having it enabled. Reported by: kib
Diffstat (limited to 'libexec')
-rw-r--r--libexec/mail.local/Makefile2
-rw-r--r--libexec/rtld-elf/Makefile2
-rw-r--r--libexec/smrsh/Makefile2
-rw-r--r--libexec/telnetd/Makefile2
4 files changed, 0 insertions, 8 deletions
diff --git a/libexec/mail.local/Makefile b/libexec/mail.local/Makefile
index dff4238..3e59609 100644
--- a/libexec/mail.local/Makefile
+++ b/libexec/mail.local/Makefile
@@ -9,8 +9,6 @@ SRCS= mail.local.c
MAN= mail.local.8
CFLAGS+=-I${SENDMAIL_DIR}/include -I.
-NO_PIE= yes
-
WARNS?= 2
WFORMAT=0
diff --git a/libexec/rtld-elf/Makefile b/libexec/rtld-elf/Makefile
index 48e86f7..6e35d47 100644
--- a/libexec/rtld-elf/Makefile
+++ b/libexec/rtld-elf/Makefile
@@ -78,8 +78,6 @@ beforeinstall:
.PATH: ${.CURDIR}/${RTLD_ARCH}
-NO_PIE= yes
-
.if ${MK_TESTS} != "no"
SUBDIR+= tests
.endif
diff --git a/libexec/smrsh/Makefile b/libexec/smrsh/Makefile
index 9f0bfd4..ae86155 100644
--- a/libexec/smrsh/Makefile
+++ b/libexec/smrsh/Makefile
@@ -9,8 +9,6 @@ SRCS= smrsh.c
MAN= smrsh.8
CFLAGS+=-I${SENDMAIL_DIR}/src -I${SENDMAIL_DIR}/include -I.
-NO_PIE= yes
-
LIBSMDIR= ${.OBJDIR}/../../lib/libsm
LIBSM= ${LIBSMDIR}/libsm.a
diff --git a/libexec/telnetd/Makefile b/libexec/telnetd/Makefile
index f80bf5c..690b03c 100644
--- a/libexec/telnetd/Makefile
+++ b/libexec/telnetd/Makefile
@@ -20,8 +20,6 @@ WFORMAT?= 0
CFLAGS+= -DLINEMODE -DUSE_TERMIO -DDIAGNOSTICS -DOLD_ENVIRON \
-DENV_HACK -DSTREAMSPTY
-NO_PIE= yes
-
.if ${MK_INET6_SUPPORT} != "no"
CFLAGS+= -DINET6
.endif
OpenPOWER on IntegriCloud