summaryrefslogtreecommitdiffstats
path: root/lib/csu
diff options
context:
space:
mode:
authorbdrewery <bdrewery@FreeBSD.org>2014-06-08 17:29:31 +0000
committerbdrewery <bdrewery@FreeBSD.org>2014-06-08 17:29:31 +0000
commit989e2c600051059839eb88abfc343a905caf37eb (patch)
tree770fe42f243492477db77896e2564375cd017ad4 /lib/csu
parent14c8389ad08e251819c8c35fcaa75e0519595437 (diff)
downloadFreeBSD-src-989e2c600051059839eb88abfc343a905caf37eb.zip
FreeBSD-src-989e2c600051059839eb88abfc343a905caf37eb.tar.gz
In preparation for ASLR [1] support add WITH_PIE to support building with -fPIE.
This is currently an opt-in build flag. Once ASLR support is ready and stable it should changed to opt-out and be enabled by default along with ASLR. Each application Makefile uses opt-out to ensure that ASLR will be enabled by default in new directories when the system is compiled with PIE/ASLR. [2] Mark known build failures as NO_PIE for now. The only known runtime failure was rtld. [1] http://www.bsdcan.org/2014/schedule/events/452.en.html Submitted by: Shawn Webb <lattera@gmail.com> Discussed between: des@ and Shawn Webb [2]
Diffstat (limited to 'lib/csu')
-rw-r--r--lib/csu/amd64/Makefile2
-rw-r--r--lib/csu/i386-elf/Makefile2
2 files changed, 4 insertions, 0 deletions
diff --git a/lib/csu/amd64/Makefile b/lib/csu/amd64/Makefile
index 80d14a7..bcb7f50 100644
--- a/lib/csu/amd64/Makefile
+++ b/lib/csu/amd64/Makefile
@@ -9,6 +9,8 @@ CFLAGS+= -I${.CURDIR}/../common \
-I${.CURDIR}/../../libc/include
CFLAGS+= -fno-omit-frame-pointer
+NO_PIE= yes
+
all: ${OBJS}
CLEANFILES= ${OBJS}
diff --git a/lib/csu/i386-elf/Makefile b/lib/csu/i386-elf/Makefile
index 286c15c..de19e93d 100644
--- a/lib/csu/i386-elf/Makefile
+++ b/lib/csu/i386-elf/Makefile
@@ -13,6 +13,8 @@ CFLAGS+= -I${.CURDIR}/../common \
CLEANFILES= ${FILES} crt1_c.o crt1_s.o gcrt1_c.o Scrt1_c.o
CLEANFILES+= crt1_c.s gcrt1_c.s Scrt1_c.s
+NO_PIE= yes
+
# See the comment in lib/csu/common/crtbrand.c for the reason crt1_c.c is not
# directly compiled to .o files.
OpenPOWER on IntegriCloud