diff options
author | James McDonnell <jmcdonnell@blackberry.com> | 2017-04-24 09:53:57 -0400 |
---|---|---|
committer | James McDonnell <jmcdonnell@blackberry.com> | 2017-06-13 14:01:24 +0000 |
commit | d0706ae3a3996ef6edc196152ad7ae6eaac24dc6 (patch) | |
tree | 034ac229a72668d6198e290d725dd5c1dbb044f4 /mkspecs | |
parent | 876aed331d7c6d7df81da1dace73dea49176ad1e (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.conf | 2 | ||||
-rw-r--r-- | mkspecs/features/default_post.prf | 5 | ||||
-rw-r--r-- | mkspecs/features/qt_common.prf | 1 | ||||
-rw-r--r-- | mkspecs/qnx-aarch64le-qcc/qmake.conf | 8 | ||||
-rw-r--r-- | mkspecs/qnx-x86-64-qcc/qmake.conf | 8 |
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 -} |