Skip to content

Commit

Permalink
Remove dysfunctional -coverage configure argument
Browse files Browse the repository at this point in the history
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

Pick-to: 6.2
Fixes: QTBUG-86227
Change-Id: Ieef9acaedc0a839f9fb35b4403395eea28643864
Reviewed-by: Alexandru Croitor <[email protected]>
  • Loading branch information
jobor committed Aug 10, 2021
1 parent 84aba80 commit 0e92ec9
Show file tree
Hide file tree
Showing 5 changed files with 1 addition and 34 deletions.
1 change: 0 additions & 1 deletion cmake/configure-cmake-mapping.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 | |
Expand Down
5 changes: 0 additions & 5 deletions config_help.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down
26 changes: 0 additions & 26 deletions configure.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -549,21 +549,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
Expand Down Expand Up @@ -1072,12 +1057,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"
Expand Down Expand Up @@ -1129,11 +1108,6 @@ qt_configure_add_report_entry(
MESSAGE "Static builds don't support RPATH"
CONDITION ( QT_FEATURE_rpath OR QT_EXTRA_RPATHS ) AND NOT QT_FEATURE_shared
)
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."
Expand Down
1 change: 0 additions & 1 deletion qt_cmdline.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion tests/libfuzzer/README
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 0e92ec9

Please sign in to comment.