build: Avoid using the -ffile-prefix-map compiler option
The `-ffile-prefix-map` compiler option implies `-fprofile-prefix-map` on GCC or `-fcoverage-prefix-map` on Clang, which can lead to issues with coverage builds. This change applies only the options necessary for build reproducibility and accurate source location messages.
This commit is contained in:
1 file changed
+10
-2
+10
-2
@@ -436,8 +436,16 @@ configure_file(contrib/filter-lcov.py filter-lcov.py USE_SOURCE_PERMISSIONS COPY
|
|||||||
# Don't allow extended (non-ASCII) symbols in identifiers. This is easier for code review.
|
# Don't allow extended (non-ASCII) symbols in identifiers. This is easier for code review.
|
||||||
try_append_cxx_flags("-fno-extended-identifiers" TARGET core_interface SKIP_LINK)
|
try_append_cxx_flags("-fno-extended-identifiers" TARGET core_interface SKIP_LINK)
|
||||||
|
|
||||||
try_append_cxx_flags("-ffile-prefix-map=A=B" TARGET core_interface SKIP_LINK
|
# Avoiding the `-ffile-prefix-map` compiler option because it implies
|
||||||
IF_CHECK_PASSED "-ffile-prefix-map=${PROJECT_SOURCE_DIR}/src=."
|
# `-fcoverage-prefix-map` on Clang or `-fprofile-prefix-map` on GCC,
|
||||||
|
# which can cause issues with coverage builds, particularly when using
|
||||||
|
# Clang in the OSS-Fuzz environment due to its use of other options
|
||||||
|
# and a third party script, or with GCC.
|
||||||
|
try_append_cxx_flags("-fdebug-prefix-map=A=B" TARGET core_interface SKIP_LINK
|
||||||
|
IF_CHECK_PASSED "-fdebug-prefix-map=${PROJECT_SOURCE_DIR}/src=."
|
||||||
|
)
|
||||||
|
try_append_cxx_flags("-fmacro-prefix-map=A=B" TARGET core_interface SKIP_LINK
|
||||||
|
IF_CHECK_PASSED "-fmacro-prefix-map=${PROJECT_SOURCE_DIR}/src=."
|
||||||
)
|
)
|
||||||
|
|
||||||
# Currently all versions of gcc are subject to a class of bugs, see the
|
# Currently all versions of gcc are subject to a class of bugs, see the
|
||||||
|
|||||||
Reference in new issue
Block a user