summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2021-08-09 11:11:16 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-08-10 10:00:24 +0000
commit9fcd65d4e40b78cced668374ff2b9a3d38e2be3a (patch)
treeaa4f82f84ed61938129923e8a177775a728d03cb
parent7b38f466e0e78c3c7f73877c633bf9c847f6513b (diff)
Remove dysfunctional -coverage configure argument
The -coverage argument merely added compiler flags for the Qt build. It was never properly ported to the CMake build, and it doesn't seem feasible to have configure arguments for every possible compiler option. The same can be achieved by passing the needed compiler option to CMake, for example: CMAKE_CXX_FLAGS=-fsanitize-coverage=trace-pc-guard Fixes: QTBUG-86227 Change-Id: Ieef9acaedc0a839f9fb35b4403395eea28643864 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 0e92ec972840e78b6f38d0f554ec1554edf752d1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--cmake/configure-cmake-mapping.md1
-rw-r--r--config_help.txt5
-rw-r--r--configure.cmake26
-rw-r--r--qt_cmdline.cmake1
-rw-r--r--tests/libfuzzer/README2
5 files changed, 1 insertions, 34 deletions
diff --git a/cmake/configure-cmake-mapping.md b/cmake/configure-cmake-mapping.md
index e26380ff56..118371518d 100644
--- a/cmake/configure-cmake-mapping.md
+++ b/cmake/configure-cmake-mapping.md
@@ -51,7 +51,6 @@ The following table describes the mapping of configure options to CMake argument
| | or -DFEATURE_<backend> | |
| -sanitize address -sanitize undefined | -DFEATURE_sanitize_address=ON | Directly setting -DECM_ENABLE_SANITIZERS=foo is not supported |
| | -DFEATURE_sanitize_undefined=ON | |
-| -coverage <arg> | | |
| -c++std c++20 | -DFEATURE_cxx20=ON | |
| -sse2/-sse3/-ssse3/-sse4.1 | -DFEATURE_sse4=ON | |
| -mips_dsp/-mips_dspr2 | -DFEATURE_mips_dsp=ON | |
diff --git a/config_help.txt b/config_help.txt
index 09c43a580b..bee38edda3 100644
--- a/config_help.txt
+++ b/config_help.txt
@@ -106,11 +106,6 @@ Build options:
for example, -sanitize address cannot be combined with
-sanitize thread.
- -coverage {trace-pc-guard|source-based}
- Specify the 'trace-pc-guard' coverage instrumentation for
- sanitizers or generate instrumented code to collect execution
- counts and enable code coverage analysis, respectively. (Clang only)
-
-c++std <edition> .... Select C++ standard <edition> [c++20/c++17/c++14/c++11]
-sse2 ................ Use SSE2 instructions [auto]
diff --git a/configure.cmake b/configure.cmake
index 6878b8bd55..a7f2cd5e5c 100644
--- a/configure.cmake
+++ b/configure.cmake
@@ -536,21 +536,6 @@ qt_feature("sanitizer"
CONDITION QT_FEATURE_sanitize_address OR QT_FEATURE_sanitize_thread OR QT_FEATURE_sanitize_memory OR QT_FEATURE_sanitize_fuzzer_no_link OR QT_FEATURE_sanitize_undefined
)
qt_feature_config("sanitizer" QMAKE_PUBLIC_CONFIG)
-qt_feature("coverage_trace_pc_guard"
- LABEL "trace-pc-guard"
- AUTODETECT OFF
-)
-qt_feature_config("coverage_trace_pc_guard" QMAKE_PUBLIC_CONFIG)
-qt_feature("coverage_source_based"
- LABEL "source-based"
- AUTODETECT OFF
-)
-qt_feature_config("coverage_source_based" QMAKE_PUBLIC_CONFIG)
-qt_feature("coverage"
- LABEL "Code Coverage Instrumentation"
- CONDITION QT_FEATURE_coverage_trace_pc_guard OR QT_FEATURE_coverage_source_based
-)
-qt_feature_config("coverage" QMAKE_PUBLIC_CONFIG)
qt_feature("plugin-manifests"
LABEL "Embed manifests in plugins"
AUTODETECT OFF
@@ -1059,12 +1044,6 @@ qt_configure_add_summary_entry(ARGS "sanitize_memory")
qt_configure_add_summary_entry(ARGS "sanitize_fuzzer_no_link")
qt_configure_add_summary_entry(ARGS "sanitize_undefined")
qt_configure_end_summary_section() # end of "Sanitizers" section
-qt_configure_add_summary_entry(
- TYPE "firstAvailableFeature"
- ARGS "coverage_trace_pc_guard coverage_source_based"
- MESSAGE "Code Coverage Instrumentation"
- CONDITION QT_FEATURE_coverage
-)
qt_configure_add_summary_build_parts("Build parts")
qt_configure_add_summary_entry(
ARGS "appstore-compliant"
@@ -1118,11 +1097,6 @@ qt_configure_add_report_entry(
)
qt_configure_add_report_entry(
TYPE ERROR
- MESSAGE "Command line option -coverage is only supported with clang compilers."
- CONDITION QT_FEATURE_coverage AND NOT CLANG
-)
-qt_configure_add_report_entry(
- TYPE ERROR
MESSAGE "Command line option -sanitize fuzzer-no-link is only supported with clang compilers."
CONDITION QT_FEATURE_sanitize_fuzzer_no_link AND NOT CLANG
)
diff --git a/qt_cmdline.cmake b/qt_cmdline.cmake
index 8c1bfad0b4..24cfec31b1 100644
--- a/qt_cmdline.cmake
+++ b/qt_cmdline.cmake
@@ -42,7 +42,6 @@ qt_commandline_option(c++std TYPE cxxstd)
qt_commandline_option(ccache TYPE boolean NAME ccache)
qt_commandline_option(commercial TYPE void)
qt_commandline_option(confirm-license TYPE void)
-qt_commandline_option(coverage TYPE coverage)
qt_commandline_option(dbus TYPE optionalString VALUES no yes linked runtime)
qt_commandline_option(dbus-linked TYPE void NAME dbus VALUE linked)
qt_commandline_option(dbus-runtime TYPE void NAME dbus VALUE runtime)
diff --git a/tests/libfuzzer/README b/tests/libfuzzer/README
index d0ab4fdda8..821aa262e7 100644
--- a/tests/libfuzzer/README
+++ b/tests/libfuzzer/README
@@ -19,7 +19,7 @@ To run a test with libFuzzer:
3. Configure Qt with
-platform linux-clang -sanitize fuzzer-no-link
or, if you are using clang 5
- -platform linux-clang -coverage trace-pc-guard
+ -platform linux-clang -- -DCMAKE_CXX_FLAGS=-fsanitize-coverage=trace-pc-guard
to add the needed code coverage instrumentation. Since speed of execution is crucial for fuzz
testing, it's recommendable to also use the switches
-release -static