<div dir="ltr">Reid,<div><br></div><div>The change was rolled back Wed night: <a href="https://reviews.llvm.org/rL291736" class="cremed">https://reviews.llvm.org/rL291736</a></div><div>Please let me know if you think the bot is still breaking because of me.</div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Jan 13, 2017 at 9:57 AM Reid Kleckner <<a href="mailto:rnk@google.com">rnk@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg">This broke Windows ASan:<div class="gmail_msg"><a href="http://lab.llvm.org:8011/builders/sanitizer-windows/builds/4363" class="gmail_msg" target="_blank">http://lab.llvm.org:8011/builders/sanitizer-windows/builds/4363</a><br class="gmail_msg"></div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Please fix.</div></div><div class="gmail_extra gmail_msg"><br class="gmail_msg"><div class="gmail_quote gmail_msg">On Wed, Jan 11, 2017 at 5:19 PM, Mike Aizatsky via llvm-commits <span dir="ltr" class="gmail_msg"><<a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br class="gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: aizatsky<br class="gmail_msg">
Date: Wed Jan 11 19:19:34 2017<br class="gmail_msg">
New Revision: 291734<br class="gmail_msg">
<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=291734&view=rev" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project?rev=291734&view=rev</a><br class="gmail_msg">
Log:<br class="gmail_msg">
[sancov] moving sancov rt to sancov/ directory<br class="gmail_msg">
<br class="gmail_msg">
Subscribers: kubabrecka, mgorny<br class="gmail_msg">
<br class="gmail_msg">
Differential Revision: <a href="https://reviews.llvm.org/D28541" rel="noreferrer" class="gmail_msg" target="_blank">https://reviews.llvm.org/D28541</a><br class="gmail_msg">
<br class="gmail_msg">
Added:<br class="gmail_msg">
    compiler-rt/trunk/lib/sancov/<br class="gmail_msg">
    compiler-rt/trunk/lib/sancov/CMakeLists.txt<br class="gmail_msg">
    compiler-rt/trunk/lib/sancov/sancov_flags.cc<br class="gmail_msg">
      - copied, changed from r291730, compiler-rt/trunk/lib/sanitizer_common/sancov_flags.cc<br class="gmail_msg">
    compiler-rt/trunk/lib/sancov/sancov_flags.h<br class="gmail_msg">
      - copied, changed from r291730, compiler-rt/trunk/lib/sanitizer_common/sancov_flags.h<br class="gmail_msg">
    compiler-rt/trunk/lib/sancov/sancov_flags.inc<br class="gmail_msg">
      - copied, changed from r291730, compiler-rt/trunk/lib/sanitizer_common/sancov_flags.inc<br class="gmail_msg">
    compiler-rt/trunk/lib/sancov/sanitizer_coverage_libcdep.cc<br class="gmail_msg">
      - copied, changed from r291730, compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc<br class="gmail_msg">
Removed:<br class="gmail_msg">
    compiler-rt/trunk/lib/sanitizer_common/sancov_flags.cc<br class="gmail_msg">
    compiler-rt/trunk/lib/sanitizer_common/sancov_flags.h<br class="gmail_msg">
    compiler-rt/trunk/lib/sanitizer_common/sancov_flags.inc<br class="gmail_msg">
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc<br class="gmail_msg">
Modified:<br class="gmail_msg">
    compiler-rt/trunk/lib/CMakeLists.txt<br class="gmail_msg">
    compiler-rt/trunk/lib/asan/CMakeLists.txt<br class="gmail_msg">
    compiler-rt/trunk/lib/asan/tests/CMakeLists.txt<br class="gmail_msg">
    compiler-rt/trunk/lib/cfi/CMakeLists.txt<br class="gmail_msg">
    compiler-rt/trunk/lib/dfsan/CMakeLists.txt<br class="gmail_msg">
    compiler-rt/trunk/lib/esan/CMakeLists.txt<br class="gmail_msg">
    compiler-rt/trunk/lib/lsan/CMakeLists.txt<br class="gmail_msg">
    compiler-rt/trunk/lib/msan/CMakeLists.txt<br class="gmail_msg">
    compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt<br class="gmail_msg">
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_libcdep.cc<br class="gmail_msg">
    compiler-rt/trunk/lib/sanitizer_common/tests/CMakeLists.txt<br class="gmail_msg">
    compiler-rt/trunk/lib/scudo/CMakeLists.txt<br class="gmail_msg">
    compiler-rt/trunk/lib/stats/CMakeLists.txt<br class="gmail_msg">
    compiler-rt/trunk/lib/tsan/CMakeLists.txt<br class="gmail_msg">
    compiler-rt/trunk/lib/tsan/dd/CMakeLists.txt<br class="gmail_msg">
    compiler-rt/trunk/lib/tsan/tests/CMakeLists.txt<br class="gmail_msg">
    compiler-rt/trunk/lib/ubsan/CMakeLists.txt<br class="gmail_msg">
    compiler-rt/trunk/lib/xray/CMakeLists.txt<br class="gmail_msg">
