summaryrefslogtreecommitdiffstats
path: root/mkspecs/common
diff options
context:
space:
mode:
authorKimmo Ollila <kimmo.ollila@qt.io>2022-01-21 13:38:49 +0200
committerKimmo Ollila <kimmo.ollila@qt.io>2022-01-25 14:02:59 +0200
commitdac76bb442c02abab63cc805734ff8041e07fd2b (patch)
tree9ca369c9debc621789e9e30c56ed02ee49cf2e19 /mkspecs/common
parent1f118a54f8c5518328d7492c86ed1fc9b2a6ebcd (diff)
INTEGRITY: Prevent deletion of virtual functions
In release builds -olink also enables deletion of (unused) virtual functions. In some cases this can lead to application crashes when using loaders combined with timers. Prevent this by adding -no_uvfd option to release build flags. Task-number: QTBUG-99506 Pick-to: 6.3 6.2 5.15 Change-Id: I5c669e1e987f1fe912c9aca52ff82000125eed53 Reviewed-by: Tatiana Borisova <tatiana.borisova@qt.io> Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Diffstat (limited to 'mkspecs/common')
-rw-r--r--mkspecs/common/ghs-base.conf4
1 files changed, 2 insertions, 2 deletions
diff --git a/mkspecs/common/ghs-base.conf b/mkspecs/common/ghs-base.conf
index a66971578c..eba9680349 100644
--- a/mkspecs/common/ghs-base.conf
+++ b/mkspecs/common/ghs-base.conf
@@ -8,7 +8,7 @@ QMAKE_COMPILER = ghs
QMAKE_CFLAGS += --signed_fields --no_commons --diag_suppress=1,82,228,236,381,611,961,997,1795,1974
QMAKE_CFLAGS_DEPS += -MD
-QMAKE_CFLAGS_RELEASE += -Ospeed -Olink -Omax
+QMAKE_CFLAGS_RELEASE += -Ospeed -Olink -Omax -no_uvfd
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE -g
QMAKE_CFLAGS_DEBUG += -g -Omaxdebug
QMAKE_CFLAGS_SHLIB +=
@@ -34,7 +34,7 @@ QMAKE_CXXFLAGS_EXCEPTIONS_ON += --exceptions
QMAKE_LFLAGS += --signed_fields --no_commons --no_implicit_include --link_once_templates -non_shared --new_outside_of_constructor
QMAKE_LFLAGS_DEBUG += -g -Omaxdebug
-QMAKE_LFLAGS_RELEASE += -Ospeed -Olink -Omax
+QMAKE_LFLAGS_RELEASE += -Ospeed -Olink -Omax -no_uvfd
QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_LFLAGS_RELEASE -g
QMAKE_LFLAGS_CXX11 += --c++11 --thread_local_storage
QMAKE_LFLAGS_EXCEPTIONS_ON += --exceptions