<div dir="ltr"><p dir="ltr">Yes, should be fixed by: r298878</p>
<br><div class="gmail_quote"><div dir="ltr">On Mon, Mar 27, 2017, 6:37 PM Vitaly Buka <<a href="mailto:vitalybuka@google.com" target="_blank">vitalybuka@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="gmail-m_2850366554692137690gmail_msg">The patch is probably responsible for<div class="gmail-m_2850366554692137690gmail_msg"><br class="gmail-m_2850366554692137690gmail_msg"></div><div class="gmail-m_2850366554692137690gmail_msg"><a href="http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/1175/steps/64-bit%20check-asan-dynamic/logs/stdio" class="gmail-m_2850366554692137690gmail_msg" target="_blank">http://lab.llvm.org:8011/<wbr>builders/sanitizer-x86_64-<wbr>linux/builds/1175/steps/64-<wbr>bit%20check-asan-dynamic/logs/<wbr>stdio</a><br class="gmail-m_2850366554692137690gmail_msg"></div><div class="gmail-m_2850366554692137690gmail_msg"><pre style="font-family:"courier new",courier,monotype,monospace;font-size:medium" class="gmail-m_2850366554692137690gmail_msg"><span class="gmail-m_2850366554692137690m_-754861652662390398inbox-inbox-stdout gmail-m_2850366554692137690gmail_msg">FAIL: AddressSanitizer-i386-linux-<wbr>dynamic :: TestCases/Linux/asan_dlopen_<wbr>test.cc (431 of 1202)
******************** TEST 'AddressSanitizer-i386-linux-<wbr>dynamic :: TestCases/Linux/asan_dlopen_<wbr>test.cc' FAILED ********************
Script:
--
/mnt/b/sanitizer-buildbot1/<wbr>sanitizer-x86_64-linux/build/<wbr>llvm_build64/./bin/clang --driver-mode=g++ -m32 /mnt/b/sanitizer-buildbot1/<wbr>sanitizer-x86_64-linux/build/<wbr>llvm/projects/compiler-rt/<wbr>test/asan/TestCases/Linux/<wbr>asan_dlopen_test.cc -DRT=\"<a href="http://libclang_rt.asan-i386.so" class="gmail-m_2850366554692137690gmail_msg" target="_blank">libclang_rt.asan-i386.<wbr>so</a>\" -o /mnt/b/sanitizer-buildbot1/<wbr>sanitizer-x86_64-linux/build/<wbr>llvm_build64/tools/clang/<wbr>runtime/compiler-rt-bins/test/<wbr>asan/I386LinuxDynamicConfig/<wbr>TestCases/Linux/Output/asan_<wbr>dlopen_test.cc.tmp -ldl
not  /mnt/b/sanitizer-buildbot1/<wbr>sanitizer-x86_64-linux/build/<wbr>llvm_build64/tools/clang/<wbr>runtime/compiler-rt-bins/test/<wbr>asan/I386LinuxDynamicConfig/<wbr>TestCases/Linux/Output/asan_<wbr>dlopen_test.cc.tmp 2>&1 | FileCheck /mnt/b/sanitizer-buildbot1/<wbr>sanitizer-x86_64-linux/build/<wbr>llvm/projects/compiler-rt/<wbr>test/asan/TestCases/Linux/<wbr>asan_dlopen_test.cc
--
Exit Code: 2

Command Output (stderr):
--
FileCheck error: '-' is empty.
FileCheck command line:  FileCheck /mnt/b/sanitizer-buildbot1/<wbr>sanitizer-x86_64-linux/build/<wbr>llvm/projects/compiler-rt/<wbr>test/asan/TestCases/Linux/<wbr>asan_dlop</span><span class="gmail-m_2850366554692137690m_-754861652662390398inbox-inbox-stdout gmail-m_2850366554692137690gmail_msg">en_test.cc
</span><span class="gmail-m_2850366554692137690m_-754861652662390398inbox-inbox-stdout gmail-m_2850366554692137690gmail_msg">
--

