From 7d7e62967fb7b9b689f4a688be71722f80a6bdda Mon Sep 17 00:00:00 2001 From: Robert Loehning Date: Mon, 3 Aug 2020 14:30:21 +0200 Subject: [PATCH] configure: Explicitly enable float-divide-by-zero with ubsan Before clang 9, it was enabled by default when -fsanitize=undefined was set. Pick-to: 5.15 Change-Id: I0faf3ae1901d4badc6d265fa8081185be4360636 Reviewed-by: Edward Welbourne Reviewed-by: Thiago Macieira --- .../extra-cmake-modules/modules/ECMEnableSanitizers.cmake | 2 +- mkspecs/common/sanitize.conf | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/3rdparty/extra-cmake-modules/modules/ECMEnableSanitizers.cmake b/cmake/3rdparty/extra-cmake-modules/modules/ECMEnableSanitizers.cmake index 06cc0b66d86..e7bffe15c12 100644 --- a/cmake/3rdparty/extra-cmake-modules/modules/ECMEnableSanitizers.cmake +++ b/cmake/3rdparty/extra-cmake-modules/modules/ECMEnableSanitizers.cmake @@ -139,7 +139,7 @@ macro (enable_sanitizer_flags sanitize_option) set(XSAN_LINKER_FLAGS "lsan") elseif (${sanitize_option} MATCHES "undefined") check_compiler_version("4.9" "3.1") - set(XSAN_COMPILE_FLAGS "-fsanitize=undefined -fno-omit-frame-pointer -fno-optimize-sibling-calls") + set(XSAN_COMPILE_FLAGS "-fsanitize=undefined -fsanitize=float-divide-by-zero -fno-omit-frame-pointer -fno-optimize-sibling-calls") else () message(FATAL_ERROR "Compiler sanitizer option \"${sanitize_option}\" not supported.") endif () diff --git a/mkspecs/common/sanitize.conf b/mkspecs/common/sanitize.conf index 8417fa4c2f7..409bd990610 100644 --- a/mkspecs/common/sanitize.conf +++ b/mkspecs/common/sanitize.conf @@ -21,7 +21,7 @@ QMAKE_SANITIZE_FUZZERNL_CFLAGS = -fsanitize=fuzzer-no-link QMAKE_SANITIZE_FUZZERNL_CXXFLAGS = -fsanitize=fuzzer-no-link QMAKE_SANITIZE_FUZZERNL_LFLAGS = -fsanitize=fuzzer-no-link -QMAKE_SANITIZE_UNDEFINED_CFLAGS = -fsanitize=undefined -QMAKE_SANITIZE_UNDEFINED_CXXFLAGS = -fsanitize=undefined -QMAKE_SANITIZE_UNDEFINED_LFLAGS = -fsanitize=undefined +QMAKE_SANITIZE_UNDEFINED_CFLAGS = -fsanitize=undefined -fsanitize=float-divide-by-zero +QMAKE_SANITIZE_UNDEFINED_CXXFLAGS = -fsanitize=undefined -fsanitize=float-divide-by-zero +QMAKE_SANITIZE_UNDEFINED_LFLAGS = -fsanitize=undefined -fsanitize=float-divide-by-zero