[compiler-rt] r292844 - Revert "[lsan] Enable LSan for x86 Linux."

Evgeniy Stepanov via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 23 14:52:32 PST 2017


Author: eugenis
Date: Mon Jan 23 16:52:31 2017
New Revision: 292844

URL: http://llvm.org/viewvc/llvm-project?rev=292844&view=rev
Log:
Revert "[lsan] Enable LSan for x86 Linux."

Breaks tests on i686/Linux due to missing clang driver support:
  error: unsupported option '-fsanitize=leak' for target 'i386-unknown-linux-gnu'

Modified:
    compiler-rt/trunk/cmake/config-ix.cmake
    compiler-rt/trunk/lib/lsan/lsan_allocator.cc
    compiler-rt/trunk/lib/lsan/lsan_common.h
    compiler-rt/trunk/lib/lsan/lsan_interceptors.cc
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_flags.inc
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.h
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
    compiler-rt/trunk/test/asan/lit.cfg
    compiler-rt/trunk/test/lsan/TestCases/disabler.cc
    compiler-rt/trunk/test/lsan/TestCases/do_leak_check_override.cc
    compiler-rt/trunk/test/lsan/TestCases/high_allocator_contention.cc
    compiler-rt/trunk/test/lsan/TestCases/large_allocation_leak.cc
    compiler-rt/trunk/test/lsan/TestCases/leak_check_at_exit.cc
    compiler-rt/trunk/test/lsan/TestCases/link_turned_off.cc
    compiler-rt/trunk/test/lsan/TestCases/pointer_to_self.cc
    compiler-rt/trunk/test/lsan/TestCases/print_suppressions.cc
    compiler-rt/trunk/test/lsan/TestCases/recoverable_leak_check.cc
    compiler-rt/trunk/test/lsan/TestCases/register_root_region.cc
    compiler-rt/trunk/test/lsan/TestCases/stale_stack_leak.cc
    compiler-rt/trunk/test/lsan/TestCases/suppressions_default.cc
    compiler-rt/trunk/test/lsan/TestCases/suppressions_file.cc
    compiler-rt/trunk/test/lsan/TestCases/use_after_return.cc
    compiler-rt/trunk/test/lsan/TestCases/use_globals_initialized.cc
    compiler-rt/trunk/test/lsan/TestCases/use_globals_uninitialized.cc
    compiler-rt/trunk/test/lsan/TestCases/use_poisoned_asan.cc
    compiler-rt/trunk/test/lsan/TestCases/use_registers.cc
    compiler-rt/trunk/test/lsan/TestCases/use_stacks.cc
    compiler-rt/trunk/test/lsan/TestCases/use_stacks_threaded.cc
    compiler-rt/trunk/test/lsan/TestCases/use_tls_dynamic.cc
    compiler-rt/trunk/test/lsan/TestCases/use_tls_pthread_specific_dynamic.cc
    compiler-rt/trunk/test/lsan/TestCases/use_tls_pthread_specific_static.cc
    compiler-rt/trunk/test/lsan/TestCases/use_tls_static.cc
    compiler-rt/trunk/test/lsan/TestCases/use_unaligned.cc
    compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc
    compiler-rt/trunk/test/sanitizer_common/TestCases/corelimit.cc
    compiler-rt/trunk/test/sanitizer_common/lit.common.cfg
    compiler-rt/trunk/test/sanitizer_common/print_address.h

Modified: compiler-rt/trunk/cmake/config-ix.cmake
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/cmake/config-ix.cmake?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/cmake/config-ix.cmake (original)
+++ compiler-rt/trunk/cmake/config-ix.cmake Mon Jan 23 16:52:31 2017
@@ -164,7 +164,7 @@ set(ALL_SANITIZER_COMMON_SUPPORTED_ARCH
 set(ALL_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64}
     ${MIPS32} ${MIPS64} ${PPC64} ${S390X})
 set(ALL_DFSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64})