********************
Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60..
FAIL: AddressSanitizer-x86_64-linux-<wbr>dynamic :: TestCases/Linux/asan_dlopen_<wbr>test.cc (827 of 1202)
******************** TEST 'AddressSanitizer-x86_64-<wbr>linux-dynamic :: TestCases/Linux/asan_dlopen_<wbr>test.cc' FAILED ********************
Script:
--
/mnt/b/sanitizer-buildbot1/<wbr>sanitizer-x86_64-linux/build/<wbr>llvm_build64/./bin/clang --driver-mode=g++ -m64 /mnt/b/sanitizer-buildbot1/<wbr>sanitizer-x86_64-linux/build/<wbr>llvm/projects/compiler-rt/<wbr>test/asan/TestCases/Linux/<wbr>asan_dlopen_test.cc -DRT=\"<a href="http://libclang_rt.asan-x86_64.so" class="gmail-m_2850366554692137690gmail_msg" target="_blank">libclang_rt.asan-x86_<wbr>64.so</a>\" -o /mnt/b/sanitizer-buildbot1/<wbr>sanitizer-x86_64-linux/build/<wbr>llvm_build64/tools/clang/<wbr>runtime/compiler-rt-bins/test/<wbr>asan/X86_64LinuxDynamicConfig/<wbr>TestCases/Linux/Output/asan_<wbr>dlopen_test.cc.tmp -ldl
not  /mnt/b/sanitizer-buildbot1/<wbr>sanitizer-x86_64-linux/build/<wbr>llvm_build64/tools/clang/<wbr>runtime/compiler-rt-bins/test/<wbr>asan/X86_64LinuxDynamicConfig/<wbr>TestCases/Linux/Output/asan_<wbr>dlopen_test.cc.tmp 2>&1 | FileCheck /mnt/b/sanitizer-buildbot1/<wbr>sanitizer-x86_64-linux/build/<wbr>llvm/projects/compiler-rt/<wbr>test/asan/TestCases/Linux/<wbr>asan_dlopen_test.cc
--
Exit Code: 2

Command Output (stderr):
--
FileCheck error: '-' is empty.
FileCheck command line:  FileCheck /mnt/b/sanitizer-buildbot1/<wbr>sanitizer-x86_64-linux/build/<wbr>llvm/projects/compiler-rt/<wbr>test/asan/TestCases/Linux/<wbr>asan_dlopen_test.cc

--

********************
Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 
Testing Time: 26.66s
********************</span></pre></div><br class="gmail-m_2850366554692137690gmail_msg"><div class="gmail_quote gmail-m_2850366554692137690gmail_msg"><div dir="ltr" class="gmail-m_2850366554692137690gmail_msg">On Mon, Mar 27, 2017 at 7:20 AM Francis Ricci via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" class="gmail-m_2850366554692137690gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br class="gmail-m_2850366554692137690gmail_msg"></div><blockquote class="gmail_quote gmail-m_2850366554692137690gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Author: fjricci<br class="gmail-m_2850366554692137690gmail_msg">
Date: Mon Mar 27 09:07:50 2017<br class="gmail-m_2850366554692137690gmail_msg">
New Revision: 298848<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=298848&view=rev" rel="noreferrer" class="gmail-m_2850366554692137690gmail_msg gmail-m_2850366554692137690m_-754861652662390398cremed" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=298848&view=rev</a><br class="gmail-m_2850366554692137690gmail_msg">
Log:<br class="gmail-m_2850366554692137690gmail_msg">
Use pthreads for thread-local lsan allocator cache on darwin<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
Summary:<br class="gmail-m_2850366554692137690gmail_msg">
This patch allows us to move away from using __thread on darwin,<br class="gmail-m_2850366554692137690gmail_msg">
which is requiring for building lsan for darwin on ios version 7<br class="gmail-m_2850366554692137690gmail_msg">
and on iossim i386.<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
Reviewers: kubamracek, kcc<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
Subscribers: llvm-commits<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
Differential Revision: <a href="https://reviews.llvm.org/D31291" rel="noreferrer" class="gmail-m_2850366554692137690gmail_msg gmail-m_2850366554692137690m_-754861652662390398cremed" target="_blank">https://reviews.llvm.org/<wbr>D31291</a><br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
Modified:<br class="gmail-m_2850366554692137690gmail_msg">
    compiler-rt/trunk/lib/lsan/<wbr>lsan_allocator.cc<br class="gmail-m_2850366554692137690gmail_msg">
    compiler-rt/trunk/lib/lsan/<wbr>lsan_allocator.h<br class="gmail-m_2850366554692137690gmail_msg">
    compiler-rt/trunk/lib/lsan/<wbr>lsan_common_linux.cc<br class="gmail-m_2850366554692137690gmail_msg">
    compiler-rt/trunk/lib/lsan/<wbr>lsan_common_mac.cc<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
