Kostya Serebryany
7c5ae7cbc6
[sanitizer] enable random shuffling the memory chunks inside the allocator, under a flag. Set this flag for the scudo allocator, add a test.
...
llvm-svn: 279793
2016-08-26 00:06:03 +00:00
Kostya Serebryany
15647b17f3
[sanitizer] change SizeClassAllocator64 to accept just one template parameter instead of 5. First, this will make the mangled names shorter. Second, this will make adding more parameters simpler.
...
llvm-svn: 279771
2016-08-25 20:23:08 +00:00
Kostya Serebryany
bf6a04fde8
[sanitizers] introduce yet another API function: __sanitizer_install_malloc_and_free_hooks
...
llvm-svn: 272943
2016-06-16 20:06:06 +00:00
Adhemerval Zanella
b0d5dd0199
[lsan] [aarch64] Add support for AArch64
...
This patch add support for leak sanitizer for aarch64. Similar to
MIPS it uses a SizeClassAllocator32 due VMA constraints (aarch64
currently supports 39 and 42-bit VMA).
It also fixes the android build issue.
llvm-svn: 250898
2015-10-21 13:08:06 +00:00
Evgeniy Stepanov
437615639f
Revert "[lsan] [aarch64] Add support for AArch64"
...
This reverts commit ea02fa45225c35613bfecab383fb526e24b74497 (r249337).
Reason: broken "ninja AsanUnitTests" on Android/AArch64.
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/20675/steps/build%20compiler-rt%20android%2Faarch64/logs/stdio
llvm-svn: 249730
2015-10-08 20:08:30 +00:00
Adhemerval Zanella
5ea8dcb8cf
[lsan] [aarch64] Add support for AArch64
...
This patch add support for leak sanitizer for aarch64. Similar to
MIPS it uses a SizeClassAllocator32 due VMA constraints (aarch64
currently supports 39 and 42-bit VMA).
llvm-svn: 249337
2015-10-05 19:16:09 +00:00
Vedant Kumar
59ba7b8cd1
[compiler-rt] Apply modernize-use-nullptr fixes in sanitizers
...
- Trim spaces.
- Use nullptr in place of 0 for pointer variables.
- Use '!p' in place of 'p == 0' for null pointer checks.
- Add blank lines to separate function definitions.
- Add 'extern "C"' or 'namespace foo' comments after the appropriate
closing brackets
This is a continuation of work from 409b7b82. The focus here is on the
various sanitizers (not sanitizer_common, as before).
Patch by Eugene Zelenko!
Differential Revision: http://reviews.llvm.org/D13225
llvm-svn: 248966
2015-10-01 00:22:21 +00:00
Evgeniy Stepanov
10c9ea51a0
Fix compilation warning in compiler-rt.
...
error: width of bit-field 'allocated' (8 bits) exceeds the width of
its type; value will be truncated to 1 bit [-Werror,-Wbitfield-width]
llvm-svn: 247840
2015-09-16 19:54:36 +00:00
Mohit K. Bhakkad
36f974d76b
[LSan] [MIPS] adding support of LSan for mips64/mips64el arch
...
Patch by Sagar Thakur
Reviewers: petarj, earthdok, kcc.
Subscribers: samsonov, dsanders, mohit.bhakkad, Anand.Takale, llvm-commits.
Differential Revision: http://reviews.llvm.org/D7013
llvm-svn: 229830
2015-02-19 07:30:39 +00:00
Sergey Matveev
8cd909e749
[sanitizer] Rename InitIfLinkerInitialized to InitLinkerInitialized.
...
llvm-svn: 224577
2014-12-19 14:45:19 +00:00
Kostya Serebryany
20f3a52249
[sanitizer] add CombinedAllocator::InitIfLinkerInitialized and use it in lsan: speeds up lsan start-up time by ~25%
...
llvm-svn: 224469
2014-12-17 23:06:36 +00:00
Alexey Samsonov
6334f46db8
[Sanitizer] Introduce Allocator::may_return_null bool flag.
...
Summary:
Turn "allocator_may_return_null" common flag into an
Allocator::may_return_null bool flag. We want to make sure
that common flags are immutable after initialization. There
are cases when we want to change this flag in the allocator
at runtime: e.g. in unit tests and during ASan activation
on Android.
Test Plan: regression test suite, real-life applications
Reviewers: kcc, eugenis
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D6623
llvm-svn: 224148
2014-12-12 20:07:35 +00:00
Alexey Samsonov
3741ab82ba
Change StackDepot interface to use StackTrace more extensively
...
llvm-svn: 220637
2014-10-26 06:23:07 +00:00
Sergey Matveev
08347ca4fd
[lsan] Implement the public allocator interface in standalone LSan.
...
llvm-svn: 216459
2014-08-26 14:28:28 +00:00
Kostya Serebryany
2b76278d38
[lsan] handle 'new T[0]' where T is a type with DTOR; fixes https://code.google.com/p/address-sanitizer/issues/detail?id=257
...
llvm-svn: 198932
2014-01-10 10:48:01 +00:00
Sergey Matveev
10548681c0
[lsan] Use real memset to clear memory in standalone LSan.
...
Performance improvement. Also, the allocator was using CompactSizeClassMap for
no good reason, so I switched it to DefaultSizeClassMap.
llvm-svn: 195570
2013-11-24 14:28:18 +00:00
Sergey Matveev
4e0215a71c
Revert to C-style callbacks for iteration over allocator chunks.
...
Also clean up LSan code, fix some comments and replace void* with uptr
to bring down the number of reinterpret_casts.
llvm-svn: 184700
2013-06-24 08:34:50 +00:00
Sergey Matveev
d28c03c03a
[lsan] Increase allocator space; minor fixes.
...
llvm-svn: 184554
2013-06-21 15:10:20 +00:00
Sergey Matveev
b94d5e2d1c
[asan] Move lsan_disabled out of thread context.
...
Fix for the case where disabler is used in pthread key destructor.
llvm-svn: 184553
2013-06-21 14:51:52 +00:00
Sergey Matveev
978460c12c
[lsan] Harmonized some naming inconsistencies.
...
llvm-svn: 183748
2013-06-11 15:26:20 +00:00
Sergey Matveev
1c4e214c32
[lsan] Put SANITIZER_INTERFACE_ATTRIBUTE on LSan interface functions.
...
llvm-svn: 183429
2013-06-06 18:40:55 +00:00
Sergey Matveev
ecc4f5ba8e
[lsan] Implement __lsan_ignore_object().
...
Leak annotation similar to HeapChecker's IgnoreObject().
llvm-svn: 183412
2013-06-06 14:17:56 +00:00
Sergey Matveev
17ee1abfa7
[lsan] Add __lsan_disable() and __lsan_enable().
...
Objects allocated after a call to __lsan_disable() will be treated as
live memory. Also add a ScopedDisabler.
llvm-svn: 183099
2013-06-03 11:21:34 +00:00
Sergey Matveev
69f11803ec
[lsan] Use the fast version of GetBlockBegin for leak checking in LSan and ASan.
...
llvm-svn: 182994
2013-05-31 11:13:45 +00:00
Sergey Matveev
39e8a6d87e
[lsan] Begin converting LSan tests to output tests.
...
In this CL all old tests are removed and one LIT test is added.
llvm-svn: 182730
2013-05-27 11:41:46 +00:00
Sergey Matveev
bb12f840b5
[lsan] Ensure lsan is initialized when interceptors are called.
...
Also remove unnecessary ifdefs.
llvm-svn: 182571
2013-05-23 10:24:44 +00:00
Sergey Matveev
20ccf95f80
[lsan] Invoke leak detection with atexit().
...
Keeps it consistent between ASan and LSan.
llvm-svn: 182399
2013-05-21 17:56:45 +00:00
Sergey Matveev
bcfd838bcb
[lsan] GetUserBegin() in LSan.
...
Separate the notions of user-visible chunk and allocator chunk, to facilitate
ASan integration.
llvm-svn: 182256
2013-05-20 13:08:23 +00:00
Sergey Matveev
866abfb3fe
[lsan] Allocator for standalone LSan.
...
This is the first in a series of CLs implementing LeakSanitizer.
http://clang.llvm.org/docs/LeakSanitizer.html
llvm-svn: 182245
2013-05-20 10:54:00 +00:00