<br class="gmail_msg">
Modified: compiler-rt/trunk/lib/CMakeLists.txt<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/CMakeLists.txt (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/CMakeLists.txt Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -36,6 +36,10 @@ function(compiler_rt_build_sanitizer san<br class="gmail_msg">
   endif()<br class="gmail_msg">
 endfunction()<br class="gmail_msg">
<br class="gmail_msg">
+if(COMPILER_RT_HAS_SANITIZER_COMMON)<br class="gmail_msg">
+  add_subdirectory(sancov)<br class="gmail_msg">
+endif()<br class="gmail_msg">
+<br class="gmail_msg">
 if(COMPILER_RT_BUILD_SANITIZERS)<br class="gmail_msg">
   compiler_rt_build_runtime(interception)<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
Modified: compiler-rt/trunk/lib/asan/CMakeLists.txt<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/asan/CMakeLists.txt (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/asan/CMakeLists.txt Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -118,6 +118,7 @@ if(APPLE)<br class="gmail_msg">
                 RTInterception<br class="gmail_msg">
                 RTSanitizerCommon<br class="gmail_msg">
                 RTSanitizerCommonLibc<br class="gmail_msg">
+                RTSancovLibc<br class="gmail_msg">
                 RTLSanCommon<br class="gmail_msg">
                 RTUbsan<br class="gmail_msg">
     CFLAGS ${ASAN_DYNAMIC_CFLAGS}<br class="gmail_msg">
@@ -131,6 +132,7 @@ else()<br class="gmail_msg">
     RTInterception<br class="gmail_msg">
     RTSanitizerCommon<br class="gmail_msg">
     RTSanitizerCommonLibc<br class="gmail_msg">
+    RTSancovLibc<br class="gmail_msg">
     RTLSanCommon<br class="gmail_msg">
     RTUbsan)<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
Modified: compiler-rt/trunk/lib/asan/tests/CMakeLists.txt<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/tests/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/tests/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/asan/tests/CMakeLists.txt (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/asan/tests/CMakeLists.txt Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -281,6 +281,7 @@ macro(add_asan_tests_for_arch_and_kind a<br class="gmail_msg">
       $<TARGET_OBJECTS:RTInterception.osx><br class="gmail_msg">
       $<TARGET_OBJECTS:RTSanitizerCommon.osx><br class="gmail_msg">
       $<TARGET_OBJECTS:RTSanitizerCommonLibc.osx><br class="gmail_msg">
+      $<TARGET_OBJECTS:RTSancovLibc.osx><br class="gmail_msg">
       $<TARGET_OBJECTS:RTLSanCommon.osx><br class="gmail_msg">
       $<TARGET_OBJECTS:RTUbsan.osx>)<br class="gmail_msg">
   else()<br class="gmail_msg">
@@ -290,6 +291,7 @@ macro(add_asan_tests_for_arch_and_kind a<br class="gmail_msg">
       $<TARGET_OBJECTS:RTInterception.${arch}><br class="gmail_msg">
       $<TARGET_OBJECTS:RTSanitizerCommon.${arch}><br class="gmail_msg">
       $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}><br class="gmail_msg">
+      $<TARGET_OBJECTS:RTSancovLibc.${arch}><br class="gmail_msg">
       $<TARGET_OBJECTS:RTLSanCommon.${arch}><br class="gmail_msg">
       $<TARGET_OBJECTS:RTUbsan.${arch}><br class="gmail_msg">
       $<TARGET_OBJECTS:RTUbsan_cxx.${arch}>)<br class="gmail_msg">
@@ -342,6 +344,7 @@ if(ANDROID)<br class="gmail_msg">
       $<TARGET_OBJECTS:RTInterception.${arch}><br class="gmail_msg">
       $<TARGET_OBJECTS:RTSanitizerCommon.${arch}><br class="gmail_msg">
       $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}><br class="gmail_msg">
+      $<TARGET_OBJECTS:RTSancovLibc.${arch}><br class="gmail_msg">
       $<TARGET_OBJECTS:RTUbsan.${arch}><br class="gmail_msg">
       $<TARGET_OBJECTS:RTUbsan_cxx.${arch}><br class="gmail_msg">
       ${COMPILER_RT_GTEST_SOURCE}<br class="gmail_msg">
<br class="gmail_msg">
Modified: compiler-rt/trunk/lib/cfi/CMakeLists.txt<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/cfi/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/cfi/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/cfi/CMakeLists.txt (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/cfi/CMakeLists.txt Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -20,6 +20,7 @@ foreach(arch ${CFI_SUPPORTED_ARCH})<br class="gmail_msg">
     OBJECT_LIBS RTInterception<br class="gmail_msg">
                 RTSanitizerCommon<br class="gmail_msg">
                 RTSanitizerCommonLibc<br class="gmail_msg">
+                RTSancovLibc<br class="gmail_msg">
     CFLAGS ${CFI_CFLAGS}<br class="gmail_msg">
     PARENT_TARGET cfi)<br class="gmail_msg">
   add_compiler_rt_runtime(clang_rt.cfi_diag<br class="gmail_msg">
@@ -29,6 +30,7 @@ foreach(arch ${CFI_SUPPORTED_ARCH})<br class="gmail_msg">
     OBJECT_LIBS RTInterception<br class="gmail_msg">
                 RTSanitizerCommon<br class="gmail_msg">
                 RTSanitizerCommonLibc<br class="gmail_msg">
+                RTSancovLibc<br class="gmail_msg">
                RTUbsan<br class="gmail_msg">
     CFLAGS ${CFI_CFLAGS} ${CFI_DIAG_CFLAGS}<br class="gmail_msg">
     PARENT_TARGET cfi)<br class="gmail_msg">
<br class="gmail_msg">
Modified: compiler-rt/trunk/lib/dfsan/CMakeLists.txt<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/dfsan/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/dfsan/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/dfsan/CMakeLists.txt (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/dfsan/CMakeLists.txt Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -23,6 +23,7 @@ foreach(arch ${DFSAN_SUPPORTED_ARCH})<br class="gmail_msg">
             $<TARGET_OBJECTS:RTInterception.${arch}><br class="gmail_msg">
             $<TARGET_OBJECTS:RTSanitizerCommon.${arch}><br class="gmail_msg">
             $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}><br class="gmail_msg">
+            $<TARGET_OBJECTS:RTSancovLibc.${arch}><br class="gmail_msg">
     CFLAGS ${DFSAN_CFLAGS}<br class="gmail_msg">
     PARENT_TARGET dfsan)<br class="gmail_msg">
   add_sanitizer_rt_symbols(clang_rt.dfsan<br class="gmail_msg">
<br class="gmail_msg">
Modified: compiler-rt/trunk/lib/esan/CMakeLists.txt<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/esan/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/esan/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/esan/CMakeLists.txt (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/esan/CMakeLists.txt Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -26,6 +26,7 @@ foreach (arch ${ESAN_SUPPORTED_ARCH})<br class="gmail_msg">
             $<TARGET_OBJECTS:RTInterception.${arch}><br class="gmail_msg">
             $<TARGET_OBJECTS:RTSanitizerCommon.${arch}><br class="gmail_msg">
             $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}><br class="gmail_msg">
+            $<TARGET_OBJECTS:RTSancovLibc.${arch}><br class="gmail_msg">
     CFLAGS ${ESAN_RTL_CFLAGS})<br class="gmail_msg">
   add_sanitizer_rt_symbols(clang_rt.esan<br class="gmail_msg">
     ARCHS ${arch}<br class="gmail_msg">
<br class="gmail_msg">
Modified: compiler-rt/trunk/lib/lsan/CMakeLists.txt<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/lsan/CMakeLists.txt (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/lsan/CMakeLists.txt Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -32,6 +32,7 @@ if(COMPILER_RT_HAS_LSAN)<br class="gmail_msg">
               $<TARGET_OBJECTS:RTInterception.${arch}><br class="gmail_msg">
               $<TARGET_OBJECTS:RTSanitizerCommon.${arch}><br class="gmail_msg">
               $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}><br class="gmail_msg">
+              $<TARGET_OBJECTS:RTSancovLibc.${arch}><br class="gmail_msg">
               $<TARGET_OBJECTS:RTLSanCommon.${arch}><br class="gmail_msg">
       CFLAGS ${LSAN_CFLAGS}<br class="gmail_msg">
       PARENT_TARGET lsan)<br class="gmail_msg">