Modified: compiler-rt/trunk/lib/lsan/<wbr>lsan_allocator.cc<br class="gmail-m_2850366554692137690gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/lsan_allocator.cc?rev=298848&r1=298847&r2=298848&view=diff" rel="noreferrer" class="gmail-m_2850366554692137690gmail_msg gmail-m_2850366554692137690m_-754861652662390398cremed" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/compiler-rt/trunk/lib/<wbr>lsan/lsan_allocator.cc?rev=<wbr>298848&r1=298847&r2=298848&<wbr>view=diff</a><br class="gmail-m_2850366554692137690gmail_msg">
==============================<wbr>==============================<wbr>==================<br class="gmail-m_2850366554692137690gmail_msg">
--- compiler-rt/trunk/lib/lsan/<wbr>lsan_allocator.cc (original)<br class="gmail-m_2850366554692137690gmail_msg">
+++ compiler-rt/trunk/lib/lsan/<wbr>lsan_allocator.cc Mon Mar 27 09:07:50 2017<br class="gmail-m_2850366554692137690gmail_msg">
@@ -24,54 +24,18 @@<br class="gmail-m_2850366554692137690gmail_msg">
 extern "C" void *memset(void *ptr, int value, uptr num);<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
 namespace __lsan {<br class="gmail-m_2850366554692137690gmail_msg">
-<br class="gmail-m_2850366554692137690gmail_msg">
-struct ChunkMetadata {<br class="gmail-m_2850366554692137690gmail_msg">
-  u8 allocated : 8;  // Must be first.<br class="gmail-m_2850366554692137690gmail_msg">
-  ChunkTag tag : 2;<br class="gmail-m_2850366554692137690gmail_msg">
-#if SANITIZER_WORDSIZE == 64<br class="gmail-m_2850366554692137690gmail_msg">
-  uptr requested_size : 54;<br class="gmail-m_2850366554692137690gmail_msg">
-#else<br class="gmail-m_2850366554692137690gmail_msg">
-  uptr requested_size : 32;<br class="gmail-m_2850366554692137690gmail_msg">
-  uptr padding : 22;<br class="gmail-m_2850366554692137690gmail_msg">
-#endif<br class="gmail-m_2850366554692137690gmail_msg">
-  u32 stack_trace_id;<br class="gmail-m_2850366554692137690gmail_msg">
-};<br class="gmail-m_2850366554692137690gmail_msg">
-<br class="gmail-m_2850366554692137690gmail_msg">
-#if defined(__mips64) || defined(__aarch64__) || defined(__i386__)<br class="gmail-m_2850366554692137690gmail_msg">
 #if defined(__i386__)<br class="gmail-m_2850366554692137690gmail_msg">
 static const uptr kMaxAllowedMallocSize = 1UL << 30;<br class="gmail-m_2850366554692137690gmail_msg">
-#else<br class="gmail-m_2850366554692137690gmail_msg">
+#elif defined(__mips64) || defined(__aarch64__)<br class="gmail-m_2850366554692137690gmail_msg">
 static const uptr kMaxAllowedMallocSize = 4UL << 30;<br class="gmail-m_2850366554692137690gmail_msg">
-#endif<br class="gmail-m_2850366554692137690gmail_msg">
-static const uptr kRegionSizeLog = 20;<br class="gmail-m_2850366554692137690gmail_msg">
-static const uptr kNumRegions = SANITIZER_MMAP_RANGE_SIZE >> kRegionSizeLog;<br class="gmail-m_2850366554692137690gmail_msg">
-typedef TwoLevelByteMap<(kNumRegions >> 12), 1 << 12> ByteMap;<br class="gmail-m_2850366554692137690gmail_msg">
-typedef CompactSizeClassMap SizeClassMap;<br class="gmail-m_2850366554692137690gmail_msg">
-typedef SizeClassAllocator32<0, SANITIZER_MMAP_RANGE_SIZE,<br class="gmail-m_2850366554692137690gmail_msg">
-    sizeof(ChunkMetadata), SizeClassMap, kRegionSizeLog, ByteMap><br class="gmail-m_2850366554692137690gmail_msg">
-    PrimaryAllocator;<br class="gmail-m_2850366554692137690gmail_msg">
 #else<br class="gmail-m_2850366554692137690gmail_msg">
 static const uptr kMaxAllowedMallocSize = 8UL << 30;<br class="gmail-m_2850366554692137690gmail_msg">
-<br class="gmail-m_2850366554692137690gmail_msg">
-struct AP64 {  // Allocator64 parameters. Deliberately using a short name.<br class="gmail-m_2850366554692137690gmail_msg">
-  static const uptr kSpaceBeg = 0x600000000000ULL;<br class="gmail-m_2850366554692137690gmail_msg">
-  static const uptr kSpaceSize =  0x40000000000ULL; // 4T.<br class="gmail-m_2850366554692137690gmail_msg">
-  static const uptr kMetadataSize = sizeof(ChunkMetadata);<br class="gmail-m_2850366554692137690gmail_msg">
-  typedef DefaultSizeClassMap SizeClassMap;<br class="gmail-m_2850366554692137690gmail_msg">
-  typedef NoOpMapUnmapCallback MapUnmapCallback;<br class="gmail-m_2850366554692137690gmail_msg">
-  static const uptr kFlags = 0;<br class="gmail-m_2850366554692137690gmail_msg">
-};<br class="gmail-m_2850366554692137690gmail_msg">
-<br class="gmail-m_2850366554692137690gmail_msg">
-typedef SizeClassAllocator64<AP64> PrimaryAllocator;<br class="gmail-m_2850366554692137690gmail_msg">
 #endif<br class="gmail-m_2850366554692137690gmail_msg">
-typedef SizeClassAllocatorLocalCache<<wbr>PrimaryAllocator> AllocatorCache;<br class="gmail-m_2850366554692137690gmail_msg">
 typedef LargeMmapAllocator<> SecondaryAllocator;<br class="gmail-m_2850366554692137690gmail_msg">
 typedef CombinedAllocator<<wbr>PrimaryAllocator, AllocatorCache,<br class="gmail-m_2850366554692137690gmail_msg">
           SecondaryAllocator> Allocator;<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
 static Allocator allocator;<br class="gmail-m_2850366554692137690gmail_msg">
-static THREADLOCAL AllocatorCache allocator_cache;<br class="gmail-m_2850366554692137690gmail_msg">
-AllocatorCache *GetAllocatorCache() { return &allocator_cache; }<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
 void InitializeAllocator() {<br class="gmail-m_2850366554692137690gmail_msg">
   allocator.<wbr>InitLinkerInitialized(<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
Modified: compiler-rt/trunk/lib/lsan/<wbr>lsan_allocator.h<br class="gmail-m_2850366554692137690gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/lsan_allocator.h?rev=298848&r1=298847&r2=298848&view=diff" rel="noreferrer" class="gmail-m_2850366554692137690gmail_msg gmail-m_2850366554692137690m_-754861652662390398cremed" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/compiler-rt/trunk/lib/<wbr>lsan/lsan_allocator.h?rev=<wbr>298848&r1=298847&r2=298848&<wbr>view=diff</a><br class="gmail-m_2850366554692137690gmail_msg">
==============================<wbr>==============================<wbr>==================<br class="gmail-m_2850366554692137690gmail_msg">
--- compiler-rt/trunk/lib/lsan/<wbr>lsan_allocator.h (original)<br class="gmail-m_2850366554692137690gmail_msg">
+++ compiler-rt/trunk/lib/lsan/<wbr>lsan_allocator.h Mon Mar 27 09:07:50 2017<br class="gmail-m_2850366554692137690gmail_msg">
@@ -15,8 +15,10 @@<br class="gmail-m_2850366554692137690gmail_msg">
 #ifndef LSAN_ALLOCATOR_H<br class="gmail-m_2850366554692137690gmail_msg">
 #define LSAN_ALLOCATOR_H<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
+#include "sanitizer_common/sanitizer_<wbr>allocator.h"<br class="gmail-m_2850366554692137690gmail_msg">
 #include "sanitizer_common/sanitizer_<wbr>common.h"<br class="gmail-m_2850366554692137690gmail_msg">
 #include "sanitizer_common/sanitizer_<wbr>internal_defs.h"<br class="gmail-m_2850366554692137690gmail_msg">
+#include "lsan_common.h"<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
 namespace __lsan {<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
@@ -34,6 +36,41 @@ void GetAllocatorCacheRange(uptr *begin,<br class="gmail-m_2850366554692137690gmail_msg">
 void AllocatorThreadFinish();<br class="gmail-m_2850366554692137690gmail_msg">
 void InitializeAllocator();<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
+struct ChunkMetadata {<br class="gmail-m_2850366554692137690gmail_msg">
+  u8 allocated : 8;  // Must be first.<br class="gmail-m_2850366554692137690gmail_msg">
+  ChunkTag tag : 2;<br class="gmail-m_2850366554692137690gmail_msg">
+#if SANITIZER_WORDSIZE == 64<br class="gmail-m_2850366554692137690gmail_msg">
+  uptr requested_size : 54;<br class="gmail-m_2850366554692137690gmail_msg">
+#else<br class="gmail-m_2850366554692137690gmail_msg">
+  uptr requested_size : 32;<br class="gmail-m_2850366554692137690gmail_msg">
+  uptr padding : 22;<br class="gmail-m_2850366554692137690gmail_msg">
+#endif<br class="gmail-m_2850366554692137690gmail_msg">
+  u32 stack_trace_id;<br class="gmail-m_2850366554692137690gmail_msg">
+};<br class="gmail-m_2850366554692137690gmail_msg">
+<br class="gmail-m_2850366554692137690gmail_msg">
+#if defined(__mips64) || defined(__aarch64__) || defined(__i386__)<br class="gmail-m_2850366554692137690gmail_msg">
+static const uptr kRegionSizeLog = 20;<br class="gmail-m_2850366554692137690gmail_msg">
+static const uptr kNumRegions = SANITIZER_MMAP_RANGE_SIZE >> kRegionSizeLog;<br class="gmail-m_2850366554692137690gmail_msg">
+typedef TwoLevelByteMap<(kNumRegions >> 12), 1 << 12> ByteMap;<br class="gmail-m_2850366554692137690gmail_msg">
+typedef CompactSizeClassMap SizeClassMap;<br class="gmail-m_2850366554692137690gmail_msg">
+typedef SizeClassAllocator32<0, SANITIZER_MMAP_RANGE_SIZE,<br class="gmail-m_2850366554692137690gmail_msg">
+    sizeof(ChunkMetadata), SizeClassMap, kRegionSizeLog, ByteMap><br class="gmail-m_2850366554692137690gmail_msg">
+    PrimaryAllocator;<br class="gmail-m_2850366554692137690gmail_msg">
+#elif defined(__x86_64__)<br class="gmail-m_2850366554692137690gmail_msg">
+struct AP64 {  // Allocator64 parameters. Deliberately using a short name.<br class="gmail-m_2850366554692137690gmail_msg">
+  static const uptr kSpaceBeg = 0x600000000000ULL;<br class="gmail-m_2850366554692137690gmail_msg">
+  static const uptr kSpaceSize =  0x40000000000ULL; // 4T.<br class="gmail-m_2850366554692137690gmail_msg">
+  static const uptr kMetadataSize = sizeof(ChunkMetadata);<br class="gmail-m_2850366554692137690gmail_msg">
+  typedef DefaultSizeClassMap SizeClassMap;<br class="gmail-m_2850366554692137690gmail_msg">
+  typedef NoOpMapUnmapCallback MapUnmapCallback;<br class="gmail-m_2850366554692137690gmail_msg">
+  static const uptr kFlags = 0;<br class="gmail-m_2850366554692137690gmail_msg">
+};<br class="gmail-m_2850366554692137690gmail_msg">
+<br class="gmail-m_2850366554692137690gmail_msg">
+typedef SizeClassAllocator64<AP64> PrimaryAllocator;<br class="gmail-m_2850366554692137690gmail_msg">
+#endif<br class="gmail-m_2850366554692137690gmail_msg">
+typedef SizeClassAllocatorLocalCache<<wbr>PrimaryAllocator> AllocatorCache;<br class="gmail-m_2850366554692137690gmail_msg">
+<br class="gmail-m_2850366554692137690gmail_msg">
+AllocatorCache *GetAllocatorCache();<br class="gmail-m_2850366554692137690gmail_msg">
 }  // namespace __lsan<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
 #endif  // LSAN_ALLOCATOR_H<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
Modified: compiler-rt/trunk/lib/lsan/<wbr>lsan_common_linux.cc<br class="gmail-m_2850366554692137690gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/lsan_common_linux.cc?rev=298848&r1=298847&r2=298848&view=diff" rel="noreferrer" class="gmail-m_2850366554692137690gmail_msg gmail-m_2850366554692137690m_-754861652662390398cremed" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/compiler-rt/trunk/lib/<wbr>lsan/lsan_common_linux.cc?rev=<wbr>298848&r1=298847&r2=298848&<wbr>view=diff</a><br class="gmail-m_2850366554692137690gmail_msg">
==============================<wbr>==============================<wbr>==================<br class="gmail-m_2850366554692137690gmail_msg">
--- compiler-rt/trunk/lib/lsan/<wbr>lsan_common_linux.cc (original)<br class="gmail-m_2850366554692137690gmail_msg">
+++ compiler-rt/trunk/lib/lsan/<wbr>lsan_common_linux.cc Mon Mar 27 09:07:50 2017<br class="gmail-m_2850366554692137690gmail_msg">
@@ -22,6 +22,7 @@<br class="gmail-m_2850366554692137690gmail_msg">
 #include "sanitizer_common/sanitizer_<wbr>flags.h"<br class="gmail-m_2850366554692137690gmail_msg">
 #include "sanitizer_common/sanitizer_<wbr>linux.h"<br class="gmail-m_2850366554692137690gmail_msg">
 #include "sanitizer_common/sanitizer_<wbr>stackdepot.h"<br class="gmail-m_2850366554692137690gmail_msg">
+#include "lsan_allocator.h"<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
 namespace __lsan {<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
@@ -38,6 +39,9 @@ static THREADLOCAL u32 current_thread_ti<br class="gmail-m_2850366554692137690gmail_msg">
 u32 GetCurrentThread() { return current_thread_tid; }<br class="gmail-m_2850366554692137690gmail_msg">
 void SetCurrentThread(u32 tid) { current_thread_tid = tid; }<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
+static THREADLOCAL AllocatorCache allocator_cache;<br class="gmail-m_2850366554692137690gmail_msg">
+AllocatorCache *GetAllocatorCache() { return &allocator_cache; }<br class="gmail-m_2850366554692137690gmail_msg">
+<br class="gmail-m_2850366554692137690gmail_msg">
 __attribute__((tls_model("<wbr>initial-exec")))<br class="gmail-m_2850366554692137690gmail_msg">
 THREADLOCAL int disable_counter;<br class="gmail-m_2850366554692137690gmail_msg">
 bool DisabledInThisThread() { return disable_counter > 0; }<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
Modified: compiler-rt/trunk/lib/lsan/<wbr>lsan_common_mac.cc<br class="gmail-m_2850366554692137690gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/lsan_common_mac.cc?rev=298848&r1=298847&r2=298848&view=diff" rel="noreferrer" class="gmail-m_2850366554692137690gmail_msg gmail-m_2850366554692137690m_-754861652662390398cremed" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/compiler-rt/trunk/lib/<wbr>lsan/lsan_common_mac.cc?rev=<wbr>298848&r1=298847&r2=298848&<wbr>view=diff</a><br class="gmail-m_2850366554692137690gmail_msg">
==============================<wbr>==============================<wbr>==================<br class="gmail-m_2850366554692137690gmail_msg">
--- compiler-rt/trunk/lib/lsan/<wbr>lsan_common_mac.cc (original)<br class="gmail-m_2850366554692137690gmail_msg">
+++ compiler-rt/trunk/lib/lsan/<wbr>lsan_common_mac.cc Mon Mar 27 09:07:50 2017<br class="gmail-m_2850366554692137690gmail_msg">
@@ -12,12 +12,14 @@<br class="gmail-m_2850366554692137690gmail_msg">
 //<br class="gmail-m_2850366554692137690gmail_msg">
 //===------------------------<wbr>------------------------------<wbr>----------------===//<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
-#include "sanitizer_common/sanitizer_<wbr>allocator_internal.h"<br class="gmail-m_2850366554692137690gmail_msg">
 #include "sanitizer_common/sanitizer_<wbr>platform.h"<br class="gmail-m_2850366554692137690gmail_msg">
 #include "lsan_common.h"<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
 #if CAN_SANITIZE_LEAKS && SANITIZER_MAC<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
+#include "sanitizer_common/sanitizer_<wbr>allocator_internal.h"<br class="gmail-m_2850366554692137690gmail_msg">
+#include "lsan_allocator.h"<br class="gmail-m_2850366554692137690gmail_msg">
+<br class="gmail-m_2850366554692137690gmail_msg">
 #include <pthread.h><br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
 namespace __lsan {<br class="gmail-m_2850366554692137690gmail_msg">
@@ -25,6 +27,7 @@ namespace __lsan {<br class="gmail-m_2850366554692137690gmail_msg">
 typedef struct {<br class="gmail-m_2850366554692137690gmail_msg">
   int disable_counter;<br class="gmail-m_2850366554692137690gmail_msg">
   u32 current_thread_id;<br class="gmail-m_2850366554692137690gmail_msg">
+  AllocatorCache cache;<br class="gmail-m_2850366554692137690gmail_msg">
 } thread_local_data_t;<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
 static pthread_key_t key;<br class="gmail-m_2850366554692137690gmail_msg">
@@ -40,6 +43,7 @@ static thread_local_data_t *get_tls_val(<br class="gmail-m_2850366554692137690gmail_msg">
     ptr = (thread_local_data_t *)InternalAlloc(sizeof(*ptr));<br class="gmail-m_2850366554692137690gmail_msg">
     ptr->disable_counter = 0;<br class="gmail-m_2850366554692137690gmail_msg">
     ptr->current_thread_id = kInvalidTid;<br class="gmail-m_2850366554692137690gmail_msg">
+    ptr->cache = AllocatorCache();<br class="gmail-m_2850366554692137690gmail_msg">
     pthread_setspecific(key, ptr);<br class="gmail-m_2850366554692137690gmail_msg">
   }<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
@@ -62,6 +66,8 @@ u32 GetCurrentThread() { return get_tls_<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
 void SetCurrentThread(u32 tid) { get_tls_val()->current_thread_<wbr>id = tid; }<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
+AllocatorCache *GetAllocatorCache() { return &get_tls_val()->cache; }<br class="gmail-m_2850366554692137690gmail_msg">
+<br class="gmail-m_2850366554692137690gmail_msg">
 void InitializePlatformSpecificModu<wbr>les() {<br class="gmail-m_2850366554692137690gmail_msg">
   CHECK(0 && "unimplemented");<br class="gmail-m_2850366554692137690gmail_msg">
 }<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
<br class="gmail-m_2850366554692137690gmail_msg">
______________________________<wbr>_________________<br class="gmail-m_2850366554692137690gmail_msg">
llvm-commits mailing list<br class="gmail-m_2850366554692137690gmail_msg">
<a href="mailto:llvm-commits@lists.llvm.org" class="gmail-m_2850366554692137690gmail_msg gmail-m_2850366554692137690m_-754861652662390398cremed" target="_blank">llvm-commits@lists.llvm.org</a><br class="gmail-m_2850366554692137690gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" class="gmail-m_2850366554692137690gmail_msg gmail-m_2850366554692137690m_-754861652662390398cremed" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-commits</a><br class="gmail-m_2850366554692137690gmail_msg">
</blockquote></div></div>
</blockquote></div></div>