summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorJames McDonnell <jmcdonnell@blackberry.com>2017-04-24 09:53:57 -0400
committerJames McDonnell <jmcdonnell@blackberry.com>2017-06-13 14:01:24 +0000
commitd0706ae3a3996ef6edc196152ad7ae6eaac24dc6 (patch)
tree034ac229a72668d6198e290d725dd5c1dbb044f4 /mkspecs
parent876aed331d7c6d7df81da1dace73dea49176ad1e (diff)
Enable stack-protector-strong for QNX 7.0.0
This was originally enabled in the mkspecs for 64-bit QNX 7.0.0 but that broke when the qtConfig change was made. It looks like qtConfig shouldn't be used in the platform mkspecs. I suspect the stack-protector changes were left out of the 32-bit mkspecs so that 6.6.0 builds wouldn't be affected. Ignore the stack-protector/stack-protector-all possibility since it isn't possible to access it without a command line option. Specifying both options doesn't even make sense since stack-protector-all encompasses stack-protector. For now, leave out command line control of this feature. Task-number: QTBUG-59644 Change-Id: I99323216be5b592dd2c3bef6d22da195764a6e65 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/common/qcc-base.conf2
-rw-r--r--mkspecs/features/default_post.prf5
-rw-r--r--mkspecs/features/qt_common.prf1
-rw-r--r--mkspecs/qnx-aarch64le-qcc/qmake.conf8
-rw-r--r--mkspecs/qnx-x86-64-qcc/qmake.conf8
5 files changed, 8 insertions, 16 deletions
diff --git a/mkspecs/common/qcc-base.conf b/mkspecs/common/qcc-base.conf
index 4ef03d8587..b48e84ee1d 100644
--- a/mkspecs/common/qcc-base.conf
+++ b/mkspecs/common/qcc-base.conf
@@ -34,6 +34,8 @@ QMAKE_CFLAGS_SSE4_2 += -msse4.2
QMAKE_CFLAGS_AVX += -mavx
QMAKE_CFLAGS_AVX2 += -mavx2
+QMAKE_CFLAGS_STACK_PROTECTOR_STRONG = -fstack-protector-strong
+
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS -lang-c++
QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf
index d18604e0b8..7e027325bd 100644
--- a/mkspecs/features/default_post.prf
+++ b/mkspecs/features/default_post.prf
@@ -71,6 +71,11 @@ debug {
QMAKE_LIBFLAGS += $$QMAKE_LIBFLAGS_RELEASE
}
+stack_protector_strong {
+ QMAKE_CFLAGS += $$QMAKE_CFLAGS_STACK_PROTECTOR_STRONG
+ QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_STACK_PROTECTOR_STRONG
+}
+
# disable special linker flags for host builds (no proper test for host support yet)
!host_build|!cross_compile {
use_gold_linker: QMAKE_LFLAGS += $$QMAKE_LFLAGS_USE_GOLD
diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf
index ea235514b7..1e138730b3 100644
--- a/mkspecs/features/qt_common.prf
+++ b/mkspecs/features/qt_common.prf
@@ -17,6 +17,7 @@ DEFINES *= QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
qtConfig(c++11): CONFIG += c++11 strict_c++
qtConfig(c++14): CONFIG += c++14
qtConfig(c++1z): CONFIG += c++1z
+qtConfig(stack-protector-strong): CONFIG += stack_protector_strong
contains(TEMPLATE, .*lib) {
# module and plugins
if(!host_build|!cross_compile):qtConfig(reduce_exports): CONFIG += hide_symbols
diff --git a/mkspecs/qnx-aarch64le-qcc/qmake.conf b/mkspecs/qnx-aarch64le-qcc/qmake.conf
index 5e3123bece..754bc27358 100644
--- a/mkspecs/qnx-aarch64le-qcc/qmake.conf
+++ b/mkspecs/qnx-aarch64le-qcc/qmake.conf
@@ -7,11 +7,3 @@ DEFINES += _FORTIFY_SOURCE=2
QMAKE_LFLAGS_SHLIB += -Wl,-z,relro -Wl,-z,now
include(../common/qcc-base-qnx-aarch64le.conf)
-
-qtConfig(stack-protector-strong) {
- QMAKE_CFLAGS += -fstack-protector-strong
- QMAKE_CXXFLAGS += -fstack-protector-strong
-} else {
- QMAKE_CFLAGS += -fstack-protector -fstack-protector-all
- QMAKE_CXXFLAGS += -fstack-protector -fstack-protector-all
-}
diff --git a/mkspecs/qnx-x86-64-qcc/qmake.conf b/mkspecs/qnx-x86-64-qcc/qmake.conf
index 2a01ed1405..c479181342 100644
--- a/mkspecs/qnx-x86-64-qcc/qmake.conf
+++ b/mkspecs/qnx-x86-64-qcc/qmake.conf
@@ -5,11 +5,3 @@
QMAKE_LFLAGS_SHLIB += -Wl,-z,relro -Wl,-z,now
include(../common/qcc-base-qnx-x86-64.conf)
-
-qtConfig(stack-protector-strong) {
- QMAKE_CFLAGS += -fstack-protector-strong
- QMAKE_CXXFLAGS += -fstack-protector-strong
-} else {
- QMAKE_CFLAGS += -fstack-protector -fstack-protector-all
- QMAKE_CXXFLAGS += -fstack-protector -fstack-protector-all
-}