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