<br class="gmail_msg">
Modified: compiler-rt/trunk/lib/msan/CMakeLists.txt<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/msan/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/msan/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/msan/CMakeLists.txt (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/msan/CMakeLists.txt Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -35,6 +35,7 @@ foreach(arch ${MSAN_SUPPORTED_ARCH})<br class="gmail_msg">
             $<TARGET_OBJECTS:RTInterception.${arch}><br class="gmail_msg">
             $<TARGET_OBJECTS:RTSanitizerCommon.${arch}><br class="gmail_msg">
             $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}><br class="gmail_msg">
+            $<TARGET_OBJECTS:RTSancovLibc.${arch}><br class="gmail_msg">
             $<TARGET_OBJECTS:RTUbsan.${arch}><br class="gmail_msg">
     CFLAGS ${MSAN_RTL_CFLAGS}<br class="gmail_msg">
     PARENT_TARGET msan)<br class="gmail_msg">
<br class="gmail_msg">
Added: compiler-rt/trunk/lib/sancov/CMakeLists.txt<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sancov/CMakeLists.txt?rev=291734&view=auto" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sancov/CMakeLists.txt?rev=291734&view=auto</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/sancov/CMakeLists.txt (added)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/sancov/CMakeLists.txt Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -0,0 +1,16 @@<br class="gmail_msg">
+set(SANITIZER_CFLAGS ${SANITIZER_COMMON_CFLAGS})<br class="gmail_msg">
+append_rtti_flag(OFF SANITIZER_CFLAGS)<br class="gmail_msg">
+<br class="gmail_msg">
+set(SANCOV_LIBCDEP_SOURCES<br class="gmail_msg">
+  sancov_flags.cc<br class="gmail_msg">
+  sanitizer_coverage_libcdep.cc)<br class="gmail_msg">
+<br class="gmail_msg">
+add_compiler_rt_object_libraries(RTSancovLibc<br class="gmail_msg">
+  ${OS_OPTION}<br class="gmail_msg">
+  ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}<br class="gmail_msg">
+  SOURCES ${SANCOV_LIBCDEP_SOURCES}<br class="gmail_msg">
+  CFLAGS ${SANITIZER_CFLAGS}<br class="gmail_msg">
+  DEFS ${SANITIZER_COMMON_DEFINITIONS})<br class="gmail_msg">
+<br class="gmail_msg">
+include_directories(..)<br class="gmail_msg">
+<br class="gmail_msg">
<br class="gmail_msg">
Copied: compiler-rt/trunk/lib/sancov/sancov_flags.cc (from r291730, compiler-rt/trunk/lib/sanitizer_common/sancov_flags.cc)<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sancov/sancov_flags.cc?p2=compiler-rt/trunk/lib/sancov/sancov_flags.cc&p1=compiler-rt/trunk/lib/sanitizer_common/sancov_flags.cc&r1=291730&r2=291734&rev=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sancov/sancov_flags.cc?p2=compiler-rt/trunk/lib/sancov/sancov_flags.cc&p1=compiler-rt/trunk/lib/sanitizer_common/sancov_flags.cc&r1=291730&r2=291734&rev=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/sanitizer_common/sancov_flags.cc (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/sancov/sancov_flags.cc Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -12,8 +12,8 @@<br class="gmail_msg">
 //===----------------------------------------------------------------------===//<br class="gmail_msg">
<br class="gmail_msg">
 #include "sancov_flags.h"<br class="gmail_msg">
-#include "sanitizer_flag_parser.h"<br class="gmail_msg">
-#include "sanitizer_platform.h"<br class="gmail_msg">
+#include "sanitizer_common/sanitizer_flag_parser.h"<br class="gmail_msg">
+#include "sanitizer_common/sanitizer_platform.h"<br class="gmail_msg">
<br class="gmail_msg">
 #if !SANITIZER_LINUX<br class="gmail_msg">
 // other platforms do not have weak symbols out of the box.<br class="gmail_msg">
<br class="gmail_msg">
Copied: compiler-rt/trunk/lib/sancov/sancov_flags.h (from r291730, compiler-rt/trunk/lib/sanitizer_common/sancov_flags.h)<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sancov/sancov_flags.h?p2=compiler-rt/trunk/lib/sancov/sancov_flags.h&p1=compiler-rt/trunk/lib/sanitizer_common/sancov_flags.h&r1=291730&r2=291734&rev=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sancov/sancov_flags.h?p2=compiler-rt/trunk/lib/sancov/sancov_flags.h&p1=compiler-rt/trunk/lib/sanitizer_common/sancov_flags.h&r1=291730&r2=291734&rev=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/sanitizer_common/sancov_flags.h (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/sancov/sancov_flags.h Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -13,8 +13,8 @@<br class="gmail_msg">
 #ifndef SANCOV_FLAGS_H<br class="gmail_msg">
 #define SANCOV_FLAGS_H<br class="gmail_msg">
<br class="gmail_msg">
-#include "sanitizer_flag_parser.h"<br class="gmail_msg">
-#include "sanitizer_internal_defs.h"<br class="gmail_msg">
+#include "sanitizer_common/sanitizer_flag_parser.h"<br class="gmail_msg">
+#include "sanitizer_common/sanitizer_internal_defs.h"<br class="gmail_msg">
<br class="gmail_msg">
 namespace __sancov {<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
Copied: compiler-rt/trunk/lib/sancov/sancov_flags.inc (from r291730, compiler-rt/trunk/lib/sanitizer_common/sancov_flags.inc)<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sancov/sancov_flags.inc?p2=compiler-rt/trunk/lib/sancov/sancov_flags.inc&p1=compiler-rt/trunk/lib/sanitizer_common/sancov_flags.inc&r1=291730&r2=291734&rev=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sancov/sancov_flags.inc?p2=compiler-rt/trunk/lib/sancov/sancov_flags.inc&p1=compiler-rt/trunk/lib/sanitizer_common/sancov_flags.inc&r1=291730&r2=291734&rev=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
    (empty)<br class="gmail_msg">
<br class="gmail_msg">
Copied: compiler-rt/trunk/lib/sancov/sanitizer_coverage_libcdep.cc (from r291730, compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc)<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sancov/sanitizer_coverage_libcdep.cc?p2=compiler-rt/trunk/lib/sancov/sanitizer_coverage_libcdep.cc&p1=compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc&r1=291730&r2=291734&rev=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sancov/sanitizer_coverage_libcdep.cc?p2=compiler-rt/trunk/lib/sancov/sanitizer_coverage_libcdep.cc&p1=compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc&r1=291730&r2=291734&rev=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/sancov/sanitizer_coverage_libcdep.cc Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -9,10 +9,10 @@<br class="gmail_msg">
 // Sanitizer Coverage Controller for Trace PC Guard.<br class="gmail_msg">
<br class="gmail_msg">
 #include "sancov_flags.h"<br class="gmail_msg">
-#include "sanitizer_allocator_internal.h"<br class="gmail_msg">
-#include "sanitizer_atomic.h"<br class="gmail_msg">
-#include "sanitizer_common.h"<br class="gmail_msg">
-#include "sanitizer_symbolizer.h"<br class="gmail_msg">
+#include "sanitizer_common/sanitizer_allocator_internal.h"<br class="gmail_msg">
+#include "sanitizer_common/sanitizer_atomic.h"<br class="gmail_msg">
+#include "sanitizer_common/sanitizer_common.h"<br class="gmail_msg">
+#include "sanitizer_common/sanitizer_symbolizer.h"<br class="gmail_msg">
<br class="gmail_msg">
 using namespace __sanitizer;<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
Modified: compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -52,9 +52,7 @@ set(SANITIZER_NOLIBC_SOURCES<br class="gmail_msg">
<br class="gmail_msg">
 set(SANITIZER_LIBCDEP_SOURCES<br class="gmail_msg">
   sanitizer_common_libcdep.cc<br class="gmail_msg">
-  sancov_flags.cc<br class="gmail_msg">
   sanitizer_coverage_libcdep.cc<br class="gmail_msg">
-  sanitizer_coverage_libcdep_new.cc<br class="gmail_msg">
   sanitizer_coverage_mapping_libcdep.cc<br class="gmail_msg">
   sanitizer_linux_libcdep.cc<br class="gmail_msg">
   sanitizer_posix_libcdep.cc<br class="gmail_msg">
<br class="gmail_msg">
Removed: compiler-rt/trunk/lib/sanitizer_common/sancov_flags.cc<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sancov_flags.cc?rev=291733&view=auto" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sancov_flags.cc?rev=291733&view=auto</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/sanitizer_common/sancov_flags.cc (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/sanitizer_common/sancov_flags.cc (removed)<br class="gmail_msg">
@@ -1,60 +0,0 @@<br class="gmail_msg">
-//===-- sancov_flags.cc -----------------------------------------*- C++ -*-===//<br class="gmail_msg">
-//<br class="gmail_msg">
-//                     The LLVM Compiler Infrastructure<br class="gmail_msg">
-//<br class="gmail_msg">
-// This file is distributed under the University of Illinois Open Source<br class="gmail_msg">
-// License. See LICENSE.TXT for details.<br class="gmail_msg">
-//<br class="gmail_msg">
-//===----------------------------------------------------------------------===//<br class="gmail_msg">
-//<br class="gmail_msg">
-// Sanitizer Coverage runtime flags.<br class="gmail_msg">
-//<br class="gmail_msg">
-//===----------------------------------------------------------------------===//<br class="gmail_msg">
-<br class="gmail_msg">
-#include "sancov_flags.h"<br class="gmail_msg">
-#include "sanitizer_flag_parser.h"<br class="gmail_msg">
-#include "sanitizer_platform.h"<br class="gmail_msg">
-<br class="gmail_msg">
-#if !SANITIZER_LINUX<br class="gmail_msg">
-// other platforms do not have weak symbols out of the box.<br class="gmail_msg">
-extern "C" const char* __sancov_default_options() { return ""; }<br class="gmail_msg">
-#endif<br class="gmail_msg">
-<br class="gmail_msg">
-using namespace __sanitizer;<br class="gmail_msg">
-<br class="gmail_msg">
-namespace __sancov {<br class="gmail_msg">
-<br class="gmail_msg">
-SancovFlags sancov_flags_dont_use_directly;  // use via flags();<br class="gmail_msg">
-<br class="gmail_msg">
-void SancovFlags::SetDefaults() {<br class="gmail_msg">
-#define SANCOV_FLAG(Type, Name, DefaultValue, Description) Name = DefaultValue;<br class="gmail_msg">
-#include "sancov_flags.inc"<br class="gmail_msg">
-#undef SANCOV_FLAG<br class="gmail_msg">
-}<br class="gmail_msg">
-<br class="gmail_msg">
-static void RegisterSancovFlags(FlagParser *parser, SancovFlags *f) {<br class="gmail_msg">
-#define SANCOV_FLAG(Type, Name, DefaultValue, Description) \<br class="gmail_msg">
-  RegisterFlag(parser, #Name, Description, &f->Name);<br class="gmail_msg">
-#include "sancov_flags.inc"<br class="gmail_msg">
-#undef SANCOV_FLAG<br class="gmail_msg">
-}<br class="gmail_msg">
-<br class="gmail_msg">
-static const char *MaybeCallSancovDefaultOptions() {<br class="gmail_msg">
-  return (&__sancov_default_options) ? __sancov_default_options() : "";<br class="gmail_msg">
-}<br class="gmail_msg">
-<br class="gmail_msg">
-void InitializeSancovFlags() {<br class="gmail_msg">
-  SancovFlags *f = sancov_flags();<br class="gmail_msg">
-  f->SetDefaults();<br class="gmail_msg">
-<br class="gmail_msg">
-  FlagParser parser;<br class="gmail_msg">
-  RegisterSancovFlags(&parser, f);<br class="gmail_msg">
-<br class="gmail_msg">
-  parser.ParseString(MaybeCallSancovDefaultOptions());<br class="gmail_msg">
-  parser.ParseString(GetEnv("SANCOV_OPTIONS"));<br class="gmail_msg">
-<br class="gmail_msg">
-  ReportUnrecognizedFlags();<br class="gmail_msg">
-  if (f->help) parser.PrintFlagDescriptions();<br class="gmail_msg">
-}<br class="gmail_msg">
-<br class="gmail_msg">
-}  // namespace __sancov<br class="gmail_msg">
<br class="gmail_msg">
Removed: compiler-rt/trunk/lib/sanitizer_common/sancov_flags.h<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sancov_flags.h?rev=291733&view=auto" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sancov_flags.h?rev=291733&view=auto</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/sanitizer_common/sancov_flags.h (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/sanitizer_common/sancov_flags.h (removed)<br class="gmail_msg">
@@ -1,40 +0,0 @@<br class="gmail_msg">
-//===-- sancov_flags.h ------------------------------------------*- C++ -*-===//<br class="gmail_msg">
-//<br class="gmail_msg">
-//                     The LLVM Compiler Infrastructure<br class="gmail_msg">
-//<br class="gmail_msg">
-// This file is distributed under the University of Illinois Open Source<br class="gmail_msg">
-// License. See LICENSE.TXT for details.<br class="gmail_msg">
-//<br class="gmail_msg">
-//===----------------------------------------------------------------------===//<br class="gmail_msg">
-//<br class="gmail_msg">
-// Sanitizer Coverage runtime flags.<br class="gmail_msg">
-//<br class="gmail_msg">
-//===----------------------------------------------------------------------===//<br class="gmail_msg">
-#ifndef SANCOV_FLAGS_H<br class="gmail_msg">
-#define SANCOV_FLAGS_H<br class="gmail_msg">
-<br class="gmail_msg">
-#include "sanitizer_flag_parser.h"<br class="gmail_msg">
-#include "sanitizer_internal_defs.h"<br class="gmail_msg">
-<br class="gmail_msg">
-namespace __sancov {<br class="gmail_msg">
-<br class="gmail_msg">
-struct SancovFlags {<br class="gmail_msg">
-#define SANCOV_FLAG(Type, Name, DefaultValue, Description) Type Name;<br class="gmail_msg">
-#include "sancov_flags.inc"<br class="gmail_msg">
-#undef SANCOV_FLAG<br class="gmail_msg">
-<br class="gmail_msg">
-  void SetDefaults();<br class="gmail_msg">
-};<br class="gmail_msg">
-<br class="gmail_msg">
-extern SancovFlags sancov_flags_dont_use_directly;<br class="gmail_msg">
-<br class="gmail_msg">
-inline SancovFlags* sancov_flags() { return &sancov_flags_dont_use_directly; }<br class="gmail_msg">
-<br class="gmail_msg">
-void InitializeSancovFlags();<br class="gmail_msg">
-<br class="gmail_msg">
-extern "C" SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE const char*<br class="gmail_msg">
-__sancov_default_options();<br class="gmail_msg">
-<br class="gmail_msg">
-}  // namespace __sancov<br class="gmail_msg">
-<br class="gmail_msg">
-#endif<br class="gmail_msg">
<br class="gmail_msg">
Removed: compiler-rt/trunk/lib/sanitizer_common/sancov_flags.inc<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sancov_flags.inc?rev=291733&view=auto" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sancov_flags.inc?rev=291733&view=auto</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/sanitizer_common/sancov_flags.inc (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/sanitizer_common/sancov_flags.inc (removed)<br class="gmail_msg">
@@ -1,21 +0,0 @@<br class="gmail_msg">
-//===-- sancov_flags.inc ----------------------------------------*- C++ -*-===//<br class="gmail_msg">
-//<br class="gmail_msg">
-//                     The LLVM Compiler Infrastructure<br class="gmail_msg">
-//<br class="gmail_msg">
-// This file is distributed under the University of Illinois Open Source<br class="gmail_msg">
-// License. See LICENSE.TXT for details.<br class="gmail_msg">
-//<br class="gmail_msg">
-//===----------------------------------------------------------------------===//<br class="gmail_msg">
-//<br class="gmail_msg">
-// Sanitizer Coverage runtime flags.<br class="gmail_msg">
-//<br class="gmail_msg">
-//===----------------------------------------------------------------------===//<br class="gmail_msg">
-#ifndef SANCOV_FLAG<br class="gmail_msg">
-#error "Defnine SANCOV_FLAG prior to including this file!"<br class="gmail_msg">
-#endif<br class="gmail_msg">
-<br class="gmail_msg">
-SANCOV_FLAG(bool, symbolize, true,<br class="gmail_msg">
-            "If set, converage information will be symbolized by sancov tool "<br class="gmail_msg">
-            "after dumping.")<br class="gmail_msg">
-<br class="gmail_msg">
-SANCOV_FLAG(bool, help, false, "Print flags help.")<br class="gmail_msg">
<br class="gmail_msg">
Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_libcdep.cc<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_libcdep.cc?rev=291734&r1=291733&r2=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_libcdep.cc?rev=291734&r1=291733&r2=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_libcdep.cc (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_libcdep.cc Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -954,7 +954,9 @@ SANITIZER_INTERFACE_ATTRIBUTE void __san<br class="gmail_msg">
 }<br class="gmail_msg">
 SANITIZER_INTERFACE_ATTRIBUTE void __sanitizer_cov_dump() {<br class="gmail_msg">
   coverage_data.DumpAll();<br class="gmail_msg">
+#if SANITIZER_LINUX<br class="gmail_msg">
   __sanitizer_dump_trace_pc_guard_coverage();<br class="gmail_msg">
+#endif<br class="gmail_msg">
 }<br class="gmail_msg">
 SANITIZER_INTERFACE_ATTRIBUTE void<br class="gmail_msg">
 __sanitizer_cov_module_init(s32 *guards, uptr npcs, u8 *counters,<br class="gmail_msg">
<br class="gmail_msg">
Removed: compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc?rev=291733&view=auto" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc?rev=291733&view=auto</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc (removed)<br class="gmail_msg">
@@ -1,174 +0,0 @@<br class="gmail_msg">
-//===-- sanitizer_coverage_libcdep_new.cc ---------------------------------===//<br class="gmail_msg">
-//<br class="gmail_msg">
-//                     The LLVM Compiler Infrastructure<br class="gmail_msg">
-//<br class="gmail_msg">
-// This file is distributed under the University of Illinois Open Source<br class="gmail_msg">
-// License. See LICENSE.TXT for details.<br class="gmail_msg">
-//<br class="gmail_msg">
-//===----------------------------------------------------------------------===//<br class="gmail_msg">
-// Sanitizer Coverage Controller for Trace PC Guard.<br class="gmail_msg">
-<br class="gmail_msg">
-#include "sancov_flags.h"<br class="gmail_msg">
-#include "sanitizer_allocator_internal.h"<br class="gmail_msg">
-#include "sanitizer_atomic.h"<br class="gmail_msg">
-#include "sanitizer_common.h"<br class="gmail_msg">
-#include "sanitizer_symbolizer.h"<br class="gmail_msg">
-<br class="gmail_msg">
-using namespace __sanitizer;<br class="gmail_msg">
-<br class="gmail_msg">
-using AddressRange = LoadedModule::AddressRange;<br class="gmail_msg">
-<br class="gmail_msg">
-namespace __sancov {<br class="gmail_msg">
-namespace {<br class="gmail_msg">
-<br class="gmail_msg">
-static const u64 Magic64 = 0xC0BFFFFFFFFFFF64ULL;<br class="gmail_msg">
-static const u64 Magic32 = 0xC0BFFFFFFFFFFF32ULL;<br class="gmail_msg">
-static const u64 Magic = SANITIZER_WORDSIZE == 64 ? Magic64 : Magic32;<br class="gmail_msg">
-<br class="gmail_msg">
-static fd_t OpenFile(const char* path) {<br class="gmail_msg">
-  error_t err;<br class="gmail_msg">
-  fd_t fd = OpenFile(path, WrOnly, &err);<br class="gmail_msg">
-  if (fd == kInvalidFd)<br class="gmail_msg">
-    Report("SanitizerCoverage: failed to open %s for writing (reason: %d)\n",<br class="gmail_msg">
-           path, err);<br class="gmail_msg">
-  return fd;<br class="gmail_msg">
-}<br class="gmail_msg">
-<br class="gmail_msg">
-static void GetCoverageFilename(char* path, const char* name,<br class="gmail_msg">
-                                const char* extension) {<br class="gmail_msg">
-  CHECK(name);<br class="gmail_msg">
-  internal_snprintf(path, kMaxPathLength, "%s/%s.%zd.%s",<br class="gmail_msg">
-                    common_flags()->coverage_dir, name, internal_getpid(),<br class="gmail_msg">
-                    extension);<br class="gmail_msg">
-}<br class="gmail_msg">
-<br class="gmail_msg">
-static void WriteModuleCoverage(char* file_path, const char* module_name,<br class="gmail_msg">
-                                const uptr* pcs, uptr len) {<br class="gmail_msg">
-  GetCoverageFilename(file_path, StripModuleName(module_name), "sancov");<br class="gmail_msg">
-  fd_t fd = OpenFile(file_path);<br class="gmail_msg">
-  WriteToFile(fd, &Magic, sizeof(Magic));<br class="gmail_msg">
-  WriteToFile(fd, pcs, len * sizeof(*pcs));<br class="gmail_msg">
-  CloseFile(fd);<br class="gmail_msg">
-  Printf("SanitizerCoverage: %s %zd PCs written\n", file_path, len);<br class="gmail_msg">
-}<br class="gmail_msg">
-<br class="gmail_msg">
-static void SanitizerDumpCoverage(const uptr* unsorted_pcs, uptr len) {<br class="gmail_msg">
-  if (!len) return;<br class="gmail_msg">
-<br class="gmail_msg">
-  char* file_path = static_cast<char*>(InternalAlloc(kMaxPathLength));<br class="gmail_msg">
-  char* module_name = static_cast<char*>(InternalAlloc(kMaxPathLength));<br class="gmail_msg">
-  uptr* pcs = static_cast<uptr*>(InternalAlloc(len * sizeof(uptr)));<br class="gmail_msg">
-<br class="gmail_msg">
-  internal_memcpy(pcs, unsorted_pcs, len * sizeof(uptr));<br class="gmail_msg">
-  SortArray(pcs, len);<br class="gmail_msg">
-<br class="gmail_msg">
-  bool module_found = false;<br class="gmail_msg">
-  uptr last_base = 0;<br class="gmail_msg">
-  uptr module_start_idx = 0;<br class="gmail_msg">
-<br class="gmail_msg">
-  for (uptr i = 0; i < len; ++i) {<br class="gmail_msg">
-    const uptr pc = pcs[i];<br class="gmail_msg">
-    if (!pc) continue;<br class="gmail_msg">
-<br class="gmail_msg">
-    if (!__sanitizer_get_module_and_offset_for_pc(pc, nullptr, 0, &pcs[i])) {<br class="gmail_msg">
-      Printf("ERROR: bad pc %x\n", pc);<br class="gmail_msg">
-      continue;<br class="gmail_msg">
-    }<br class="gmail_msg">
-    uptr module_base = pc - pcs[i];<br class="gmail_msg">
-<br class="gmail_msg">
-    if (module_base != last_base || !module_found) {<br class="gmail_msg">
-      if (module_found) {<br class="gmail_msg">
-        WriteModuleCoverage(file_path, module_name, &pcs[module_start_idx],<br class="gmail_msg">
-                            i - module_start_idx);<br class="gmail_msg">
-      }<br class="gmail_msg">
-<br class="gmail_msg">
-      last_base = module_base;<br class="gmail_msg">
-      module_start_idx = i;<br class="gmail_msg">
-      module_found = true;<br class="gmail_msg">
-      __sanitizer_get_module_and_offset_for_pc(pc, module_name, kMaxPathLength,<br class="gmail_msg">
-                                               &pcs[i]);<br class="gmail_msg">
-    }<br class="gmail_msg">
-  }<br class="gmail_msg">
-<br class="gmail_msg">
-  if (module_found) {<br class="gmail_msg">
-    WriteModuleCoverage(file_path, module_name, &pcs[module_start_idx],<br class="gmail_msg">
-                        len - module_start_idx);<br class="gmail_msg">
-  }<br class="gmail_msg">
-<br class="gmail_msg">
-  InternalFree(file_path);<br class="gmail_msg">
-  InternalFree(module_name);<br class="gmail_msg">
-  InternalFree(pcs);<br class="gmail_msg">
-<br class="gmail_msg">
-  if (sancov_flags()->symbolize) {<br class="gmail_msg">
-    Printf("TODO(aizatsky): call sancov to symbolize\n");<br class="gmail_msg">
-  }<br class="gmail_msg">
-}<br class="gmail_msg">
-<br class="gmail_msg">
-// Collects trace-pc guard coverage.<br class="gmail_msg">
-// This class relies on zero-initialization.<br class="gmail_msg">
-class TracePcGuardController {<br class="gmail_msg">
- public:<br class="gmail_msg">
-  void Initialize() {<br class="gmail_msg">
-    CHECK(!initialized);<br class="gmail_msg">
-<br class="gmail_msg">
-    initialized = true;<br class="gmail_msg">
-    InitializeSancovFlags();<br class="gmail_msg">
-<br class="gmail_msg">
-    pc_vector.Initialize(0);<br class="gmail_msg">
-  }<br class="gmail_msg">
-<br class="gmail_msg">
-  void InitTracePcGuard(u32* start, u32* end) {<br class="gmail_msg">
-    if (!initialized) Initialize();<br class="gmail_msg">
-    CHECK(!*start);<br class="gmail_msg">
-    CHECK_NE(start, end);<br class="gmail_msg">
-<br class="gmail_msg">
-    u32 i = pc_vector.size();<br class="gmail_msg">
-    for (u32* p = start; p < end; p++) *p = ++i;<br class="gmail_msg">
-    pc_vector.resize(i);<br class="gmail_msg">
-  }<br class="gmail_msg">
-<br class="gmail_msg">
-  void TracePcGuard(u32* guard, uptr pc) {<br class="gmail_msg">
-    atomic_uint32_t* guard_ptr = reinterpret_cast<atomic_uint32_t*>(guard);<br class="gmail_msg">
-    u32 idx = atomic_exchange(guard_ptr, 0, memory_order_relaxed);<br class="gmail_msg">
-    if (!idx) return;<br class="gmail_msg">
-    // we start indices from 1.<br class="gmail_msg">
-    pc_vector[idx - 1] = pc;<br class="gmail_msg">
-  }<br class="gmail_msg">
-<br class="gmail_msg">
-  void Dump() {<br class="gmail_msg">
-    if (!initialized || !common_flags()->coverage) return;<br class="gmail_msg">
-    __sanitizer_dump_coverage(pc_vector.data(), pc_vector.size());<br class="gmail_msg">
-  }<br class="gmail_msg">
-<br class="gmail_msg">
- private:<br class="gmail_msg">
-  bool initialized;<br class="gmail_msg">
-  InternalMmapVectorNoCtor<uptr> pc_vector;<br class="gmail_msg">
-};<br class="gmail_msg">
-<br class="gmail_msg">
-static TracePcGuardController pc_guard_controller;<br class="gmail_msg">
-<br class="gmail_msg">
-}  // namespace<br class="gmail_msg">
-}  // namespace __sancov<br class="gmail_msg">
-<br class="gmail_msg">
-extern "C" {<br class="gmail_msg">
-SANITIZER_INTERFACE_ATTRIBUTE void __sanitizer_dump_coverage(  // NOLINT<br class="gmail_msg">
-    const uptr* pcs, uptr len) {<br class="gmail_msg">
-  return __sancov::SanitizerDumpCoverage(pcs, len);<br class="gmail_msg">
-}<br class="gmail_msg">
-<br class="gmail_msg">
-SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE void<br class="gmail_msg">
-__sanitizer_cov_trace_pc_guard(u32* guard) {<br class="gmail_msg">
-  if (!*guard) return;<br class="gmail_msg">
-  __sancov::pc_guard_controller.TracePcGuard(guard, GET_CALLER_PC() - 1);<br class="gmail_msg">
-}<br class="gmail_msg">
-<br class="gmail_msg">
-SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE void<br class="gmail_msg">
-__sanitizer_cov_trace_pc_guard_init(u32* start, u32* end) {<br class="gmail_msg">
-  if (start == end || *start) return;<br class="gmail_msg">
-  __sancov::pc_guard_controller.InitTracePcGuard(start, end);<br class="gmail_msg">
-}<br class="gmail_msg">
-<br class="gmail_msg">
-SANITIZER_INTERFACE_ATTRIBUTE void __sanitizer_dump_trace_pc_guard_coverage() {<br class="gmail_msg">
-  __sancov::pc_guard_controller.Dump();<br class="gmail_msg">
-}<br class="gmail_msg">
-}  // extern "C"<br class="gmail_msg">
<br class="gmail_msg">
Modified: compiler-rt/trunk/lib/sanitizer_common/tests/CMakeLists.txt<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/tests/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/tests/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/sanitizer_common/tests/CMakeLists.txt (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/sanitizer_common/tests/CMakeLists.txt Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -200,7 +200,8 @@ if(COMPILER_RT_CAN_EXECUTE_TESTS AND NOT<br class="gmail_msg">
   if(APPLE)<br class="gmail_msg">
     add_sanitizer_common_lib("RTSanitizerCommon.test.osx"<br class="gmail_msg">
                              $<TARGET_OBJECTS:RTSanitizerCommon.osx><br class="gmail_msg">
-                             $<TARGET_OBJECTS:RTSanitizerCommonLibc.osx>)<br class="gmail_msg">
+                             $<TARGET_OBJECTS:RTSanitizerCommonLibc.osx><br class="gmail_msg">
+                             $<TARGET_OBJECTS:RTSancovLibc.osx>)<br class="gmail_msg">
   else()<br class="gmail_msg">
     if(CAN_TARGET_x86_64)<br class="gmail_msg">
       add_sanitizer_common_lib("RTSanitizerCommon.test.nolibc.x86_64"<br class="gmail_msg">
@@ -210,7 +211,8 @@ if(COMPILER_RT_CAN_EXECUTE_TESTS AND NOT<br class="gmail_msg">
     foreach(arch ${SANITIZER_UNITTEST_SUPPORTED_ARCH})<br class="gmail_msg">
       add_sanitizer_common_lib("RTSanitizerCommon.test.${arch}"<br class="gmail_msg">
                                $<TARGET_OBJECTS:RTSanitizerCommon.${arch}><br class="gmail_msg">
-                               $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}>)<br class="gmail_msg">
+                               $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}><br class="gmail_msg">
+                               $<TARGET_OBJECTS:RTSancovLibc.${arch}>)<br class="gmail_msg">
     endforeach()<br class="gmail_msg">
   endif()<br class="gmail_msg">
   foreach(arch ${SANITIZER_UNITTEST_SUPPORTED_ARCH})<br class="gmail_msg">
@@ -224,7 +226,8 @@ if(ANDROID)<br class="gmail_msg">
       ${SANITIZER_UNITTESTS}<br class="gmail_msg">
       ${COMPILER_RT_GTEST_SOURCE}<br class="gmail_msg">
       $<TARGET_OBJECTS:RTSanitizerCommon.${arch}><br class="gmail_msg">
-      $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}>)<br class="gmail_msg">
+      $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}><br class="gmail_msg">
+      $<TARGET_OBJECTS:RTSancovLibc.${arch}>)<br class="gmail_msg">
     set_target_compile_flags(SanitizerTest<br class="gmail_msg">
       ${SANITIZER_COMMON_CFLAGS}<br class="gmail_msg">
       ${SANITIZER_TEST_CFLAGS_COMMON})<br class="gmail_msg">
<br class="gmail_msg">
Modified: compiler-rt/trunk/lib/scudo/CMakeLists.txt<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/scudo/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/scudo/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/scudo/CMakeLists.txt (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/scudo/CMakeLists.txt Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -29,6 +29,7 @@ if(COMPILER_RT_HAS_SCUDO)<br class="gmail_msg">
               $<TARGET_OBJECTS:RTInterception.${arch}><br class="gmail_msg">
               $<TARGET_OBJECTS:RTSanitizerCommonNoTermination.${arch}><br class="gmail_msg">
               $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}><br class="gmail_msg">
+              $<TARGET_OBJECTS:RTSancovLibc.${arch}><br class="gmail_msg">
       CFLAGS ${SCUDO_CFLAGS}<br class="gmail_msg">
       PARENT_TARGET scudo)<br class="gmail_msg">
   endforeach()<br class="gmail_msg">
<br class="gmail_msg">
Modified: compiler-rt/trunk/lib/stats/CMakeLists.txt<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/stats/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/stats/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/stats/CMakeLists.txt (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/stats/CMakeLists.txt Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -22,6 +22,7 @@ add_compiler_rt_runtime(clang_rt.stats<br class="gmail_msg">
   SOURCES stats.cc<br class="gmail_msg">
   OBJECT_LIBS RTSanitizerCommon<br class="gmail_msg">
               RTSanitizerCommonLibc<br class="gmail_msg">
+              RTSancovLibc<br class="gmail_msg">
   CFLAGS ${SANITIZER_COMMON_CFLAGS}<br class="gmail_msg">
   LINK_FLAGS ${WEAK_SYMBOL_LINK_FLAGS}<br class="gmail_msg">
   PARENT_TARGET stats)<br class="gmail_msg">
<br class="gmail_msg">
Modified: compiler-rt/trunk/lib/tsan/CMakeLists.txt<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/tsan/CMakeLists.txt (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/tsan/CMakeLists.txt Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -119,6 +119,7 @@ if(APPLE)<br class="gmail_msg">
     OBJECT_LIBS RTInterception<br class="gmail_msg">
                 RTSanitizerCommon<br class="gmail_msg">
                 RTSanitizerCommonLibc<br class="gmail_msg">
+                RTSancovLibc<br class="gmail_msg">
                 RTUbsan<br class="gmail_msg">
     CFLAGS ${TSAN_RTL_CFLAGS}<br class="gmail_msg">
     LINK_FLAGS ${WEAK_SYMBOL_LINK_FLAGS}<br class="gmail_msg">
@@ -179,6 +180,7 @@ else()<br class="gmail_msg">
               $<TARGET_OBJECTS:RTInterception.${arch}><br class="gmail_msg">
               $<TARGET_OBJECTS:RTSanitizerCommon.${arch}><br class="gmail_msg">
               $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}><br class="gmail_msg">
+              $<TARGET_OBJECTS:RTSancovLibc.${arch}><br class="gmail_msg">
               $<TARGET_OBJECTS:RTUbsan.${arch}><br class="gmail_msg">
       CFLAGS ${TSAN_RTL_CFLAGS})<br class="gmail_msg">
     add_compiler_rt_runtime(clang_rt.tsan_cxx<br class="gmail_msg">
<br class="gmail_msg">
Modified: compiler-rt/trunk/lib/tsan/dd/CMakeLists.txt<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/dd/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/dd/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/tsan/dd/CMakeLists.txt (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/tsan/dd/CMakeLists.txt Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -26,6 +26,7 @@ if(CAN_TARGET_x86_64 AND UNIX AND NOT AP<br class="gmail_msg">
             $<TARGET_OBJECTS:RTInterception.${arch}><br class="gmail_msg">
             $<TARGET_OBJECTS:RTSanitizerCommon.${arch}><br class="gmail_msg">
             $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}><br class="gmail_msg">
+            $<TARGET_OBJECTS:RTSancovLibc.${arch}><br class="gmail_msg">
     CFLAGS ${DD_CFLAGS}<br class="gmail_msg">
     PARENT_TARGET dd)<br class="gmail_msg">
<br class="gmail_msg">
@@ -40,6 +41,7 @@ if(CAN_TARGET_x86_64 AND UNIX AND NOT AP<br class="gmail_msg">
             $<TARGET_OBJECTS:RTInterception.${arch}><br class="gmail_msg">
             $<TARGET_OBJECTS:RTSanitizerCommon.${arch}><br class="gmail_msg">
             $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}><br class="gmail_msg">
+            $<TARGET_OBJECTS:RTSancovLibc.${arch}><br class="gmail_msg">
     LINK_LIBS ${DD_LINKLIBS}<br class="gmail_msg">
     PARENT_TARGET dd)<br class="gmail_msg">
 endif()<br class="gmail_msg">
<br class="gmail_msg">
Modified: compiler-rt/trunk/lib/tsan/tests/CMakeLists.txt<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/tests/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/tests/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/tsan/tests/CMakeLists.txt (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/tsan/tests/CMakeLists.txt Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -69,6 +69,7 @@ macro(add_tsan_unittest testname)<br class="gmail_msg">
           $<TARGET_OBJECTS:RTInterception.osx><br class="gmail_msg">
           $<TARGET_OBJECTS:RTSanitizerCommon.osx><br class="gmail_msg">
           $<TARGET_OBJECTS:RTSanitizerCommonLibc.osx><br class="gmail_msg">
+          $<TARGET_OBJECTS:RTSancovLibc.osx><br class="gmail_msg">
           $<TARGET_OBJECTS:RTUbsan.osx>)<br class="gmail_msg">
         set(TSAN_TEST_RUNTIME RTTsanTest.${testname}.${arch})<br class="gmail_msg">
         add_library(${TSAN_TEST_RUNTIME} STATIC ${TSAN_TEST_RUNTIME_OBJECTS})<br class="gmail_msg">
<br class="gmail_msg">
Modified: compiler-rt/trunk/lib/ubsan/CMakeLists.txt<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/ubsan/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/ubsan/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/ubsan/CMakeLists.txt (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/ubsan/CMakeLists.txt Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -67,6 +67,7 @@ if(APPLE)<br class="gmail_msg">
                   RTUbsan_standalone<br class="gmail_msg">
                   RTSanitizerCommon<br class="gmail_msg">
                   RTSanitizerCommonLibc<br class="gmail_msg">
+                  RTSancovLibc<br class="gmail_msg">
       LINK_FLAGS ${WEAK_SYMBOL_LINK_FLAGS}<br class="gmail_msg">
       PARENT_TARGET ubsan)<br class="gmail_msg">
   endif()<br class="gmail_msg">
@@ -102,6 +103,7 @@ else()<br class="gmail_msg">
       ARCHS ${UBSAN_SUPPORTED_ARCH}<br class="gmail_msg">
       OBJECT_LIBS RTSanitizerCommon<br class="gmail_msg">
               RTSanitizerCommonLibc<br class="gmail_msg">
+              RTSancovLibc<br class="gmail_msg">
               RTUbsan<br class="gmail_msg">
               RTUbsan_standalone<br class="gmail_msg">
       CFLAGS ${UBSAN_CFLAGS}<br class="gmail_msg">
<br class="gmail_msg">
Modified: compiler-rt/trunk/lib/xray/CMakeLists.txt<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/xray/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/xray/CMakeLists.txt?rev=291734&r1=291733&r2=291734&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- compiler-rt/trunk/lib/xray/CMakeLists.txt (original)<br class="gmail_msg">
+++ compiler-rt/trunk/lib/xray/CMakeLists.txt Wed Jan 11 19:19:34 2017<br class="gmail_msg">
@@ -51,7 +51,8 @@ add_compiler_rt_component(xray-fdr)<br class="gmail_msg">
<br class="gmail_msg">
 set(XRAY_COMMON_RUNTIME_OBJECT_LIBS<br class="gmail_msg">
     RTSanitizerCommon<br class="gmail_msg">
-    RTSanitizerCommonLibc)<br class="gmail_msg">
+    RTSanitizerCommonLibc<br class="gmail_msg">
+    RTSancovLibc)<br class="gmail_msg">
<br class="gmail_msg">
 foreach(arch ${XRAY_SUPPORTED_ARCH})<br class="gmail_msg">
   if(CAN_TARGET_${arch})<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
llvm-commits mailing list<br class="gmail_msg">
<a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a><br class="gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br class="gmail_msg">
</blockquote></div><br class="gmail_msg"></div>
</blockquote></div><div dir="ltr">-- <br></div><div data-smartmail="gmail_signature"><div dir="ltr">Mike<br>Sent from phone</div></div>