aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES4
-rw-r--r--Mk/bsd.port.mk5
-rw-r--r--Mk/bsd.ssp.mk2
-rw-r--r--UPDATING10
4 files changed, 10 insertions, 11 deletions
diff --git a/CHANGES b/CHANGES
index bc848b646fd9..e634fd1c59a4 100644
--- a/CHANGES
+++ b/CHANGES
@@ -13,7 +13,7 @@ All ports committers are allowed to commit to this file.
20130920:
AUTHOR: bdrewery@FreeBSD.org
- SSP support has been added to ports with WITH_SSP for i386 and amd64
+ SSP support has been added to ports with WITH_SSP_PORTS for i386 and amd64
on FreeBSD 10, and amd64 on earlier versions.
SSP_UNSAFE is added to disable in a port if it fails to build, but
@@ -24,7 +24,7 @@ AUTHOR: bdrewery@FreeBSD.org
On FreeBSD 10, this uses an ldscript in /usr/lib/libc.so to pull in
libssp_nonshared.a to address issues linking on i386 [1].
- On earlier FreeBSD versions the WITH_SSP knob will add -lssp_nonshared
+ On earlier FreeBSD versions the WITH_SSP_PORTS knob will add -lssp_nonshared
to LDFLAGS on i386. This is not needed on amd64. However, several hundred
ports do not currently respect LDFLAGS, so this support is disabled currently
as it causes build failures if a dependency is looking for the stack_chk
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk
index b047f7a8ce2e..240304788d82 100644
--- a/Mk/bsd.port.mk
+++ b/Mk/bsd.port.mk
@@ -301,7 +301,8 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org
# passed to the compiler by setting DEBUG_FLAGS. It is
# set to "-g" at default.
#
-# WITH_SSP - If set, SSP_FLAGS (defaults to -fstack-protector)
+# WITH_SSP_PORTS
+# - If set, SSP_FLAGS (defaults to -fstack-protector)
# is added to CFLAGS and the necessary flags
# are added to LDFLAGS. Note that SSP_UNSAFE
# can be used in Makefiles by port maintainers
@@ -1570,7 +1571,7 @@ DEBUG_FLAGS?= -g
CFLAGS:= ${CFLAGS:N-O*:N-fno-strict*} ${DEBUG_FLAGS}
.endif
-.if defined(WITH_SSP)
+.if defined(WITH_SSP) || defined(WITH_SSP_PORTS)
.include "${PORTSDIR}/Mk/bsd.ssp.mk"
.endif
diff --git a/Mk/bsd.ssp.mk b/Mk/bsd.ssp.mk
index c71b3b3722c4..adb6a3bfcf0d 100644
--- a/Mk/bsd.ssp.mk
+++ b/Mk/bsd.ssp.mk
@@ -16,7 +16,7 @@ SSP_UNSAFE= yes
SSP_NEED_NONSHARED= yes
.endif
-.if defined(WITH_SSP) && !defined(WITHOUT_SSP) && !defined(SSP_UNSAFE) && \
+.if !defined(WITHOUT_SSP) && !defined(SSP_UNSAFE) && \
(${ARCH} == i386 || ${ARCH} == amd64)
# Overridable as a user may want to use -fstack-protector-all
SSP_CFLAGS?= -fstack-protector
diff --git a/UPDATING b/UPDATING
index 39547b7aa0a5..e175dfe7510e 100644
--- a/UPDATING
+++ b/UPDATING
@@ -25,20 +25,18 @@ you update your ports collection, before attempting any port upgrades.
AFFECTS: Users of ports
AUTHOR: bdrewery@FreeBSD.org
- Optional Stack Protector [1] support has been added with the WITH_SSP
+ Optional Stack Protector [1] support has been added with the WITH_SSP_PORTS
knob.
- .if !empty(.CURDIR:M/usr/ports*)
- WITH_SSP= yes
- .endif
+ WITH_SSP_PORTS= yes
This currently is only supported on FreeBSD 10 amd64/i386 and earlier
- releases on amd64 only.
+ releases on amd64.
The default SSP_CLFAGS is -fstack-protector, but -fstack-protector-all
may optionally be set instead.
- To enable support, add WITH_SSP=yes to your make.conf and rebuild all
+ To enable support, add WITH_SSP_PORTS=yes to your make.conf and rebuild all
ports.
# portmaster -af