diff options
author | Ivan Krasin <krasin@chromium.org> | 2016-09-01 01:38:32 +0000 |
---|---|---|
committer | Ivan Krasin <krasin@chromium.org> | 2016-09-01 01:38:32 +0000 |
commit | c735b902a96b85fb571a57e268bd1c111119bab3 (patch) | |
tree | c4c4cd36b51d161020b970a0e98c99322609bf04 | |
parent | e8ae5baaf768a3a53f9edec3de39e333971b785c (diff) | |
download | bcm5719-llvm-c735b902a96b85fb571a57e268bd1c111119bab3.tar.gz bcm5719-llvm-c735b902a96b85fb571a57e268bd1c111119bab3.zip |
Fix libc++ configuration with -fsanitize-coverage
Summary:
a recent change (r280015) in libc++ configuration broke LibFuzzer bot:
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fuzzer/builds/12245
It's not restricted just to that bot; any code that uses the sanitize coverage and configures libc++ hits it.
This CL fixes the issue.
Reviewers: compnerd
Subscribers: aizatsky
Differential Revision: https://reviews.llvm.org/D24116
llvm-svn: 280335
-rw-r--r-- | libcxx/cmake/Modules/CheckLibcxxAtomic.cmake | 3 | ||||
-rw-r--r-- | libcxx/cmake/config-ix.cmake | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/libcxx/cmake/Modules/CheckLibcxxAtomic.cmake b/libcxx/cmake/Modules/CheckLibcxxAtomic.cmake index 7d01a9bd1cb..a7ae667a155 100644 --- a/libcxx/cmake/Modules/CheckLibcxxAtomic.cmake +++ b/libcxx/cmake/Modules/CheckLibcxxAtomic.cmake @@ -16,6 +16,9 @@ function(check_cxx_atomics varname) if (CMAKE_C_FLAGS MATCHES -fsanitize OR CMAKE_CXX_FLAGS MATCHES -fsanitize) set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -fno-sanitize=all") endif() + if (CMAKE_C_FLAGS MATCHES -fsanitize-coverage OR CMAKE_CXX_FLAGS MATCHES -fsanitize-coverage) + set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -fno-sanitize-coverage=edge,trace-cmp,indirect-calls,8bit-counters") + endif() check_cxx_source_compiles(" #include <cstdint> #include <atomic> diff --git a/libcxx/cmake/config-ix.cmake b/libcxx/cmake/config-ix.cmake index fa3a07f4f19..3f7aff115bf 100644 --- a/libcxx/cmake/config-ix.cmake +++ b/libcxx/cmake/config-ix.cmake @@ -27,6 +27,9 @@ if (LIBCXX_SUPPORTS_NODEFAULTLIBS_FLAG) if (CMAKE_C_FLAGS MATCHES -fsanitize OR CMAKE_CXX_FLAGS MATCHES -fsanitize) set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -fno-sanitize=all") endif () + if (CMAKE_C_FLAGS MATCHES -fsanitize-coverage OR CMAKE_CXX_FLAGS MATCHES -fsanitize-coverage) + set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -fno-sanitize-coverage=edge,trace-cmp,indirect-calls,8bit-counters") + endif () endif () include(CheckLibcxxAtomic) |