<div dir="ltr">Hi Renato, <div><br></div><div>Sorry for the breakage. </div><div>Do you have the test logs for these failures? </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 5, 2017 at 12:36 AM, Renato Golin 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: rengolin<br>
Date: Mon Jun  5 02:36:02 2017<br>
New Revision: 304699<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=304699&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=304699&view=rev</a><br>
Log:<br>
Revert "[sanitizer-coverage] test for -fsanitize-coverage=inline-<wbr>8bit-counters"<br>
<br>
Revert "Mark sancov test as unsupported on Darwin"<br>
Revert "[LSan] Detect dynamic loader by its base address."<br>
<br>
This reverts commit r304633.<br>
This reverts commit r304673.<br>
This reverts commit r304632.<br>
<br>
Those commit have broken LOTS of ARM/AArch64 bots for two days.<br>
<br>
Removed:<br>
    compiler-rt/trunk/test/<wbr>sanitizer_common/TestCases/<wbr>sanitizer_coverage_inline8bit_<wbr>counter.cc<br>
Modified:<br>
    compiler-rt/trunk/lib/lsan/<wbr>lsan_common.cc<br>
    compiler-rt/trunk/lib/lsan/<wbr>lsan_common_linux.cc<br>
    compiler-rt/trunk/lib/<wbr>sanitizer_common/sanitizer_<wbr>linux.cc<br>
    compiler-rt/trunk/lib/<wbr>sanitizer_common/sanitizer_<wbr>platform.h<br>
