Module Name: src
Committed By: martin
Date: Tue Jan 28 19:41:52 UTC 2014
Modified Files:
src/share/mk: bsd.sys.mk
Log Message:
As discussed on tech-toolchain: untill gcc is fixed (or our ABI changed, ...)
make stack protection warnings non-fatal if using gcc 4.8 on sh3/m68k/vax.
To generate a diff of this commit:
cvs rdiff -u -r1.236 -r1.237 src/share/mk/bsd.sys.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.sys.mk
diff -u src/share/mk/bsd.sys.mk:1.236 src/share/mk/bsd.sys.mk:1.237
--- src/share/mk/bsd.sys.mk:1.236 Thu Jan 16 01:19:46 2014
+++ src/share/mk/bsd.sys.mk Tue Jan 28 19:41:52 2014
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.sys.mk,v 1.236 2014/01/16 01:19:46 christos Exp $
+# $NetBSD: bsd.sys.mk,v 1.237 2014/01/28 19:41:52 martin Exp $
#
# Build definitions used for NetBSD source tree builds.
@@ -109,6 +109,19 @@ LINTFLAGS+= ${DESTDIR:D-d ${DESTDIR}/usr
CPPFLAGS+= -D_FORTIFY_SOURCE=2
.endif
COPTS+= -fstack-protector -Wstack-protector
+
+# gcc 4.8 on m68k erroneously does not protect functions with
+# variables needing special alignement, see
+# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59674
+# (the underlying issue for sh and vax may be different, needs more
+# investigation, symptoms are similar but for different sources)
+.if "${ACTIVE_CC}" == "gcc" && "${HAVE_GCC}" == "48" && \
+ ( ${MACHINE_CPU} == "sh3" || \
+ ${MACHINE_ARCH} == "vax" || \
+ ${MACHINE_CPU} == "m68k" )
+COPTS+= -Wno-error=stack-protector
+.endif
+
COPTS+= ${${ACTIVE_CC} == "clang":? --param ssp-buffer-size=1 :}
COPTS+= ${${ACTIVE_CC} == "gcc":? --param ssp-buffer-size=1 :}
.endif