From 0fabac5aef4fc6db55c8ad2eeab7d696bdb0d66e Mon Sep 17 00:00:00 2001 From: "thakis@chromium.org" Date: Fri, 13 Dec 2013 14:39:49 +0000 Subject: Remove heapcheck support. The bots are gone, no need to keep this around. The replacement that's maintained by the dynamic tools team is ASan / LSan. BUG=325380 Review URL: https://codereview.chromium.org/113193008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240643 0039d316-1c4b-4281-b951-d872f2087c98 --- base/allocator/allocator.gyp | 34 +++++++--------------------------- base/debug/leak_annotations.h | 25 +++++-------------------- 2 files changed, 12 insertions(+), 47 deletions(-) (limited to 'base') diff --git a/base/allocator/allocator.gyp b/base/allocator/allocator.gyp index 85574ab..4841f58 100644 --- a/base/allocator/allocator.gyp +++ b/base/allocator/allocator.gyp @@ -253,6 +253,8 @@ '<(tcmalloc_dir)/src/gperftools/profiler.h', '<(tcmalloc_dir)/src/gperftools/stacktrace.h', '<(tcmalloc_dir)/src/gperftools/tcmalloc.h', + '<(tcmalloc_dir)/src/heap-checker-bcad.cc', + '<(tcmalloc_dir)/src/heap-checker.cc', '<(tcmalloc_dir)/src/libc_override.h', '<(tcmalloc_dir)/src/libc_override_gcc_and_weak.h', '<(tcmalloc_dir)/src/libc_override_glibc.h', @@ -325,6 +327,10 @@ ], }, }, + # Disable the heap checker in tcmalloc. + 'defines': [ + 'NO_HEAP_CHECK', + ], 'conditions': [ ['OS=="linux" and clang_type_profiler==1', { 'dependencies': [ @@ -371,11 +377,9 @@ # included by allocator_shim.cc 'debugallocation_shim.cc', - # heap-checker/cpuprofiler + # cpuprofiler '<(tcmalloc_dir)/src/base/thread_lister.c', '<(tcmalloc_dir)/src/base/thread_lister.h', - '<(tcmalloc_dir)/src/heap-checker-bcad.cc', - '<(tcmalloc_dir)/src/heap-checker.cc', '<(tcmalloc_dir)/src/profiledata.cc', '<(tcmalloc_dir)/src/profiledata.h', '<(tcmalloc_dir)/src/profile-handler.cc', @@ -432,30 +436,6 @@ '-fvtable-verify=preinit', ], }], - [ 'linux_keep_shadow_stacks==1', { - 'sources': [ - '<(tcmalloc_dir)/src/linux_shadow_stacks.cc', - '<(tcmalloc_dir)/src/linux_shadow_stacks.h', - '<(tcmalloc_dir)/src/stacktrace_shadow-inl.h', - ], - 'cflags': [ - '-finstrument-functions', - ], - 'defines': [ - 'KEEP_SHADOW_STACKS', - ], - }], - [ 'linux_use_heapchecker==0', { - # Do not compile and link the heapchecker source. - 'sources!': [ - '<(tcmalloc_dir)/src/heap-checker-bcad.cc', - '<(tcmalloc_dir)/src/heap-checker.cc', - ], - # Disable the heap checker in tcmalloc. - 'defines': [ - 'NO_HEAP_CHECK', - ], - }], ['order_profiling != 0', { 'target_conditions' : [ ['_toolset=="target"', { diff --git a/base/debug/leak_annotations.h b/base/debug/leak_annotations.h index cac1eaf2..27fe663 100644 --- a/base/debug/leak_annotations.h +++ b/base/debug/leak_annotations.h @@ -9,32 +9,17 @@ #include "build/build_config.h" // This file defines macros which can be used to annotate intentional memory -// leaks. Support for annotations is implemented in HeapChecker and -// LeakSanitizer. Annotated objects will be treated as a source of live -// pointers, i.e. any heap objects reachable by following pointers from an -// annotated object will not be reported as leaks. +// leaks. Support for annotations is implemented in LeakSanitizer. Annotated +// objects will be treated as a source of live pointers, i.e. any heap objects +// reachable by following pointers from an annotated object will not be +// reported as leaks. // // ANNOTATE_SCOPED_MEMORY_LEAK: all allocations made in the current scope // will be annotated as leaks. // ANNOTATE_LEAKING_OBJECT_PTR(X): the heap object referenced by pointer X will // be annotated as a leak. -// -// Note that HeapChecker will report a fatal error if an object which has been -// annotated with ANNOTATE_LEAKING_OBJECT_PTR is later deleted (but -// LeakSanitizer won't). - -#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_NACL) && \ - defined(USE_HEAPCHECKER) - -#include "third_party/tcmalloc/chromium/src/gperftools/heap-checker.h" - -#define ANNOTATE_SCOPED_MEMORY_LEAK \ - HeapLeakChecker::Disabler heap_leak_checker_disabler; static_cast(0) - -#define ANNOTATE_LEAKING_OBJECT_PTR(X) \ - HeapLeakChecker::IgnoreObject(X) -#elif defined(LEAK_SANITIZER) && !defined(OS_NACL) +#if defined(LEAK_SANITIZER) && !defined(OS_NACL) // Public LSan API from . extern "C" { -- cgit v1.1