<br>
Modified: compiler-rt/trunk/lib/lsan/<wbr>lsan_common.cc<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/lsan_common.cc?rev=304699&r1=304698&r2=304699&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/compiler-rt/trunk/lib/<wbr>lsan/lsan_common.cc?rev=<wbr>304699&r1=304698&r2=304699&<wbr>view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/lib/lsan/<wbr>lsan_common.cc (original)<br>
+++ compiler-rt/trunk/lib/lsan/<wbr>lsan_common.cc Mon Jun  5 02:36:02 2017<br>
@@ -408,9 +408,6 @@ static void MarkInvalidPCCb(uptr chunk,<br>
<br>
 // On Linux, handles dynamically allocated TLS blocks by treating all chunks<br>
 // allocated from ld-linux.so as reachable.<br>
-// On Linux, treats all chunks allocated from ld-linux.so as reachable, which<br>
-// covers dynamically allocated TLS blocks, internal dynamic loader's loaded<br>
-// modules accounting etc.<br>
 // Dynamic TLS blocks contain the TLS variables of dynamically loaded modules.<br>
 // They are allocated with a __libc_memalign() call in allocate_and_init()<br>
 // (elf/dl-tls.c). Glibc won't tell us the address ranges occupied by those<br>
<br>
Modified: compiler-rt/trunk/lib/lsan/<wbr>lsan_common_linux.cc<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/lsan_common_linux.cc?rev=304699&r1=304698&r2=304699&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/compiler-rt/trunk/lib/<wbr>lsan/lsan_common_linux.cc?rev=<wbr>304699&r1=304698&r2=304699&<wbr>view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/lib/lsan/<wbr>lsan_common_linux.cc (original)<br>
+++ compiler-rt/trunk/lib/lsan/<wbr>lsan_common_linux.cc Mon Jun  5 02:36:02 2017<br>
@@ -23,10 +23,6 @@<br>
 #include "sanitizer_common/sanitizer_<wbr>linux.h"<br>
 #include "sanitizer_common/sanitizer_<wbr>stackdepot.h"<br>
<br>
-#if SANITIZER_USE_GETAUXVAL<br>
-#include <sys/auxv.h><br>
-#endif  // SANITIZER_USE_GETAUXVAL<br>
-<br>
 namespace __lsan {<br>
<br>
 static const char kLinkerName[] = "ld";<br>
@@ -34,12 +30,8 @@ static const char kLinkerName[] = "ld";<br>
 static char linker_placeholder[sizeof(<wbr>LoadedModule)] ALIGNED(64);<br>
 static LoadedModule *linker = nullptr;<br>
<br>
-static bool IsLinker(const LoadedModule& module) {<br>
-#if SANITIZER_USE_GETAUXVAL<br>
-  return module.base_address() == getauxval(AT_BASE);<br>
-#else<br>
-  return LibraryNameIs(module.full_<wbr>name(), kLinkerName);<br>
-#endif  // SANITIZER_USE_GETAUXVAL<br>
+static bool IsLinker(const char* full_name) {<br>
+  return LibraryNameIs(full_name, kLinkerName);<br>
 }<br>
<br>
 __attribute__((tls_model("<wbr>initial-exec")))<br>
@@ -57,25 +49,22 @@ void InitializePlatformSpecificModu<wbr>les()<br>
   ListOfModules modules;<br>
   modules.init();<br>
   for (LoadedModule &module : modules) {<br>
-    if (!IsLinker(module))<br>
-      continue;<br>
+    if (!IsLinker(module.full_name())<wbr>) continue;<br>
     if (linker == nullptr) {<br>
       linker = reinterpret_cast<LoadedModule *>(linker_placeholder);<br>
       *linker = module;<br>
       module = LoadedModule();<br>
     } else {<br>
       VReport(1, "LeakSanitizer: Multiple modules match \"%s\". "<br>
-                 "TLS and other allocations originating from linker might be "<br>
-                 "falsely reported as leaks.\n", kLinkerName);<br>
+              "TLS will not be handled correctly.\n", kLinkerName);<br>
       linker->clear();<br>
       linker = nullptr;<br>
       return;<br>
     }<br>
   }<br>
   if (linker == nullptr) {<br>
-    VReport(1, "LeakSanitizer: Dynamic linker not found. TLS and other "<br>
-               "allocations originating from linker might be falsely reported "<br>
-                "as leaks.\n");<br>
+    VReport(1, "LeakSanitizer: Dynamic linker not found. "<br>
+               "TLS will not be handled correctly.\n");<br>
   }<br>
 }<br>
<br>
<br>
Modified: compiler-rt/trunk/lib/<wbr>sanitizer_common/sanitizer_<wbr>linux.cc<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc?rev=304699&r1=304698&r2=304699&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/compiler-rt/trunk/lib/<wbr>sanitizer_common/sanitizer_<wbr>linux.cc?rev=304699&r1=304698&<wbr>r2=304699&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/lib/<wbr>sanitizer_common/sanitizer_<wbr>linux.cc (original)<br>
+++ compiler-rt/trunk/lib/<wbr>sanitizer_common/sanitizer_<wbr>linux.cc Mon Jun  5 02:36:02 2017<br>
@@ -75,6 +75,16 @@ extern char **environ;  // provided by c<br>
 #include <sys/signal.h><br>
 #endif<br>
<br>
+#ifndef __GLIBC_PREREQ<br>
+#define __GLIBC_PREREQ(x, y) 0<br>
+#endif<br>
+<br>
+#if SANITIZER_LINUX && __GLIBC_PREREQ(2, 16)<br>
+# define SANITIZER_USE_GETAUXVAL 1<br>
+#else<br>
+# define SANITIZER_USE_GETAUXVAL 0<br>
+#endif<br>
+<br>
 #if SANITIZER_USE_GETAUXVAL<br>
 #include <sys/auxv.h><br>
 #endif<br>
<br>
Modified: compiler-rt/trunk/lib/<wbr>sanitizer_common/sanitizer_<wbr>platform.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform.h?rev=304699&r1=304698&r2=304699&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/compiler-rt/trunk/lib/<wbr>sanitizer_common/sanitizer_<wbr>platform.h?rev=304699&r1=<wbr>304698&r2=304699&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/lib/<wbr>sanitizer_common/sanitizer_<wbr>platform.h (original)<br>
+++ compiler-rt/trunk/lib/<wbr>sanitizer_common/sanitizer_<wbr>platform.h Mon Jun  5 02:36:02 2017<br>
@@ -269,14 +269,5 @@<br>
 # define SANITIZER_SUPPRESS_LEAK_ON_<wbr>PTHREAD_EXIT 0<br>
 #endif<br>
<br>
-#ifndef __GLIBC_PREREQ<br>
-#define __GLIBC_PREREQ(x, y) 0<br>
-#endif<br>
-<br>
-#if SANITIZER_LINUX && __GLIBC_PREREQ(2, 16)<br>
-# define SANITIZER_USE_GETAUXVAL 1<br>
-#else<br>
-# define SANITIZER_USE_GETAUXVAL 0<br>
-#endif<br>
<br>
 #endif // SANITIZER_PLATFORM_H<br>
<br>
Removed: compiler-rt/trunk/test/<wbr>sanitizer_common/TestCases/<wbr>sanitizer_coverage_inline8bit_<wbr>counter.cc<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/sanitizer_common/TestCases/sanitizer_coverage_inline8bit_counter.cc?rev=304698&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/compiler-rt/trunk/<wbr>test/sanitizer_common/<wbr>TestCases/sanitizer_coverage_<wbr>inline8bit_counter.cc?rev=<wbr>304698&view=auto</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/test/<wbr>sanitizer_common/TestCases/<wbr>sanitizer_coverage_inline8bit_<wbr>counter.cc (original)<br>
+++ compiler-rt/trunk/test/<wbr>sanitizer_common/TestCases/<wbr>sanitizer_coverage_inline8bit_<wbr>counter.cc (removed)<br>
@@ -1,23 +0,0 @@<br>
-// Tests -fsanitize-coverage=inline-<wbr>8bit-counters<br>
-//<br>
-// REQUIRES: has_sancovcc,stable-runtime<br>
-// UNSUPPORTED: i386-darwin, x86_64-darwin<br>
-//<br>
-// RUN: %clangxx -O0 %s -fsanitize-coverage=inline-<wbr>8bit-counters 2>&1<br>
-<br>
-#include <stdio.h><br>
-#include <assert.h><br>
-<br>
-const char *first_counter;<br>
-<br>
-extern "C"<br>
-void __sanitizer_cov_8bit_counters_<wbr>init(const char *start, const char *end) {<br>
-  printf("INIT: %p %p\n", start, end);<br>
-  assert(end - start > 1);<br>
-  first_counter = start;<br>
-}<br>
-<br>
-int main() {<br>
-  assert(first_counter);<br>
-  assert(*first_counter == 1);<br>
-}<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>