summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvan Krasin <krasin@chromium.org>2016-09-01 01:38:32 +0000
committerIvan Krasin <krasin@chromium.org>2016-09-01 01:38:32 +0000
commitc735b902a96b85fb571a57e268bd1c111119bab3 (patch)
treec4c4cd36b51d161020b970a0e98c99322609bf04
parente8ae5baaf768a3a53f9edec3de39e333971b785c (diff)
downloadbcm5719-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.cmake3
-rw-r--r--libcxx/cmake/config-ix.cmake3
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)
OpenPOWER on IntegriCloud