<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 2, 2017 at 12:55 AM, Maxim Ostapenko 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">Hi,<br>
<br>
On 02/02/17 01:53, Artem Belevich via llvm-commits wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
After this change SanitizerCommon-lsan-i386-Linu<wbr>x::sem_init_glibc.cc has been consistently failing on my build bot:<br>
<a href="http://lab.llvm.org:8011/builders/clang-cuda-build/builds/4293" rel="noreferrer" target="_blank">http://lab.llvm.org:8011/build<wbr>ers/clang-cuda-build/builds/<wbr>4293</a><br>
<br>
Any ideas what's wrong? It's an Ubuntu 16.04 x64 box, tests are run on Release+asserts build of clang.<br>
</blockquote>
<br>
I looked at the test and it seems that it relies on sanitizer common interceptor to pick the oldest version of sem_init function from Glibc.<br>
But LSan actually doesn't intercept sem_init, thus the new implementation is called. This can be observed via gdb:<br>
<br>
a.out: /home/max/src/llvm/projects/co<wbr>mpiler-rt/test/sanitizer_commo<wbr>n/TestCases/Linux/sem_init_<wbr>glibc.cc:52: int main(): Assertion `GET_SEM_VALUE(a) == 42' failed.<br>
<br>
Program received signal SIGABRT, Aborted.<br>
0xf7fda440 in __kernel_vsyscall ()<br>
(gdb) bt<br>
#0 0xf7fda440 in __kernel_vsyscall ()<br>
#1 0xf7cde570 in raise () from /home/max/install/glibc-2.24-3<wbr>2bit/lib/libc.so.6<br>
#2 0xf7cdfbc6 in abort () from /home/max/install/glibc-2.24-3<wbr>2bit/lib/libc.so.6<br>
#3 0xf7cd7787 in __assert_fail_base () from /home/max/install/glibc-2.24-3<wbr>2bit/lib/libc.so.6<br>
#4 0xf7cd7837 in __assert_fail () from /home/max/install/glibc-2.24-3<wbr>2bit/lib/libc.so.6<br>
#5 0x0806ebc9 in main () at /home/max/src/llvm/projects/co<wbr>mpiler-rt/test/sanitizer_commo<wbr>n/TestCases/Linux/sem_init_<wbr>glibc.cc:52<br>
(gdb) frame 5<br>
#5 0x0806ebc9 in main () at /home/max/src/llvm/projects/co<wbr>mpiler-rt/test/sanitizer_commo<wbr>n/TestCases/Linux/sem_init_<wbr>glibc.cc:52<br>
52 assert(GET_SEM_VALUE(a) == 42);<br>
(gdb) p a<br>
$1 = 84<br>
<br>
Thus I see 2 options how to get rid of this failure:<br>
1) Disable the test on LSan x86<br></blockquote><div><br></div><div>let's start from 1) and filling a bug for 2)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
2) Check Glibc version at runtime and adjust corresponding GET_SEM_VALUE(V) accordingly.<br>
<br>
-Maxim<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
--Artem<br>
<br>
<br>
On Mon, Jan 30, 2017 at 11:15 PM, Maxim Ostapenko via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a> <mailto:<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llv<wbr>m.org</a>>> wrote:<br>
<br>
Author: chefmax<br>
Date: Tue Jan 31 01:15:37 2017<br>
New Revision: 293610<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=293610&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject?rev=293610&view=rev</a><br>
<<a href="http://llvm.org/viewvc/llvm-project?rev=293610&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject?rev=293610&view=rev</a>><br>
Log:<br>
[lsan] Renable LSan for x86 Linux<br>
<br>
The missed clang part was committed at<br>
<a href="https://reviews.llvm.org/rL293609" rel="noreferrer" target="_blank">https://reviews.llvm.org/rL293<wbr>609</a><br>
<<a href="https://reviews.llvm.org/rL293609" rel="noreferrer" target="_blank">https://reviews.llvm.org/rL29<wbr>3609</a>> thus<br>
we can reenable LSan for x86 Linux.<br>
<br>
Differential Revision: <a href="https://reviews.llvm.org/D28609" rel="noreferrer" target="_blank">https://reviews.llvm.org/D2860<wbr>9</a><br>
<<a href="https://reviews.llvm.org/D28609" rel="noreferrer" target="_blank">https://reviews.llvm.org/D286<wbr>09</a>><br>
<br>
Modified:<br>
compiler-rt/trunk/cmake/config<wbr>-ix.cmake<br>
compiler-rt/trunk/lib/lsan/lsa<wbr>n_allocator.cc<br>
compiler-rt/trunk/lib/lsan/lsa<wbr>n_common.h<br>
compiler-rt/trunk/lib/lsan/lsa<wbr>n_interceptors.cc<br>
compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_flags.inc<br>
compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_linux.cc<br>
compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_linux.h<br>
compiler-rt/trunk/lib/sanitiz<wbr>er_common/sanitizer_stopthewor<wbr>ld_linux_libcdep.cc<br>
compiler-rt/trunk/test/asan/li<wbr>t.cfg<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/disabler.cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/do_leak_check_override<wbr>.cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/high_allocator_content<wbr>ion.cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/large_allocation_leak.<wbr>cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/leak_check_at_exit.cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/link_turned_off.cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/pointer_to_self.cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/print_suppressions.cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/recoverable_leak_check<wbr>.cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/register_root_region.<wbr>cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/stale_stack_leak.cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/suppressions_default.<wbr>cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/suppressions_file.cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_after_return.cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_globals_initialize<wbr>d.cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_globals_uninitiali<wbr>zed.cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_poisoned_asan.cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_registers.cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_stacks.cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_stacks_threaded.cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_tls_dynamic.cc<br>
compiler-rt/trunk/test/lsan/T<wbr>estCases/use_tls_pthread_speci<wbr>fic_dynamic.cc<br>
compiler-rt/trunk/test/lsan/T<wbr>estCases/use_tls_pthread_speci<wbr>fic_static.cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_tls_static.cc<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_unaligned.cc<br>
compiler-rt/trunk/test/saniti<wbr>zer_common/TestCases/Posix/<wbr>sanitizer_set_death_callback_<wbr>test.cc<br>
compiler-rt/trunk/test/sanitiz<wbr>er_common/TestCases/corelimit.<wbr>cc<br>
compiler-rt/trunk/test/sanitiz<wbr>er_common/lit.common.cfg<br>
compiler-rt/trunk/test/sanitiz<wbr>er_common/print_address.h<br>
<br>
Modified: compiler-rt/trunk/cmake/config<wbr>-ix.cmake<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/cmake/config-ix.cmake?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/cmake/<wbr>config-ix.cmake?rev=293610&r1=<wbr>293609&r2=293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/cmake/config-ix.cmake?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/cmake<wbr>/config-ix.cmake?rev=293610&<wbr>r1=293609&r2=293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/cmake/config<wbr>-ix.cmake (original)<br>
+++ compiler-rt/trunk/cmake/config<wbr>-ix.cmake Tue Jan 31 01:15:37 2017<br>
@@ -164,7 +164,7 @@ set(ALL_SANITIZER_COMMON_SUPPO<wbr>RTED_ARCH<br>
set(ALL_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64}<br>
${MIPS32} ${MIPS64} ${PPC64} ${S390X})<br>
set(ALL_DFSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64})<br>
-set(ALL_LSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64})<br>
+set(ALL_LSAN_SUPPORTED_ARCH ${X86} ${X86_64} ${MIPS64} ${ARM64})<br>
set(ALL_MSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64} ${PPC64})<br>
set(ALL_PROFILE_SUPPORTED_<wbr>ARCH ${X86} ${X86_64} ${ARM32} ${ARM64}<br>
${PPC64}<br>
${MIPS32} ${MIPS64} ${S390X})<br>
<br>
Modified: compiler-rt/trunk/lib/lsan/lsa<wbr>n_allocator.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/lsan_allocator.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/lib/ls<wbr>an/lsan_allocator.cc?rev=29361<wbr>0&r1=293609&r2=293610&view=<wbr>diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/lsan_allocator.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/lib/l<wbr>san/lsan_allocator.cc?rev=2936<wbr>10&r1=293609&r2=293610&view=<wbr>diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/lib/lsan/lsa<wbr>n_allocator.cc (original)<br>
+++ compiler-rt/trunk/lib/lsan/lsa<wbr>n_allocator.cc Tue Jan 31<br>
01:15:37 2017<br>
@@ -28,12 +28,21 @@ namespace __lsan {<br>
struct ChunkMetadata {<br>
u8 allocated : 8; // Must be first.<br>
ChunkTag tag : 2;<br>
+#if SANITIZER_WORDSIZE == 64<br>
uptr requested_size : 54;<br>
+#else<br>
+ uptr requested_size : 32;<br>
+ uptr padding : 22;<br>
+#endif<br>
u32 stack_trace_id;<br>
};<br>
<br>
-#if defined(__mips64) || defined(__aarch64__)<br>
+#if defined(__mips64) || defined(__aarch64__) || defined(__i386__)<br>
+#if defined(__i386__)<br>
+static const uptr kMaxAllowedMallocSize = 1UL << 30;<br>
+#else<br>
static const uptr kMaxAllowedMallocSize = 4UL << 30;<br>
+#endif<br>
static const uptr kRegionSizeLog = 20;<br>
static const uptr kNumRegions = SANITIZER_MMAP_RANGE_SIZE >><br>
kRegionSizeLog;<br>
typedef TwoLevelByteMap<(kNumRegions >> 12), 1 << 12> ByteMap;<br>
<br>
Modified: compiler-rt/trunk/lib/lsan/lsa<wbr>n_common.h<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/lsan_common.h?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/lib/ls<wbr>an/lsan_common.h?rev=293610&r1<wbr>=293609&r2=293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/lsan_common.h?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/lib/l<wbr>san/lsan_common.h?rev=293610&r<wbr>1=293609&r2=293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/lib/lsan/lsa<wbr>n_common.h (original)<br>
+++ compiler-rt/trunk/lib/lsan/lsa<wbr>n_common.h Tue Jan 31 01:15:37 2017<br>
@@ -22,9 +22,19 @@<br>
#include "sanitizer_common/sanitizer_st<wbr>optheworld.h"<br>
#include "sanitizer_common/sanitizer_sy<wbr>mbolizer.h"<br>
<br>
+// LeakSanitizer relies on some Glibc's internals (e.g. TLS<br>
machinery) thus<br>
+// supported for Linux only. Also, LSan doesn't like 32 bit<br>
architectures<br>
+// because of "small" (4 bytes) pointer size that leads to high<br>
false negative<br>
+// ratio on large leaks. But we still want to have it for some 32<br>
bit arches<br>
+// (e.g. x86), see<br>
<a href="https://github.com/google/sanitizers/issues/403" rel="noreferrer" target="_blank">https://github.com/google/sani<wbr>tizers/issues/403</a><br>
<<a href="https://github.com/google/sanitizers/issues/403" rel="noreferrer" target="_blank">https://github.com/google/san<wbr>itizers/issues/403</a>>.<br>
+// To enable LeakSanitizer on new architecture, one need to implement<br>
+// internal_clone function as well as (probably) adjust TLS<br>
machinery for<br>
+// new architecture inside sanitizer library.<br>
#if (SANITIZER_LINUX && !SANITIZER_ANDROID) &&<br>
(SANITIZER_WORDSIZE == 64) \<br>
&& (defined(__x86_64__) || defined(__mips64) || defined(__aarch64__))<br>
#define CAN_SANITIZE_LEAKS 1<br>
+#elif SANITIZER_LINUX && !SANITIZER_ANDROID && defined(__i386__)<br>
+#define CAN_SANITIZE_LEAKS 1<br>
#else<br>
#define CAN_SANITIZE_LEAKS 0<br>
#endif<br>
<br>
Modified: compiler-rt/trunk/lib/lsan/lsa<wbr>n_interceptors.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/lsan_interceptors.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/lib/ls<wbr>an/lsan_interceptors.cc?rev=29<wbr>3610&r1=293609&r2=293610&view=<wbr>diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/lsan_interceptors.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/lib/l<wbr>san/lsan_interceptors.cc?rev=2<wbr>93610&r1=293609&r2=293610&view<wbr>=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/lib/lsan/lsa<wbr>n_interceptors.cc (original)<br>
+++ compiler-rt/trunk/lib/lsan/lsa<wbr>n_interceptors.cc Tue Jan 31<br>
01:15:37 2017<br>
@@ -27,6 +27,8 @@<br>
#include "lsan_common.h"<br>
#include "lsan_thread.h"<br>
<br>
+#include <stddef.h><br>
+<br>
using namespace __lsan;<br>
<br>
extern "C" {<br>
@@ -186,13 +188,13 @@ INTERCEPTOR(void, cfree, void *p) ALIAS(<br>
return Allocate(stack, size, 1, kAlwaysClearMemory);<br>
<br>
INTERCEPTOR_ATTRIBUTE<br>
-void *operator new(uptr size) { OPERATOR_NEW_BODY; }<br>
+void *operator new(size_t size) { OPERATOR_NEW_BODY; }<br>
INTERCEPTOR_ATTRIBUTE<br>
-void *operator new[](uptr size) { OPERATOR_NEW_BODY; }<br>
+void *operator new[](size_t size) { OPERATOR_NEW_BODY; }<br>
INTERCEPTOR_ATTRIBUTE<br>
-void *operator new(uptr size, std::nothrow_t const&) {<br>
OPERATOR_NEW_BODY; }<br>
+void *operator new(size_t size, std::nothrow_t const&) {<br>
OPERATOR_NEW_BODY; }<br>
INTERCEPTOR_ATTRIBUTE<br>
-void *operator new[](uptr size, std::nothrow_t const&) {<br>
OPERATOR_NEW_BODY; }<br>
+void *operator new[](size_t size, std::nothrow_t const&) {<br>
OPERATOR_NEW_BODY; }<br>
<br>
#define OPERATOR_DELETE_BODY \<br>
ENSURE_LSAN_INITED; \<br>
<br>
Modified: compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_flags.inc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_flags.inc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/lib/sa<wbr>nitizer_common/sanitizer_flags<wbr>.inc?rev=293610&r1=293609&r2=<wbr>293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_flags.inc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/lib/s<wbr>anitizer_common/sanitizer_flag<wbr>s.inc?rev=293610&r1=293609&r2=<wbr>293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_flags.inc<br>
(original)<br>
+++ compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_flags.inc Tue<br>
Jan 31 01:15:37 2017<br>
@@ -62,7 +62,8 @@ COMMON_FLAG(<br>
COMMON_FLAG(<br>
int, verbosity, 0,<br>
"Verbosity level (0 - silent, 1 - a bit of output, 2+ - more<br>
output).")<br>
-COMMON_FLAG(bool, detect_leaks, true, "Enable memory leak<br>
detection.")<br>
+COMMON_FLAG(bool, detect_leaks, SANITIZER_WORDSIZE == 64,<br>
+ "Enable memory leak detection.")<br>
COMMON_FLAG(<br>
bool, leak_check_at_exit, true,<br>
"Invoke leak checking in an atexit handler. Has no effect if "<br>
<br>
Modified: compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_linux.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/lib/sa<wbr>nitizer_common/sanitizer_linux<wbr>.cc?rev=293610&r1=293609&r2=<wbr>293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/lib/s<wbr>anitizer_common/sanitizer_linu<wbr>x.cc?rev=293610&r1=293609&r2=<wbr>293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_linux.cc<br>
(original)<br>
+++ compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_linux.cc Tue<br>
Jan 31 01:15:37 2017<br>
@@ -1175,6 +1175,71 @@ uptr internal_clone(int (*fn)(void *), v<br>
"r0", "r29", "r27", "r28");<br>
return res;<br>
}<br>
+#elif defined(__i386__) && SANITIZER_LINUX<br>
+uptr internal_clone(int (*fn)(void *), void *child_stack, int<br>
flags, void *arg,<br>
+ int *parent_tidptr, void *newtls, int<br>
*child_tidptr) {<br>
+ int res;<br>
+ if (!fn || !child_stack)<br>
+ return -EINVAL;<br>
+ CHECK_EQ(0, (uptr)child_stack % 16);<br>
+ child_stack = (char *)child_stack - 7 * sizeof(unsigned int);<br>
+ ((unsigned int *)child_stack)[0] = (uptr)flags;<br>
+ ((unsigned int *)child_stack)[1] = (uptr)0;<br>
+ ((unsigned int *)child_stack)[2] = (uptr)fn;<br>
+ ((unsigned int *)child_stack)[3] = (uptr)arg;<br>
+ __asm__ __volatile__(<br>
+ /* %eax = syscall(%eax = SYSCALL(clone),<br>
+ * %ebx = flags,<br>
+ * %ecx = child_stack,<br>
+ * %edx = parent_tidptr,<br>
+ * %esi = new_tls,<br>
+ * %edi = child_tidptr)<br>
+ */<br>
+<br>
+ /* Obtain flags */<br>
+ "movl (%%ecx), %%ebx\n"<br>
+ /* Do the system call */<br>
+ "pushl %%ebx\n"<br>
+ "pushl %%esi\n"<br>
+ "pushl %%edi\n"<br>
+ /* Remember the flag value. */<br>
+ "movl %%ebx, (%%ecx)\n"<br>
+ "int $0x80\n"<br>
+ "popl %%edi\n"<br>
+ "popl %%esi\n"<br>
+ "popl %%ebx\n"<br>
+<br>
+ /* if (%eax != 0)<br>
+ * return;<br>
+ */<br>
+<br>
+ "test %%eax,%%eax\n"<br>
+ "jnz 1f\n"<br>
+<br>
+ /* terminate the stack frame */<br>
+ "xorl %%ebp,%%ebp\n"<br>
+ /* Call FN. */<br>
+ "call *%%ebx\n"<br>
+#ifdef PIC<br>
+ "call here\n"<br>
+ "here:\n"<br>
+ "popl %%ebx\n"<br>
+ "addl $_GLOBAL_OFFSET_TABLE_+[.-here<wbr>],<br>
%%ebx\n"<br>
+#endif<br>
+ /* Call exit */<br>
+ "movl %%eax, %%ebx\n"<br>
+ "movl %2, %%eax\n"<br>
+ "int $0x80\n"<br>
+ "1:\n"<br>
+ : "=a" (res)<br>
+ : "a"(SYSCALL(clone)), "i"(SYSCALL(exit)),<br>
+ "c"(child_stack),<br>
+ "d"(parent_tidptr),<br>
+ "S"(newtls),<br>
+ "D"(child_tidptr)<br>
+ : "memory");<br>
+ return res;<br>
+}<br>
#endif // defined(__x86_64__) && SANITIZER_LINUX<br>
<br>
#if SANITIZER_ANDROID<br>
<br>
Modified: compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_linux.h<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.h?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/lib/sa<wbr>nitizer_common/sanitizer_linux<wbr>.h?rev=293610&r1=293609&r2=<wbr>293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.h?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/lib/s<wbr>anitizer_common/sanitizer_linu<wbr>x.h?rev=293610&r1=293609&r2=<wbr>293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_linux.h<br>
(original)<br>
+++ compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_linux.h Tue<br>
Jan 31 01:15:37 2017<br>
@@ -48,7 +48,7 @@ int internal_sigaction_syscall(int signu<br>
#endif<br>
void internal_sigdelset(__sanitizer<wbr>_sigset_t *set, int signum);<br>
#if defined(__x86_64__) || defined(__mips__) ||<br>
defined(__aarch64__) \<br>
- || defined(__powerpc64__) || defined(__s390__)<br>
+ || defined(__powerpc64__) || defined(__s390__) || defined(__i386__)<br>
uptr internal_clone(int (*fn)(void *), void *child_stack, int<br>
flags, void *arg,<br>
int *parent_tidptr, void *newtls, int<br>
*child_tidptr);<br>
#endif<br>
<br>
Modified:<br>
compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_stoptheworl<wbr>d_linux_libcdep.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/lib/sa<wbr>nitizer_common/sanitizer_stopt<wbr>heworld_linux_libcdep.cc?rev=<wbr>293610&r1=293609&r2=293610&<wbr>view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/lib/s<wbr>anitizer_common/sanitizer_stop<wbr>theworld_linux_libcdep.cc?rev=<wbr>293610&r1=293609&r2=293610&<wbr>view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
---<br>
compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_stoptheworl<wbr>d_linux_libcdep.cc<br>
(original)<br>
+++<br>
compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_stoptheworl<wbr>d_linux_libcdep.cc<br>
Tue Jan 31 01:15:37 2017<br>
@@ -16,7 +16,7 @@<br>
<br>
#if SANITIZER_LINUX && (defined(__x86_64__) || defined(__mips__) || \<br>
defined(__aarch64__) ||<br>
defined(__powerpc64__) || \<br>
- defined(__s390__))<br>
+ defined(__s390__) || defined(__i386__))<br>
<br>
#include "sanitizer_stoptheworld.h"<br>
<br>
@@ -528,4 +528,4 @@ uptr SuspendedThreadsList::Register<wbr>Count<br>
<br>
#endif // SANITIZER_LINUX && (defined(__x86_64__) ||<br>
defined(__mips__)<br>
// || defined(__aarch64__) || defined(__powerpc64__)<br>
- // || defined(__s390__)<br>
+ // || defined(__s390__) || defined(__i386__)<br>
<br>
Modified: compiler-rt/trunk/test/asan/li<wbr>t.cfg<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/lit.cfg?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>asan/lit.cfg?rev=293610&r1=<wbr>293609&r2=293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/lit.cfg?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>asan/lit.cfg?rev=293610&r1=<wbr>293609&r2=293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/test/asan/li<wbr>t.cfg (original)<br>
+++ compiler-rt/trunk/test/asan/li<wbr>t.cfg Tue Jan 31 01:15:37 2017<br>
@@ -205,7 +205,7 @@ if config.target_arch != 'arm' and confi<br>
config.available_features.<wbr>add('stable-runtime')<br>
<br>
# Turn on leak detection on 64-bit Linux.<br>
-if config.host_os == 'Linux' and config.target_arch == 'x86_64':<br>
+if config.host_os == 'Linux' and (config.target_arch == 'x86_64'<br>
or config.target_arch == 'i386'):<br>
config.available_features.<wbr>add('leak-detection')<br>
<br>
# Set LD_LIBRARY_PATH to pick dynamic runtime up properly.<br>
<br>
Modified: compiler-rt/trunk/test/lsan/Te<wbr>stCases/disabler.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/disabler.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/disabler.cc?<wbr>rev=293610&r1=293609&r2=293610<wbr>&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/disabler.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/disabler.cc?<wbr>rev=293610&r1=293609&r2=293610<wbr>&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/test/lsan/Te<wbr>stCases/disabler.cc (original)<br>
+++ compiler-rt/trunk/test/lsan/Te<wbr>stCases/disabler.cc Tue Jan 31<br>
01:15:37 2017<br>
@@ -1,5 +1,5 @@<br>
// Test for ScopedDisabler.<br>
-// RUN:<br>
LSAN_BASE="report_objects=1:us<wbr>e_registers=0:use_stacks=0:use<wbr>_globals=0:use_tls=0"<br>
+// RUN:<br>
LSAN_BASE="detect_leaks=1:repo<wbr>rt_objects=1:use_registers=0:<wbr>use_stacks=0:use_globals=0:<wbr>use_tls=0"<br>
// RUN: %clangxx_lsan %s -o %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t 2>&1 | FileCheck %s<br>
<br>
<br>
Modified:<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/do_leak_check_override<wbr>.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/do_leak_check_override.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/do_leak_check_<wbr>override.cc?rev=293610&r1=<wbr>293609&r2=293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/do_leak_check_override.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/do_leak_check_<wbr>override.cc?rev=293610&r1=<wbr>293609&r2=293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
---<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/do_leak_check_override<wbr>.cc<br>
(original)<br>
+++<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/do_leak_check_override<wbr>.cc<br>
Tue Jan 31 01:15:37 2017<br>
@@ -1,7 +1,7 @@<br>
// Test for __lsan_do_leak_check(). We test it by making the leak<br>
check run<br>
// before global destructors, which also tests compatibility with<br>
HeapChecker's<br>
// "normal" mode (LSan runs in "strict" mode by default).<br>
-// RUN: LSAN_BASE="use_stacks=0:use_re<wbr>gisters=0"<br>
+// RUN: LSAN_BASE="detect_leaks=1:use_<wbr>stacks=0:use_registers=0"<br>
// RUN: %clangxx_lsan %s -o %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t 2>&1 | FileCheck<br>
--check-prefix=CHECK-strict %s<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t foo 2>&1 | FileCheck<br>
--check-prefix=CHECK-normal %s<br>
<br>
Modified:<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/high_allocator_content<wbr>ion.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/high_allocator_contention.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/high_allocator_<wbr>contention.cc?rev=293610&r1=<wbr>293609&r2=293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/high_allocator_contention.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/high_allocator_<wbr>contention.cc?rev=293610&r1=<wbr>293609&r2=293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
---<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/high_allocator_content<wbr>ion.cc<br>
(original)<br>
+++<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/high_allocator_content<wbr>ion.cc<br>
Tue Jan 31 01:15:37 2017<br>
@@ -1,6 +1,6 @@<br>
// A benchmark that executes malloc/free pairs in parallel.<br>
// Usage: ./a.out number_of_threads total_number_of_allocations<br>
-// RUN: LSAN_BASE="use_ld_allocations=<wbr>0"<br>
+// RUN: LSAN_BASE="detect_leaks=1:use_<wbr>ld_allocations=0"<br>
// RUN: %clangxx_lsan %s -o %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE %run %t 5 1000000 2>&1<br>
#include <assert.h><br>
<br>
Modified:<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/large_allocation_leak.<wbr>cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/large_allocation_leak.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/large_allocatio<wbr>n_leak.cc?rev=293610&r1=<wbr>293609&r2=293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/large_allocation_leak.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/large_allocatio<wbr>n_leak.cc?rev=293610&r1=<wbr>293609&r2=293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/test/lsan/Te<wbr>stCases/large_allocation_leak.<wbr>cc<br>
(original)<br>
+++ compiler-rt/trunk/test/lsan/Te<wbr>stCases/large_allocation_leak.<wbr>cc<br>
Tue Jan 31 01:15:37 2017<br>
@@ -1,8 +1,12 @@<br>
// Test that LargeMmapAllocator's chunks aren't reachable via<br>
some internal data structure.<br>
-// RUN: LSAN_BASE="report_objects=1:us<wbr>e_stacks=0:use_registers=0"<br>
+// RUN:<br>
LSAN_BASE="detect_leaks=1:repo<wbr>rt_objects=1:use_stacks=0:use_<wbr>registers=0"<br>
// RUN: %clangxx_lsan %s -o %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t 2>&1 | FileCheck %s<br>
<br>
+// For 32 bit LSan it's pretty likely that large chunks are<br>
"reachable" from some<br>
+// internal data structures (e.g. Glibc global data).<br>
+// UNSUPPORTED: x86<br>
+<br>
#include <stdio.h><br>
#include <stdlib.h><br>
#include "sanitizer_common/print_addres<wbr>s.h"<br>
<br>
Modified: compiler-rt/trunk/test/lsan/Te<wbr>stCases/leak_check_at_exit.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/leak_check_at_exit.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/leak_check_at_<wbr>exit.cc?rev=293610&r1=293609&<wbr>r2=293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/leak_check_at_exit.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/leak_check_at_<wbr>exit.cc?rev=293610&r1=293609&<wbr>r2=293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/test/lsan/Te<wbr>stCases/leak_check_at_exit.cc<br>
(original)<br>
+++ compiler-rt/trunk/test/lsan/Te<wbr>stCases/leak_check_at_exit.cc<br>
Tue Jan 31 01:15:37 2017<br>
@@ -1,5 +1,5 @@<br>
// Test for the leak_check_at_exit flag.<br>
-// RUN: LSAN_BASE="use_stacks=0:use_re<wbr>gisters=0"<br>
+// RUN: LSAN_BASE="detect_leaks=1:use_<wbr>stacks=0:use_registers=0"<br>
// RUN: %clangxx_lsan %s -o %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t foo 2>&1 | FileCheck<br>
%s --check-prefix=CHECK-do<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t 2>&1 | FileCheck %s<br>
--check-prefix=CHECK-do<br>
<br>
Modified: compiler-rt/trunk/test/lsan/Te<wbr>stCases/link_turned_off.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/link_turned_off.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/link_turned_<wbr>off.cc?rev=293610&r1=293609&<wbr>r2=293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/link_turned_off.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/link_turned_<wbr>off.cc?rev=293610&r1=293609&<wbr>r2=293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/test/lsan/Te<wbr>stCases/link_turned_off.cc<br>
(original)<br>
+++ compiler-rt/trunk/test/lsan/Te<wbr>stCases/link_turned_off.cc Tue<br>
Jan 31 01:15:37 2017<br>
@@ -1,5 +1,5 @@<br>
// Test for disabling LSan at link-time.<br>
-// RUN: LSAN_BASE="use_stacks=0:use_re<wbr>gisters=0"<br>
+// RUN: LSAN_BASE="detect_leaks=1:use_<wbr>stacks=0:use_registers=0"<br>
// RUN: %clangxx_lsan %s -o %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE %run %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t foo 2>&1 | FileCheck %s<br>
<br>
Modified: compiler-rt/trunk/test/lsan/Te<wbr>stCases/pointer_to_self.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/pointer_to_self.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/pointer_to_<wbr>self.cc?rev=293610&r1=293609&<wbr>r2=293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/pointer_to_self.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/pointer_to_<wbr>self.cc?rev=293610&r1=293609&<wbr>r2=293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/test/lsan/Te<wbr>stCases/pointer_to_self.cc<br>
(original)<br>
+++ compiler-rt/trunk/test/lsan/Te<wbr>stCases/pointer_to_self.cc Tue<br>
Jan 31 01:15:37 2017<br>
@@ -1,6 +1,6 @@<br>
// Regression test: pointers to self should not confuse LSan into<br>
thinking the<br>
// object is indirectly leaked. Only external pointers count.<br>
-// RUN: LSAN_BASE="report_objects=1:us<wbr>e_registers=0"<br>
+// RUN: LSAN_BASE="detect_leaks=1:repo<wbr>rt_objects=1:use_registers=0"<br>
// RUN: %clangxx_lsan %s -o %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_s<wbr>tacks=0" not %run %t 2>&1 |<br>
FileCheck %s<br>
<br>
<br>
Modified: compiler-rt/trunk/test/lsan/Te<wbr>stCases/print_suppressions.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/print_suppressions.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/print_suppressi<wbr>ons.cc?rev=293610&r1=293609&<wbr>r2=293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/print_suppressions.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/print_suppressi<wbr>ons.cc?rev=293610&r1=293609&<wbr>r2=293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/test/lsan/Te<wbr>stCases/print_suppressions.cc<br>
(original)<br>
+++ compiler-rt/trunk/test/lsan/Te<wbr>stCases/print_suppressions.cc<br>
Tue Jan 31 01:15:37 2017<br>
@@ -1,6 +1,6 @@<br>
// Print matched suppressions only if print_suppressions=1 AND at<br>
least one is<br>
// matched. Default is print_suppressions=true.<br>
-// RUN: LSAN_BASE="use_registers=0:use<wbr>_stacks=0"<br>
+// RUN: LSAN_BASE="detect_leaks=1:use_<wbr>registers=0:use_stacks=0"<br>
// RUN: %clangxx_lsan %s -o %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE:print_<wbr>suppressions=0 %run %t 2>&1<br>
| FileCheck %s --check-prefix=CHECK-dont-prin<wbr>t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE %run %t 2>&1 | FileCheck %s<br>
--check-prefix=CHECK-dont-prin<wbr>t<br>
<br>
Modified:<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/recoverable_leak_check<wbr>.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/recoverable_leak_check.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/recoverable_<wbr>leak_check.cc?rev=293610&r1=<wbr>293609&r2=293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/recoverable_leak_check.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/recoverable_<wbr>leak_check.cc?rev=293610&r1=<wbr>293609&r2=293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
---<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/recoverable_leak_check<wbr>.cc<br>
(original)<br>
+++<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/recoverable_leak_check<wbr>.cc<br>
Tue Jan 31 01:15:37 2017<br>
@@ -1,5 +1,5 @@<br>
// Test for on-demand leak checking.<br>
-// RUN: LSAN_BASE="use_stacks=0:use_re<wbr>gisters=0"<br>
+// RUN: LSAN_BASE="detect_leaks=1:use_<wbr>stacks=0:use_registers=0"<br>
// RUN: %clangxx_lsan %s -o %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE %run %t foo 2>&1 | FileCheck %s<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE %run %t 2>&1 | FileCheck %s<br>
<br>
Modified:<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/register_root_region.<wbr>cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/register_root_region.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/register_root_<wbr>region.cc?rev=293610&r1=293609<wbr>&r2=293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/register_root_region.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/register_root_<wbr>region.cc?rev=293610&r1=293609<wbr>&r2=293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/test/lsan/Te<wbr>stCases/register_root_region.<wbr>cc<br>
(original)<br>
+++ compiler-rt/trunk/test/lsan/Te<wbr>stCases/register_root_region.<wbr>cc<br>
Tue Jan 31 01:15:37 2017<br>
@@ -1,5 +1,5 @@<br>
// Test for __lsan_(un)register_root_regio<wbr>n().<br>
-// RUN: LSAN_BASE="use_stacks=0:use_re<wbr>gisters=0"<br>
+// RUN: LSAN_BASE="detect_leaks=1:use_<wbr>stacks=0:use_registers=0"<br>
// RUN: %clangxx_lsan %s -o %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE %run %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t foo 2>&1 | FileCheck %s<br>
<br>
Modified: compiler-rt/trunk/test/lsan/Te<wbr>stCases/stale_stack_leak.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/stale_stack_leak.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/stale_stack_<wbr>leak.cc?rev=293610&r1=293609&<wbr>r2=293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/stale_stack_leak.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/stale_stack_<wbr>leak.cc?rev=293610&r1=293609&<wbr>r2=293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/test/lsan/Te<wbr>stCases/stale_stack_leak.cc<br>
(original)<br>
+++ compiler-rt/trunk/test/lsan/Te<wbr>stCases/stale_stack_leak.cc Tue<br>
Jan 31 01:15:37 2017<br>
@@ -1,5 +1,5 @@<br>
// Test that out-of-scope local variables are ignored by LSan.<br>
-// RUN: LSAN_BASE="report_objects=1:us<wbr>e_registers=0:use_stacks=1"<br>
+// RUN:<br>
LSAN_BASE="detect_leaks=1:repo<wbr>rt_objects=1:use_registers=0:<wbr>use_stacks=1"<br>
// RUN: %clangxx_lsan %s -o %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t 2>&1 | FileCheck %s<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE":exitc<wbr>ode=0" %run %t 2>&1 |<br>
FileCheck --check-prefix=CHECK-sanity %s<br>
<br>
Modified:<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/suppressions_default.<wbr>cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/suppressions_default.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/suppressions_<wbr>default.cc?rev=293610&r1=<wbr>293609&r2=293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/suppressions_default.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/suppressions_<wbr>default.cc?rev=293610&r1=<wbr>293609&r2=293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/test/lsan/Te<wbr>stCases/suppressions_default.<wbr>cc<br>
(original)<br>
+++ compiler-rt/trunk/test/lsan/Te<wbr>stCases/suppressions_default.<wbr>cc<br>
Tue Jan 31 01:15:37 2017<br>
@@ -1,4 +1,4 @@<br>
-// RUN: LSAN_BASE="use_registers=0:use<wbr>_stacks=0"<br>
+// RUN: LSAN_BASE="detect_leaks=1:use_<wbr>registers=0:use_stacks=0"<br>
// RUN: %clangxx_lsan %s -o %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t 2>&1 | FileCheck %s<br>
<br>
<br>
Modified: compiler-rt/trunk/test/lsan/Te<wbr>stCases/suppressions_file.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/suppressions_file.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/suppressions_<wbr>file.cc?rev=293610&r1=293609&<wbr>r2=293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/suppressions_file.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/suppressions_<wbr>file.cc?rev=293610&r1=293609&<wbr>r2=293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/test/lsan/Te<wbr>stCases/suppressions_file.cc<br>
(original)<br>
+++ compiler-rt/trunk/test/lsan/Te<wbr>stCases/suppressions_file.cc Tue<br>
Jan 31 01:15:37 2017<br>
@@ -1,4 +1,4 @@<br>
-// RUN: LSAN_BASE="use_registers=0:use<wbr>_stacks=0"<br>
+// RUN: LSAN_BASE="detect_leaks=1:use_<wbr>registers=0:use_stacks=0"<br>
// RUN: %clangxx_lsan %s -o %t<br>
<br>
// RUN: rm -f %t.supp<br>
<br>
Modified: compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_after_return.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_after_return.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_after_retur<wbr>n.cc?rev=293610&r1=293609&r2=<wbr>293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_after_return.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_after_retur<wbr>n.cc?rev=293610&r1=293609&r2=<wbr>293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_after_return.cc<br>
(original)<br>
+++ compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_after_return.cc Tue<br>
Jan 31 01:15:37 2017<br>
@@ -1,6 +1,6 @@<br>
// Test that fake stack (introduced by ASan's use-after-return<br>
mode) is included<br>
// in the root set.<br>
-// RUN: LSAN_BASE="report_objects=1:us<wbr>e_registers=0"<br>
+// RUN: LSAN_BASE="detect_leaks=1:repo<wbr>rt_objects=1:use_registers=0"<br>
// RUN: %clangxx_lsan %s -O2 -o %t<br>
// RUN:<br>
ASAN_OPTIONS=$ASAN_OPTIONS:det<wbr>ect_stack_use_after_return=1<br>
LSAN_OPTIONS=$LSAN_BASE:"use_s<wbr>tacks=0" not %run %t 2>&1 | FileCheck %s<br>
// RUN:<br>
ASAN_OPTIONS=$ASAN_OPTIONS:det<wbr>ect_stack_use_after_return=1<br>
LSAN_OPTIONS=$LSAN_BASE:"use_s<wbr>tacks=1" %run %t 2>&1<br>
<br>
Modified:<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_globals_initialize<wbr>d.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_globals_initialized.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_globals_<wbr>initialized.cc?rev=293610&r1=<wbr>293609&r2=293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_globals_initialized.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_globals_<wbr>initialized.cc?rev=293610&r1=<wbr>293609&r2=293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
---<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_globals_initialize<wbr>d.cc<br>
(original)<br>
+++<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_globals_initialize<wbr>d.cc<br>
Tue Jan 31 01:15:37 2017<br>
@@ -1,5 +1,5 @@<br>
// Test that initialized globals are included in the root set.<br>
-// RUN: LSAN_BASE="report_objects=1:us<wbr>e_stacks=0:use_registers=0"<br>
+// RUN:<br>
LSAN_BASE="detect_leaks=1:repo<wbr>rt_objects=1:use_stacks=0:use_<wbr>registers=0"<br>
// RUN: %clangxx_lsan %s -o %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_g<wbr>lobals=0" not %run %t 2>&1<br>
| FileCheck %s<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_g<wbr>lobals=1" %run %t 2>&1<br>
<br>
Modified:<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_globals_uninitiali<wbr>zed.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_globals_uninitialized.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_globals_<wbr>uninitialized.cc?rev=293610&<wbr>r1=293609&r2=293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_globals_uninitialized.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_globals_<wbr>uninitialized.cc?rev=293610&<wbr>r1=293609&r2=293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
---<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_globals_uninitiali<wbr>zed.cc<br>
(original)<br>
+++<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_globals_uninitiali<wbr>zed.cc<br>
Tue Jan 31 01:15:37 2017<br>
@@ -1,5 +1,5 @@<br>
// Test that uninitialized globals are included in the root set.<br>
-// RUN: LSAN_BASE="report_objects=1:us<wbr>e_stacks=0:use_registers=0"<br>
+// RUN:<br>
LSAN_BASE="detect_leaks=1:repo<wbr>rt_objects=1:use_stacks=0:use_<wbr>registers=0"<br>
// RUN: %clangxx_lsan %s -o %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_g<wbr>lobals=0" not %run %t 2>&1<br>
| FileCheck %s<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_g<wbr>lobals=1" %run %t 2>&1<br>
<br>
Modified: compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_poisoned_asan.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_poisoned_asan.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_poisoned_<wbr>asan.cc?rev=293610&r1=293609&<wbr>r2=293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_poisoned_asan.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_poisoned_<wbr>asan.cc?rev=293610&r1=293609&<wbr>r2=293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_poisoned_asan.cc<br>
(original)<br>
+++ compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_poisoned_asan.cc Tue<br>
Jan 31 01:15:37 2017<br>
@@ -1,6 +1,6 @@<br>
// ASan-poisoned memory should be ignored if use_poisoned is false.<br>
// REQUIRES: asan<br>
-// RUN: LSAN_BASE="report_objects=1:us<wbr>e_stacks=0:use_registers=0"<br>
+// RUN:<br>
LSAN_BASE="detect_leaks=1:repo<wbr>rt_objects=1:use_stacks=0:use_<wbr>registers=0"<br>
// RUN: %clangxx_lsan %s -o %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_p<wbr>oisoned=0" not %run %t 2>&1<br>
| FileCheck %s<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_p<wbr>oisoned=1" %run %t 2>&1<br>
<br>
Modified: compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_registers.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_registers.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_registers.<wbr>cc?rev=293610&r1=293609&r2=<wbr>293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_registers.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_registers.<wbr>cc?rev=293610&r1=293609&r2=<wbr>293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_registers.cc (original)<br>
+++ compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_registers.cc Tue Jan<br>
31 01:15:37 2017<br>
@@ -1,5 +1,5 @@<br>
// Test that registers of running threads are included in the<br>
root set.<br>
-// RUN: LSAN_BASE="report_objects=1:us<wbr>e_stacks=0"<br>
+// RUN: LSAN_BASE="detect_leaks=1:repo<wbr>rt_objects=1:use_stacks=0"<br>
// RUN: %clangxx_lsan -pthread %s -o %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_r<wbr>egisters=0" not %run %t<br>
2>&1 | FileCheck %s<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_r<wbr>egisters=1" %run %t 2>&1<br>
<br>
Modified: compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_stacks.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_stacks.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_stacks.cc?<wbr>rev=293610&r1=293609&r2=<wbr>293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_stacks.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_stacks.cc?<wbr>rev=293610&r1=293609&r2=<wbr>293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_stacks.cc (original)<br>
+++ compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_stacks.cc Tue Jan 31<br>
01:15:37 2017<br>
@@ -1,5 +1,5 @@<br>
// Test that stack of main thread is included in the root set.<br>
-// RUN: LSAN_BASE="report_objects=1:us<wbr>e_registers=0"<br>
+// RUN: LSAN_BASE="detect_leaks=1:repo<wbr>rt_objects=1:use_registers=0"<br>
// RUN: %clangxx_lsan %s -o %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_s<wbr>tacks=0" not %run %t 2>&1 |<br>
FileCheck %s<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_s<wbr>tacks=1" %run %t 2>&1<br>
<br>
Modified: compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_stacks_threaded.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_stacks_threaded.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_stacks_<wbr>threaded.cc?rev=293610&r1=<wbr>293609&r2=293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_stacks_threaded.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_stacks_<wbr>threaded.cc?rev=293610&r1=<wbr>293609&r2=293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_stacks_threaded.cc<br>
(original)<br>
+++ compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_stacks_threaded.cc<br>
Tue Jan 31 01:15:37 2017<br>
@@ -1,5 +1,5 @@<br>
// Test that stacks of non-main threads are included in the root set.<br>
-// RUN: LSAN_BASE="report_objects=1:us<wbr>e_registers=0"<br>
+// RUN: LSAN_BASE="detect_leaks=1:repo<wbr>rt_objects=1:use_registers=0"<br>
// RUN: %clangxx_lsan -pthread %s -o %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_s<wbr>tacks=0" not %run %t 2>&1 |<br>
FileCheck %s<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_s<wbr>tacks=1" %run %t 2>&1<br>
<br>
Modified: compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_tls_dynamic.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_tls_dynamic.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_tls_dynamic<wbr>.cc?rev=293610&r1=293609&r2=<wbr>293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_tls_dynamic.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_tls_dynamic<wbr>.cc?rev=293610&r1=293609&r2=<wbr>293610&view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
--- compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_tls_dynamic.cc<br>
(original)<br>
+++ compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_tls_dynamic.cc Tue<br>
Jan 31 01:15:37 2017<br>
@@ -1,5 +1,5 @@<br>
// Test that dynamically allocated TLS space is included in the<br>
root set.<br>
-// RUN:<br>
LSAN_BASE="report_objects=1:us<wbr>e_stacks=0:use_registers=0:use<wbr>_ld_allocations=0"<br>
+// RUN:<br>
LSAN_BASE="detect_leaks=1:repo<wbr>rt_objects=1:use_stacks=0:use_<wbr>registers=0:use_ld_allocations<wbr>=0"<br>
// RUN: %clangxx %s -DBUILD_DSO -fPIC -shared -o %t-so.so<br>
// RUN: %clangxx_lsan %s -o %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_t<wbr>ls=0" not %run %t 2>&1 |<br>
FileCheck %s<br>
<br>
Modified:<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_tls_pthread_specif<wbr>ic_dynamic.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_tls_pthread_specific_dynamic.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_tls_pthread<wbr>_specific_dynamic.cc?rev=<wbr>293610&r1=293609&r2=293610&<wbr>view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_tls_pthread_specific_dynamic.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_tls_pthread<wbr>_specific_dynamic.cc?rev=<wbr>293610&r1=293609&r2=293610&<wbr>view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
---<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_tls_pthread_specif<wbr>ic_dynamic.cc<br>
(original)<br>
+++<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_tls_pthread_specif<wbr>ic_dynamic.cc<br>
Tue Jan 31 01:15:37 2017<br>
@@ -1,5 +1,5 @@<br>
// Test that dynamically allocated thread-specific storage is<br>
included in the root set.<br>
-// RUN: LSAN_BASE="report_objects=1:us<wbr>e_stacks=0:use_registers=0"<br>
+// RUN:<br>
LSAN_BASE="detect_leaks=1:repo<wbr>rt_objects=1:use_stacks=0:use_<wbr>registers=0"<br>
// RUN: %clangxx_lsan %s -o %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_t<wbr>ls=0" not %run %t 2>&1 |<br>
FileCheck %s<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_t<wbr>ls=1" %run %t 2>&1<br>
<br>
Modified:<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_tls_pthread_specif<wbr>ic_static.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_tls_pthread_specific_static.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_tls_pthread<wbr>_specific_static.cc?rev=<wbr>293610&r1=293609&r2=293610&<wbr>view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_tls_pthread_specific_static.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_tls_pthread<wbr>_specific_static.cc?rev=<wbr>293610&r1=293609&r2=293610&<wbr>view=diff</a>><br>
==============================<wbr>==============================<wbr>==================<br>
---<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_tls_pthread_specif<wbr>ic_static.cc<br>
(original)<br>
+++<br>
compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_tls_pthread_specif<wbr>ic_static.cc<br>
Tue Jan 31 01:15:37 2017<br>
@@ -1,5 +1,5 @@<br>
// Test that statically allocated thread-specific storage is<br>
included in the root set.<br>
-// RUN: LSAN_BASE="report_objects=1:us<wbr>e_stacks=0:use_registers=0"<br>
+// RUN:<br>
LSAN_BASE="detect_leaks=1:repo<wbr>rt_objects=1:use_stacks=0:use_<wbr>registers=0"<br>
// RUN: %clangxx_lsan %s -o %t<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_t<wbr>ls=0" not %run %t 2>&1 |<br>
FileCheck %s<br>
// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_t<wbr>ls=1" %run %t 2>&1<br>
<br>
Modified: compiler-rt/trunk/test/lsan/Te<wbr>stCases/use_tls_static.cc<br>
URL:<br>
<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_tls_static.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_tls_static.<wbr>cc?rev=293610&r1=293609&r2=<wbr>293610&view=diff</a><br>
<<a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_tls_static.cc?rev=293610&r1=293609&r2=293610&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject/compiler-rt/trunk/test/<wbr>lsan/TestCases/use_tls_static.<wbr>cc?rev=293610&r1=293609&r2=<wbr>293610&view=diff</a>></blockquote>
</blockquote></div><br></div></div>