-set(ALL_LSAN_SUPPORTED_ARCH ${X86} ${X86_64} ${MIPS64} ${ARM64})
+set(ALL_LSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64})
 set(ALL_MSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64} ${PPC64})
 set(ALL_PROFILE_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${PPC64}
     ${MIPS32} ${MIPS64} ${S390X})

Modified: compiler-rt/trunk/lib/lsan/lsan_allocator.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/lsan_allocator.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/lib/lsan/lsan_allocator.cc (original)
+++ compiler-rt/trunk/lib/lsan/lsan_allocator.cc Mon Jan 23 16:52:31 2017
@@ -28,21 +28,12 @@ namespace __lsan {
 struct ChunkMetadata {
   u8 allocated : 8;  // Must be first.
   ChunkTag tag : 2;
-#if SANITIZER_WORDSIZE == 64
   uptr requested_size : 54;
-#else
-  uptr requested_size : 32;
-  uptr padding : 22;
-#endif
   u32 stack_trace_id;
 };
 
-#if defined(__mips64) || defined(__aarch64__) || defined(__i386__)
-#if defined(__i386__)
-static const uptr kMaxAllowedMallocSize = 1UL << 30;
-#else
+#if defined(__mips64) || defined(__aarch64__)
 static const uptr kMaxAllowedMallocSize = 4UL << 30;
-#endif
 static const uptr kRegionSizeLog = 20;
 static const uptr kNumRegions = SANITIZER_MMAP_RANGE_SIZE >> kRegionSizeLog;
 typedef TwoLevelByteMap<(kNumRegions >> 12), 1 << 12> ByteMap;

Modified: compiler-rt/trunk/lib/lsan/lsan_common.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/lsan_common.h?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/lib/lsan/lsan_common.h (original)
+++ compiler-rt/trunk/lib/lsan/lsan_common.h Mon Jan 23 16:52:31 2017
@@ -22,19 +22,9 @@
 #include "sanitizer_common/sanitizer_stoptheworld.h"
 #include "sanitizer_common/sanitizer_symbolizer.h"
 
-// LeakSanitizer relies on some Glibc's internals (e.g. TLS machinery) thus
-// supported for Linux only. Also, LSan doesn't like 32 bit architectures
-// because of "small" (4 bytes) pointer size that leads to high false negative
-// ratio on large leaks. But we still want to have it for some 32 bit arches
-// (e.g. x86), see https://github.com/google/sanitizers/issues/403.
-// To enable LeakSanitizer on new architecture, one need to implement
-// internal_clone function as well as (probably) adjust TLS machinery for
-// new architecture inside sanitizer library.
 #if (SANITIZER_LINUX && !SANITIZER_ANDROID) && (SANITIZER_WORDSIZE == 64) \
      && (defined(__x86_64__) ||  defined(__mips64) ||  defined(__aarch64__))
 #define CAN_SANITIZE_LEAKS 1
-#elif SANITIZER_LINUX && !SANITIZER_ANDROID && defined(__i386__)
-#define CAN_SANITIZE_LEAKS 1
 #else
 #define CAN_SANITIZE_LEAKS 0
 #endif

Modified: compiler-rt/trunk/lib/lsan/lsan_interceptors.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/lsan_interceptors.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/lib/lsan/lsan_interceptors.cc (original)
+++ compiler-rt/trunk/lib/lsan/lsan_interceptors.cc Mon Jan 23 16:52:31 2017
@@ -26,8 +26,6 @@
 #include "lsan_common.h"
 #include "lsan_thread.h"
 
-#include <stddef.h>
-
 using namespace __lsan;
 
 extern "C" {
@@ -163,13 +161,13 @@ INTERCEPTOR(void, cfree, void *p) ALIAS(
   return Allocate(stack, size, 1, kAlwaysClearMemory);
 
 INTERCEPTOR_ATTRIBUTE
-void *operator new(size_t size) { OPERATOR_NEW_BODY; }
+void *operator new(uptr size) { OPERATOR_NEW_BODY; }
 INTERCEPTOR_ATTRIBUTE
-void *operator new[](size_t size) { OPERATOR_NEW_BODY; }
+void *operator new[](uptr size) { OPERATOR_NEW_BODY; }
 INTERCEPTOR_ATTRIBUTE
-void *operator new(size_t size, std::nothrow_t const&) { OPERATOR_NEW_BODY; }
+void *operator new(uptr size, std::nothrow_t const&) { OPERATOR_NEW_BODY; }
 INTERCEPTOR_ATTRIBUTE
-void *operator new[](size_t size, std::nothrow_t const&) { OPERATOR_NEW_BODY; }
+void *operator new[](uptr size, std::nothrow_t const&) { OPERATOR_NEW_BODY; }
 
 #define OPERATOR_DELETE_BODY \
   ENSURE_LSAN_INITED;        \

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_flags.inc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_flags.inc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_flags.inc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_flags.inc Mon Jan 23 16:52:31 2017
@@ -62,8 +62,7 @@ COMMON_FLAG(
 COMMON_FLAG(
     int, verbosity, 0,
     "Verbosity level (0 - silent, 1 - a bit of output, 2+ - more output).")
-COMMON_FLAG(bool, detect_leaks, SANITIZER_WORDSIZE == 64,
-            "Enable memory leak detection.")
+COMMON_FLAG(bool, detect_leaks, true, "Enable memory leak detection.")
 COMMON_FLAG(
     bool, leak_check_at_exit, true,
     "Invoke leak checking in an atexit handler. Has no effect if "

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc Mon Jan 23 16:52:31 2017
@@ -1175,71 +1175,6 @@ uptr internal_clone(int (*fn)(void *), v
                "r0", "r29", "r27", "r28");
   return res;
 }
-#elif defined(__i386__) && SANITIZER_LINUX
-uptr internal_clone(int (*fn)(void *), void *child_stack, int flags, void *arg,
-                    int *parent_tidptr, void *newtls, int *child_tidptr) {
-  int res;
-  if (!fn || !child_stack)
-    return -EINVAL;
-  CHECK_EQ(0, (uptr)child_stack % 16);
-  child_stack = (char *)child_stack - 7 * sizeof(unsigned int);
-  ((unsigned int *)child_stack)[0] = (uptr)flags;
-  ((unsigned int *)child_stack)[1] = (uptr)0;
-  ((unsigned int *)child_stack)[2] = (uptr)fn;
-  ((unsigned int *)child_stack)[3] = (uptr)arg;
-  __asm__ __volatile__(
-                       /* %eax = syscall(%eax = SYSCALL(clone),
-                        *                %ebx = flags,
-                        *                %ecx = child_stack,
-                        *                %edx = parent_tidptr,
-                        *                %esi  = new_tls,
-                        *                %edi = child_tidptr)
-                        */
-
-                        /* Obtain flags */
-                        "movl    (%%ecx), %%ebx\n"
-                        /* Do the system call */
-                        "pushl   %%ebx\n"
-                        "pushl   %%esi\n"
-                        "pushl   %%edi\n"
-                        /* Remember the flag value.  */
-                        "movl    %%ebx, (%%ecx)\n"
-                        "int     $0x80\n"
-                        "popl    %%edi\n"
-                        "popl    %%esi\n"
-                        "popl    %%ebx\n"
-
-                        /* if (%eax != 0)
-                         *   return;
-                         */
-
-                        "test    %%eax,%%eax\n"
-                        "jnz    1f\n"
-
-                        /* terminate the stack frame */
-                        "xorl   %%ebp,%%ebp\n"
-                        /* Call FN. */
-                        "call    *%%ebx\n"
-#ifdef PIC
-                        "call    here\n"
-                        "here:\n"
-                        "popl    %%ebx\n"
-                        "addl    $_GLOBAL_OFFSET_TABLE_+[.-here], %%ebx\n"
-#endif
-                        /* Call exit */
-                        "movl    %%eax, %%ebx\n"
-                        "movl    %2, %%eax\n"
-                        "int     $0x80\n"
-                        "1:\n"
-                       : "=a" (res)
-                       : "a"(SYSCALL(clone)), "i"(SYSCALL(exit)),
-                         "c"(child_stack),
-                         "d"(parent_tidptr),
-                         "S"(newtls),
-                         "D"(child_tidptr)
-                       : "memory");
-  return res;
-}
 #endif  // defined(__x86_64__) && SANITIZER_LINUX
 
 #if SANITIZER_ANDROID

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.h?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.h (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.h Mon Jan 23 16:52:31 2017
@@ -48,7 +48,7 @@ int internal_sigaction_syscall(int signu
 #endif
 void internal_sigdelset(__sanitizer_sigset_t *set, int signum);
 #if defined(__x86_64__) || defined(__mips__) || defined(__aarch64__) \
-  || defined(__powerpc64__) || defined(__s390__) || defined(__i386__)
+  || defined(__powerpc64__) || defined(__s390__)
 uptr internal_clone(int (*fn)(void *), void *child_stack, int flags, void *arg,
                     int *parent_tidptr, void *newtls, int *child_tidptr);
 #endif

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc Mon Jan 23 16:52:31 2017
@@ -16,7 +16,7 @@
 
 #if SANITIZER_LINUX && (defined(__x86_64__) || defined(__mips__) || \
                         defined(__aarch64__) || defined(__powerpc64__) || \
-                        defined(__s390__) || defined(__i386__))
+                        defined(__s390__))
 
 #include "sanitizer_stoptheworld.h"
 
@@ -528,4 +528,4 @@ uptr SuspendedThreadsList::RegisterCount
 
 #endif  // SANITIZER_LINUX && (defined(__x86_64__) || defined(__mips__)
         // || defined(__aarch64__) || defined(__powerpc64__)
-        // || defined(__s390__) || defined(__i386__)
+        // || defined(__s390__)

Modified: compiler-rt/trunk/test/asan/lit.cfg
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/lit.cfg?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/asan/lit.cfg (original)
+++ compiler-rt/trunk/test/asan/lit.cfg Mon Jan 23 16:52:31 2017
@@ -205,7 +205,7 @@ if config.target_arch != 'arm' and confi
   config.available_features.add('stable-runtime')
 
 # Turn on leak detection on 64-bit Linux.
-if config.host_os == 'Linux' and (config.target_arch == 'x86_64' or config.target_arch == 'i386'):
+if config.host_os == 'Linux' and config.target_arch == 'x86_64':
   config.available_features.add('leak-detection')
 
 # Set LD_LIBRARY_PATH to pick dynamic runtime up properly.

Modified: compiler-rt/trunk/test/lsan/TestCases/disabler.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/disabler.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/disabler.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/disabler.cc Mon Jan 23 16:52:31 2017
@@ -1,5 +1,5 @@
 // Test for ScopedDisabler.
-// RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_registers=0:use_stacks=0:use_globals=0:use_tls=0"
+// RUN: LSAN_BASE="report_objects=1:use_registers=0:use_stacks=0:use_globals=0:use_tls=0"
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t 2>&1 | FileCheck %s
 

Modified: compiler-rt/trunk/test/lsan/TestCases/do_leak_check_override.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/do_leak_check_override.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/do_leak_check_override.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/do_leak_check_override.cc Mon Jan 23 16:52:31 2017
@@ -1,7 +1,7 @@
 // Test for __lsan_do_leak_check(). We test it by making the leak check run
 // before global destructors, which also tests compatibility with HeapChecker's
 // "normal" mode (LSan runs in "strict" mode by default).
-// RUN: LSAN_BASE="detect_leaks=1:use_stacks=0:use_registers=0"
+// RUN: LSAN_BASE="use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t 2>&1 | FileCheck --check-prefix=CHECK-strict %s
 // RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t foo 2>&1 | FileCheck --check-prefix=CHECK-normal %s

Modified: compiler-rt/trunk/test/lsan/TestCases/high_allocator_contention.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/high_allocator_contention.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/high_allocator_contention.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/high_allocator_contention.cc Mon Jan 23 16:52:31 2017
@@ -1,6 +1,6 @@
 // A benchmark that executes malloc/free pairs in parallel.
 // Usage: ./a.out number_of_threads total_number_of_allocations
-// RUN: LSAN_BASE="detect_leaks=1:use_ld_allocations=0"
+// RUN: LSAN_BASE="use_ld_allocations=0"
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE %run %t 5 1000000 2>&1
 #include <assert.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/large_allocation_leak.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/large_allocation_leak.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/large_allocation_leak.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/large_allocation_leak.cc Mon Jan 23 16:52:31 2017
@@ -1,12 +1,8 @@
 // Test that LargeMmapAllocator's chunks aren't reachable via some internal data structure.
-// RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_stacks=0:use_registers=0"
+// RUN: LSAN_BASE="report_objects=1:use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t 2>&1 | FileCheck %s
 
-// For 32 bit LSan it's pretty likely that large chunks are "reachable" from some
-// internal data structures (e.g. Glibc global data).
-// UNSUPPORTED: x86
-
 #include <stdio.h>
 #include <stdlib.h>
 #include "sanitizer_common/print_address.h"

Modified: compiler-rt/trunk/test/lsan/TestCases/leak_check_at_exit.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/leak_check_at_exit.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/leak_check_at_exit.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/leak_check_at_exit.cc Mon Jan 23 16:52:31 2017
@@ -1,5 +1,5 @@
 // Test for the leak_check_at_exit flag.
-// RUN: LSAN_BASE="detect_leaks=1:use_stacks=0:use_registers=0"
+// RUN: LSAN_BASE="use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t foo 2>&1 | FileCheck %s --check-prefix=CHECK-do
 // RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-do

Modified: compiler-rt/trunk/test/lsan/TestCases/link_turned_off.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/link_turned_off.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/link_turned_off.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/link_turned_off.cc Mon Jan 23 16:52:31 2017
@@ -1,5 +1,5 @@
 // Test for disabling LSan at link-time.
-// RUN: LSAN_BASE="detect_leaks=1:use_stacks=0:use_registers=0"
+// RUN: LSAN_BASE="use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE %run %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t foo 2>&1 | FileCheck %s

Modified: compiler-rt/trunk/test/lsan/TestCases/pointer_to_self.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/pointer_to_self.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/pointer_to_self.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/pointer_to_self.cc Mon Jan 23 16:52:31 2017
@@ -1,6 +1,6 @@
 // Regression test: pointers to self should not confuse LSan into thinking the
 // object is indirectly leaked. Only external pointers count.
-// RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_registers=0"
+// RUN: LSAN_BASE="report_objects=1:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_stacks=0" not %run %t 2>&1 | FileCheck %s
 

Modified: compiler-rt/trunk/test/lsan/TestCases/print_suppressions.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/print_suppressions.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/print_suppressions.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/print_suppressions.cc Mon Jan 23 16:52:31 2017
@@ -1,6 +1,6 @@
 // Print matched suppressions only if print_suppressions=1 AND at least one is
 // matched. Default is print_suppressions=true.
-// RUN: LSAN_BASE="detect_leaks=1:use_registers=0:use_stacks=0"
+// RUN: LSAN_BASE="use_registers=0:use_stacks=0"
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE:print_suppressions=0 %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-dont-print
 // RUN: LSAN_OPTIONS=$LSAN_BASE %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-dont-print

Modified: compiler-rt/trunk/test/lsan/TestCases/recoverable_leak_check.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/recoverable_leak_check.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/recoverable_leak_check.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/recoverable_leak_check.cc Mon Jan 23 16:52:31 2017
@@ -1,5 +1,5 @@
 // Test for on-demand leak checking.
-// RUN: LSAN_BASE="detect_leaks=1:use_stacks=0:use_registers=0"
+// RUN: LSAN_BASE="use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE %run %t foo 2>&1 | FileCheck %s
 // RUN: LSAN_OPTIONS=$LSAN_BASE %run %t 2>&1 | FileCheck %s

Modified: compiler-rt/trunk/test/lsan/TestCases/register_root_region.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/register_root_region.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/register_root_region.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/register_root_region.cc Mon Jan 23 16:52:31 2017
@@ -1,5 +1,5 @@
 // Test for __lsan_(un)register_root_region().
-// RUN: LSAN_BASE="detect_leaks=1:use_stacks=0:use_registers=0"
+// RUN: LSAN_BASE="use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE %run %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t foo 2>&1 | FileCheck %s

Modified: compiler-rt/trunk/test/lsan/TestCases/stale_stack_leak.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/stale_stack_leak.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/stale_stack_leak.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/stale_stack_leak.cc Mon Jan 23 16:52:31 2017
@@ -1,5 +1,5 @@
 // Test that out-of-scope local variables are ignored by LSan.
-// RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_registers=0:use_stacks=1"
+// RUN: LSAN_BASE="report_objects=1:use_registers=0:use_stacks=1"
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t 2>&1 | FileCheck %s
 // RUN: LSAN_OPTIONS=$LSAN_BASE":exitcode=0" %run %t 2>&1 | FileCheck --check-prefix=CHECK-sanity %s

Modified: compiler-rt/trunk/test/lsan/TestCases/suppressions_default.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/suppressions_default.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/suppressions_default.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/suppressions_default.cc Mon Jan 23 16:52:31 2017
@@ -1,4 +1,4 @@
-// RUN: LSAN_BASE="detect_leaks=1:use_registers=0:use_stacks=0"
+// RUN: LSAN_BASE="use_registers=0:use_stacks=0"
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t 2>&1 | FileCheck %s
 

Modified: compiler-rt/trunk/test/lsan/TestCases/suppressions_file.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/suppressions_file.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/suppressions_file.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/suppressions_file.cc Mon Jan 23 16:52:31 2017
@@ -1,4 +1,4 @@
-// RUN: LSAN_BASE="detect_leaks=1:use_registers=0:use_stacks=0"
+// RUN: LSAN_BASE="use_registers=0:use_stacks=0"
 // RUN: %clangxx_lsan %s -o %t
 
 // RUN: rm -f %t.supp

Modified: compiler-rt/trunk/test/lsan/TestCases/use_after_return.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_after_return.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/use_after_return.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/use_after_return.cc Mon Jan 23 16:52:31 2017
@@ -1,6 +1,6 @@
 // Test that fake stack (introduced by ASan's use-after-return mode) is included
 // in the root set.
-// RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_registers=0"
+// RUN: LSAN_BASE="report_objects=1:use_registers=0"
 // RUN: %clangxx_lsan %s -O2 -o %t
 // RUN: ASAN_OPTIONS=$ASAN_OPTIONS:detect_stack_use_after_return=1 LSAN_OPTIONS=$LSAN_BASE:"use_stacks=0" not %run %t 2>&1 | FileCheck %s
 // RUN: ASAN_OPTIONS=$ASAN_OPTIONS:detect_stack_use_after_return=1 LSAN_OPTIONS=$LSAN_BASE:"use_stacks=1" %run %t 2>&1

Modified: compiler-rt/trunk/test/lsan/TestCases/use_globals_initialized.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_globals_initialized.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/use_globals_initialized.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/use_globals_initialized.cc Mon Jan 23 16:52:31 2017
@@ -1,5 +1,5 @@
 // Test that initialized globals are included in the root set.
-// RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_stacks=0:use_registers=0"
+// RUN: LSAN_BASE="report_objects=1:use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_globals=0" not %run %t 2>&1 | FileCheck %s
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_globals=1" %run %t 2>&1

Modified: compiler-rt/trunk/test/lsan/TestCases/use_globals_uninitialized.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_globals_uninitialized.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/use_globals_uninitialized.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/use_globals_uninitialized.cc Mon Jan 23 16:52:31 2017
@@ -1,5 +1,5 @@
 // Test that uninitialized globals are included in the root set.
-// RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_stacks=0:use_registers=0"
+// RUN: LSAN_BASE="report_objects=1:use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_globals=0" not %run %t 2>&1 | FileCheck %s
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_globals=1" %run %t 2>&1

Modified: compiler-rt/trunk/test/lsan/TestCases/use_poisoned_asan.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_poisoned_asan.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/use_poisoned_asan.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/use_poisoned_asan.cc Mon Jan 23 16:52:31 2017
@@ -1,6 +1,6 @@
 // ASan-poisoned memory should be ignored if use_poisoned is false.
 // REQUIRES: asan
-// RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_stacks=0:use_registers=0"
+// RUN: LSAN_BASE="report_objects=1:use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_poisoned=0" not %run %t 2>&1 | FileCheck %s
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_poisoned=1" %run %t 2>&1

Modified: compiler-rt/trunk/test/lsan/TestCases/use_registers.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_registers.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/use_registers.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/use_registers.cc Mon Jan 23 16:52:31 2017
@@ -1,5 +1,5 @@
 // Test that registers of running threads are included in the root set.
-// RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_stacks=0"
+// RUN: LSAN_BASE="report_objects=1:use_stacks=0"
 // RUN: %clangxx_lsan -pthread %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_registers=0" not %run %t 2>&1 | FileCheck %s
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_registers=1" %run %t 2>&1

Modified: compiler-rt/trunk/test/lsan/TestCases/use_stacks.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_stacks.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/use_stacks.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/use_stacks.cc Mon Jan 23 16:52:31 2017
@@ -1,5 +1,5 @@
 // Test that stack of main thread is included in the root set.
-// RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_registers=0"
+// RUN: LSAN_BASE="report_objects=1:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_stacks=0" not %run %t 2>&1 | FileCheck %s
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_stacks=1" %run %t 2>&1

Modified: compiler-rt/trunk/test/lsan/TestCases/use_stacks_threaded.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_stacks_threaded.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/use_stacks_threaded.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/use_stacks_threaded.cc Mon Jan 23 16:52:31 2017
@@ -1,5 +1,5 @@
 // Test that stacks of non-main threads are included in the root set.
-// RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_registers=0"
+// RUN: LSAN_BASE="report_objects=1:use_registers=0"
 // RUN: %clangxx_lsan -pthread %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_stacks=0" not %run %t 2>&1 | FileCheck %s
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_stacks=1" %run %t 2>&1

Modified: compiler-rt/trunk/test/lsan/TestCases/use_tls_dynamic.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_tls_dynamic.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/use_tls_dynamic.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/use_tls_dynamic.cc Mon Jan 23 16:52:31 2017
@@ -1,5 +1,5 @@
 // Test that dynamically allocated TLS space is included in the root set.
-// RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_stacks=0:use_registers=0:use_ld_allocations=0"
+// RUN: LSAN_BASE="report_objects=1:use_stacks=0:use_registers=0:use_ld_allocations=0"
 // RUN: %clangxx %s -DBUILD_DSO -fPIC -shared -o %t-so.so
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_tls=0" not %run %t 2>&1 | FileCheck %s

Modified: compiler-rt/trunk/test/lsan/TestCases/use_tls_pthread_specific_dynamic.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_tls_pthread_specific_dynamic.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/use_tls_pthread_specific_dynamic.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/use_tls_pthread_specific_dynamic.cc Mon Jan 23 16:52:31 2017
@@ -1,5 +1,5 @@
 // Test that dynamically allocated thread-specific storage is included in the root set.
-// RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_stacks=0:use_registers=0"
+// RUN: LSAN_BASE="report_objects=1:use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_tls=0" not %run %t 2>&1 | FileCheck %s
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_tls=1" %run %t 2>&1

Modified: compiler-rt/trunk/test/lsan/TestCases/use_tls_pthread_specific_static.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_tls_pthread_specific_static.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/use_tls_pthread_specific_static.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/use_tls_pthread_specific_static.cc Mon Jan 23 16:52:31 2017
@@ -1,5 +1,5 @@
 // Test that statically allocated thread-specific storage is included in the root set.
-// RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_stacks=0:use_registers=0"
+// RUN: LSAN_BASE="report_objects=1:use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_tls=0" not %run %t 2>&1 | FileCheck %s
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_tls=1" %run %t 2>&1

Modified: compiler-rt/trunk/test/lsan/TestCases/use_tls_static.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_tls_static.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/use_tls_static.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/use_tls_static.cc Mon Jan 23 16:52:31 2017
@@ -1,5 +1,5 @@
 // Test that statically allocated TLS space is included in the root set.
-// RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_stacks=0:use_registers=0"
+// RUN: LSAN_BASE="report_objects=1:use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_tls=0" not %run %t 2>&1 | FileCheck %s
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_tls=1" %run %t 2>&1

Modified: compiler-rt/trunk/test/lsan/TestCases/use_unaligned.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_unaligned.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/use_unaligned.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/use_unaligned.cc Mon Jan 23 16:52:31 2017
@@ -1,5 +1,5 @@
 // Test that unaligned pointers are detected correctly.
-// RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_stacks=0:use_registers=0"
+// RUN: LSAN_BASE="report_objects=1:use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_unaligned=0" not %run %t 2>&1 | FileCheck %s
 // RUN: LSAN_OPTIONS=$LSAN_BASE:"use_unaligned=1" %run %t 2>&1

Modified: compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc (original)
+++ compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc Mon Jan 23 16:52:31 2017
@@ -2,13 +2,6 @@
 
 // REQUIRES: stable-runtime
 
-// For standalone LSan on x86 we have a problem: compiler spills the address
-// of allocated at line 42 memory thus memory block allocated in Leak() function
-// ends up to be classified as reachable despite the fact we zero out 'sink' at
-// the last line of main function. The problem doesn't reproduce with ASan because
-// quarantine prohibits memory block reuse for different allocations.
-// XFAIL: lsan-x86
-
 #include <sanitizer/common_interface_defs.h>
 #include <stdio.h>
 

Modified: compiler-rt/trunk/test/sanitizer_common/TestCases/corelimit.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/sanitizer_common/TestCases/corelimit.cc?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/sanitizer_common/TestCases/corelimit.cc (original)
+++ compiler-rt/trunk/test/sanitizer_common/TestCases/corelimit.cc Mon Jan 23 16:52:31 2017
@@ -1,5 +1,5 @@
 // RUN: %clangxx -O0 %s -o %t && %run %t
-// UNSUPPORTED: lsan
+// XFAIL: lsan
 
 #include <assert.h>
 #include <sys/time.h>

Modified: compiler-rt/trunk/test/sanitizer_common/lit.common.cfg
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/sanitizer_common/lit.common.cfg?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/sanitizer_common/lit.common.cfg (original)
+++ compiler-rt/trunk/test/sanitizer_common/lit.common.cfg Mon Jan 23 16:52:31 2017
@@ -26,9 +26,6 @@ config.available_features.add(config.too
 if config.target_arch not in ['arm', 'armhf', 'aarch64']:
   config.available_features.add('stable-runtime')
 
-if config.host_os == 'Linux' and config.target_arch == 'i386' and config.tool_name == "lsan":
-  config.available_features.add("lsan-x86")
-
 if config.host_os == 'Darwin':
   # On Darwin, we default to `abort_on_error=1`, which would make tests run
   # much slower. Let's override this and run lit tests with 'abort_on_error=0'.

Modified: compiler-rt/trunk/test/sanitizer_common/print_address.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/sanitizer_common/print_address.h?rev=292844&r1=292843&r2=292844&view=diff
==============================================================================
--- compiler-rt/trunk/test/sanitizer_common/print_address.h (original)
+++ compiler-rt/trunk/test/sanitizer_common/print_address.h Mon Jan 23 16:52:31 2017
@@ -11,8 +11,6 @@ void print_address(const char *str, int
     // On FreeBSD, the %p conversion specifier works as 0x%x and thus does not
     // match to the format used in the diagnotic message.
     fprintf(stderr, "0x%012lx ", (unsigned long) p);
-#elif defined(__i386__)
-    fprintf(stderr, "0x%8lx ", (unsigned long) p);
 #elif defined(__mips64)
     fprintf(stderr, "0x%010lx ", (unsigned long) p);
 #endif




More information about the llvm-commits mailing list