Evgeniy Stepanov
2538bd1901
[msan] Remove icmp tests that require exact shadow propagation.
...
llvm-svn: 173686
2013-01-28 13:45:16 +00:00
Alexey Samsonov
7eda134fa7
[ASan] fix a bug in allocator-v2 which could lead to SEGV on realloc(malloc(0), 4)
...
llvm-svn: 173681
2013-01-28 11:24:13 +00:00
Kostya Serebryany
61761f182b
[asan] fix a crash in asan stats printing (initialize the allocator in __asan_init)
...
llvm-svn: 173676
2013-01-28 08:05:47 +00:00
Kostya Serebryany
6c17547ef1
[asan] two more internal flags for asan-rt: print_stats (0) and print_legend (1)
...
llvm-svn: 173671
2013-01-28 07:34:22 +00:00
Alexey Samsonov
5311754b62
[CMake] Fix compiler-rt tests after r173617
...
llvm-svn: 173668
2013-01-28 07:16:22 +00:00
Evgeniy Stepanov
0e5becb830
[msan] Tests for ICmp handling.
...
llvm-svn: 173456
2013-01-25 15:39:11 +00:00
Alexey Samsonov
622a7b2408
[Sanitizer] More fixes to scanf interceptor: stub support for %s, support for %[...] directive
...
llvm-svn: 173451
2013-01-25 15:26:19 +00:00
Kostya Serebryany
c1056f90ae
[sanitizer] improve the calloc overflow check (spotted by samsonov@)
...
llvm-svn: 173443
2013-01-25 12:22:21 +00:00
Kostya Serebryany
fa79cd65e2
[sanitizer] fix calloc overflow in asan/tsan/msan
...
llvm-svn: 173441
2013-01-25 11:46:22 +00:00
Alexey Samsonov
4899fb5cfb
[Sanitizer] fix errors in scanf interceptors: add support for %c and fix cases like %5d
...
llvm-svn: 173440
2013-01-25 11:43:32 +00:00
Dmitry Vyukov
4e3b9802bd
tsan: return the old fake numbers from malloc stats (some code already depends on them)
...
llvm-svn: 173348
2013-01-24 14:07:19 +00:00
Alexey Samsonov
971b0cd26f
[Sanitizer] use stub InternalSymbolizer on platforms where we don't have weak hooks
...
llvm-svn: 173347
2013-01-24 14:01:59 +00:00
Dmitry Vyukov
f4f76b1c10
tsan: suppress reports using both stacks
...
llvm-svn: 173346
2013-01-24 13:50:32 +00:00
Dmitry Vyukov
83566dadaf
tsan: allow a front-end to provide default suppressions
...
llvm-svn: 173345
2013-01-24 13:50:10 +00:00
Alexey Samsonov
8db4077583
[Sanitizer] Add skeleton for InternalSymbolizer that can be used by providing callbacks __sanitizer_symbolize_{code,data}
...
llvm-svn: 173344
2013-01-24 13:42:45 +00:00
Kostya Serebryany
35fb1167b0
[asan] run-time tests for adaptive redzones
...
llvm-svn: 173336
2013-01-24 10:36:11 +00:00
Alexander Potapenko
56a3724cf1
[ASan] fix compilation on Mac by adding a missing pwrite parameter.
...
llvm-svn: 173333
2013-01-24 09:15:08 +00:00
Dmitry Vyukov
6e406cda4b
tsan: implement malloc stats querying
...
llvm-svn: 173332
2013-01-24 09:08:03 +00:00
Dmitry Vyukov
0ced85a8c7
asan/tsan: fix pwrite interceptors
...
llvm-svn: 173328
2013-01-24 07:44:21 +00:00
Dmitry Vyukov
e9a44974d4
tsan: also test asan during presubmit checks, because sanitizer_common changes can affect it
...
llvm-svn: 173327
2013-01-24 07:43:55 +00:00
Evgeniy Stepanov
d1bfdc32b2
[msan] Allow waitpid while in __msan_init().
...
This is used in symbolizer init.
llvm-svn: 173263
2013-01-23 14:22:05 +00:00
Kostya Serebryany
7206a145dd
[sanitizer] increase the minimal mmap size in allocator to 2^16; fix the asan Mac build
...
llvm-svn: 173261
2013-01-23 14:07:17 +00:00
Kostya Serebryany
8f267137c2
[asan] initialize kHighMemEnd at startup (instead of at compile time) to simplify further changes for various address space layouts. Fix asan_allocator2 for PowerPC (tested on 44-bit address space)
...
llvm-svn: 173260
2013-01-23 13:27:43 +00:00
Dmitry Vyukov
228921d71e
tsan: add stubs for malloc introspection (similar to what we have in asan)
...
llvm-svn: 173255
2013-01-23 12:08:03 +00:00
Dmitry Vyukov
5787924e85
tsan: add missing interceptors
...
llvm-svn: 173253
2013-01-23 11:52:19 +00:00
Kostya Serebryany
7d2e4c0389
[asan] simplify the code that poisons global redzones, add some more tests
...
llvm-svn: 173251
2013-01-23 11:14:21 +00:00
Evgeniy Stepanov
ffffbefa43
[msan] gethostbyname interceptor.
...
llvm-svn: 173249
2013-01-23 10:43:38 +00:00
Evgeniy Stepanov
fdf3fa69c2
[msan] Remove the trap handler code.
...
llvm-svn: 173161
2013-01-22 14:29:15 +00:00
Evgeniy Stepanov
03ee782bee
[msan] Follow -msan-keep-going in reports from interceptors.
...
llvm-svn: 173158
2013-01-22 13:35:45 +00:00
Evgeniy Stepanov
8fdf7d0586
[msan] Fix linkage type of __msan_track_origins.
...
llvm-svn: 173157
2013-01-22 13:34:57 +00:00
Evgeniy Stepanov
f9a7aba34a
[msan] Simplify test code.
...
llvm-svn: 173155
2013-01-22 12:33:11 +00:00
Evgeniy Stepanov
2b65c0d1cf
[msan] Test handling of volatile bitfields.
...
llvm-svn: 173154
2013-01-22 12:31:39 +00:00
Evgeniy Stepanov
ef68259d26
[msan] Stop using volatile assignments as undef checks in MSan tests.
...
A runtime call is used instead.
MSan will stop adding shadow checks on volatile stores soon.
llvm-svn: 173152
2013-01-22 12:29:00 +00:00
Alexander Potapenko
81f0b331dc
[ASan] Disable the new/delete implementations for OSX
...
See https://code.google.com/p/address-sanitizer/issues/detail?id=131
llvm-svn: 173149
2013-01-22 11:39:28 +00:00
Alexey Samsonov
1e63b08575
ASan: add output test for -fsanitize-address-zero-based-shadow option on Linux
...
llvm-svn: 173146
2013-01-22 10:45:20 +00:00
Alexander Potapenko
dc00c44d46
[ASan] Remove the declarations of pthread_workqueue_t and pthread_workitem_handle_t, which are used no more.
...
Kudos to Jeremy Huddleston Sequoia <jeremyhu@apple.com>
llvm-svn: 173143
2013-01-22 10:32:06 +00:00
Alexey Samsonov
d7b901d581
ASan: use Clang -fsanitize-blacklist flag in unit tests (instead of -mllvm)
...
llvm-svn: 173142
2013-01-22 10:30:17 +00:00
Alexander Potapenko
0c92557fcb
[ASan] Fix the path to ASan interface in interface_symbols_linux.c
...
llvm-svn: 173140
2013-01-22 10:13:37 +00:00
Alexander Potapenko
5ef0f677ae
[ASan] Moved interface_symbols.c to lit_tests/Linux.
...
We already have Darwin-specific version of this test.
llvm-svn: 173136
2013-01-22 09:22:10 +00:00
Alexander Potapenko
cae42d23a6
[ASan] Use dylib interposition to hook memory allocation in the dynamic runtime.
...
This CL drastically simplifies the way we're hooking the memory allocation routines in ASan on Mac by using dylib interposition to replace the main malloc_zone_* functions. This allows us to avoid replacing the default CFAllocator and drop the CF dependency at all.
Committing this patch will result in the static runtime being broken. A follow-up CL will switch ASan to use the dynamic runtime library.
llvm-svn: 173134
2013-01-22 09:14:54 +00:00
Alexey Samsonov
a168f30073
ASan: simplify build rules for unit tests
...
llvm-svn: 173133
2013-01-22 07:31:28 +00:00
Alexey Samsonov
2f20275730
ASan: disable flexible mapping and offset on Android. It doesn't work for dynamic ASan runtime there
...
llvm-svn: 173132
2013-01-22 07:21:24 +00:00
Kostya Serebryany
56fc958506
[asan] split asan_test.cc even more
...
llvm-svn: 173131
2013-01-22 07:01:47 +00:00
Kostya Serebryany
81e916893d
[asan] split asan_test.cc more
...
llvm-svn: 173130
2013-01-22 06:50:42 +00:00
Kostya Serebryany
4184b64094
[asan] split asan_test.cc to speedup parallel build (most important if building with a debug clang, which takes a couple of minutes on this large file with templates). More splits to follow
...
llvm-svn: 173129
2013-01-22 06:39:20 +00:00
Kostya Serebryany
031b69d8df
[asan] fix linux build
...
llvm-svn: 173049
2013-01-21 15:04:36 +00:00
Alexander Potapenko
c21aa5cb39
[ASan] Move Mac-specific tests to asan_mac_test.cc
...
llvm-svn: 173048
2013-01-21 14:49:55 +00:00
Alexey Samsonov
b670018c9f
CMake: generalize checking for target availability and add initial support for PowerPC native arch. With this patch, building LLVM on PowerPC native arch produces a working ASan runtime.
...
llvm-svn: 173044
2013-01-21 14:31:45 +00:00
Evgeniy Stepanov
5f37c82154
[sanitizer] Disable scanf interceptor on windows.
...
llvm-svn: 173037
2013-01-21 13:30:08 +00:00
Alexey Samsonov
362286f34c
Fixup for r173021: build tests with zero-based shadow on Android only, fix condition in checking for shadow gap in asan_mapping.h
...
llvm-svn: 173026
2013-01-21 11:36:38 +00:00
Evgeniy Stepanov
5e7936f646
[sanitizer] Define va_copy on win32.
...
llvm-svn: 173025
2013-01-21 11:32:50 +00:00
Kostya Serebryany
9b46312c87
[tsan] fix thread_name.cc test to work with older versions of libc
...
llvm-svn: 173023
2013-01-21 11:20:49 +00:00
Alexey Samsonov
6ad1d7809d
ASan: build unit tests with -fsanitize-address-zero-base-shadow on Linux and Android
...
llvm-svn: 173021
2013-01-21 10:51:18 +00:00
Evgeniy Stepanov
f940b2e381
[asan] Move *scanf declarations out of mac-only section.
...
llvm-svn: 173020
2013-01-21 10:33:14 +00:00
Alexey Samsonov
a58bcf70a1
ASan: use dynamic lookup when building dynamic ASan runtime on Mac, because shadow mapping and offset are defined in the instrumented modules instead of runtime
...
llvm-svn: 173015
2013-01-21 09:07:01 +00:00
Alexey Samsonov
b52d1a56f0
ASan: build runtime library with ASAN_FLEXIBLE_MAPPING_AND_OFFSET=1 as shadow mapping/offset are always emitted by the LLVM backend now
...
llvm-svn: 173013
2013-01-21 08:24:19 +00:00
Alexey Samsonov
b399118cad
CMake: add functions creating universal runtime libraries for several architectures on OS X and use them in ASan and UBSan build rules
...
llvm-svn: 173011
2013-01-21 08:12:20 +00:00
Alexey Samsonov
4e50333684
CMake: Add add_compiler_rt_osx_object_library to create universal libraries on Mac
...
llvm-svn: 172979
2013-01-20 14:36:12 +00:00
Alexey Samsonov
d0522c73b5
CMake: use add_compiler_rt_static_runtime to build TSan and MSan runtimes. No functionality change.
...
llvm-svn: 172978
2013-01-20 14:14:13 +00:00
Alexey Samsonov
8c2cd862b6
CMake: Add add_compiler_rt_static_runtime function and use it to build generic compiler-rt libraries
...
llvm-svn: 172977
2013-01-20 13:58:10 +00:00
Alexey Samsonov
3292fde911
Temporary disable test added in r172828 as it seems to be flaky on the buildbots
...
llvm-svn: 172976
2013-01-20 13:41:26 +00:00
Alexey Samsonov
2d04812a45
Fixup for r172828: use InternalScopedBuffer in favor of large stack buffers
...
llvm-svn: 172975
2013-01-20 13:22:06 +00:00
Alexey Samsonov
67c8e14760
Fix a typo from r172289
...
llvm-svn: 172830
2013-01-18 17:03:47 +00:00
Alexey Samsonov
b068483d4d
CMake: Generalize build rules for different arches for sanitizer_common, asan, ubsan
...
llvm-svn: 172829
2013-01-18 16:51:07 +00:00
Alexander Potapenko
b4ba995366
[ASan] Fix the log_path option to use different log files for parent and child processes after fork().
...
llvm-svn: 172828
2013-01-18 16:44:27 +00:00
Evgeniy Stepanov
8a3666f63c
[sanitizer] Workaround broken mktemp on certain platforms.
...
llvm-svn: 172827
2013-01-18 16:24:50 +00:00
Alexey Samsonov
163ab9d0a5
CMake: create AddCompilerRT module and implement convenience add_compiler_rt_object_library function
...
llvm-svn: 172826
2013-01-18 16:05:21 +00:00
Evgeniy Stepanov
c8cde8d736
[sanitizer] Enable cpplint for .inc files.
...
llvm-svn: 172825
2013-01-18 15:53:43 +00:00
Evgeniy Stepanov
01671c33ff
[sanitizer] lint
...
llvm-svn: 172817
2013-01-18 13:12:56 +00:00
Kostya Serebryany
84c7e47b5c
[asan] kill some dead code
...
llvm-svn: 172815
2013-01-18 13:01:44 +00:00
Evgeniy Stepanov
a6c4a387ee
[sanitizer] Rename 2 files *.h->*.inc as appropriate.
...
Also add a missing include.
llvm-svn: 172814
2013-01-18 13:01:18 +00:00
Alexey Samsonov
193b45f4fe
CMake variables renaming: X86_64->x86_64 I386->i386
...
llvm-svn: 172812
2013-01-18 12:45:44 +00:00
Evgeniy Stepanov
518a135ffe
[sanitizer] Remove an unused variable.
...
llvm-svn: 172811
2013-01-18 12:32:02 +00:00
Alexander Potapenko
a6d40f638e
[ASan] Fix compilation on Mac.
...
llvm-svn: 172810
2013-01-18 12:31:16 +00:00
Evgeniy Stepanov
91181eaa59
[sanitizer] Fix Mac build.
...
llvm-svn: 172809
2013-01-18 11:38:23 +00:00
Kostya Serebryany
63c36bbe5e
[asan] fix two off-by-one errors that seem to affect only PowerPC because only there the stack top may be equal to the address space top. Noted by Andreas Schwab in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55975#c11 . Also make swapcontext interceptor a bit more robust
...
llvm-svn: 172807
2013-01-18 11:30:36 +00:00
Evgeniy Stepanov
222076e972
[sanitizer] Common *scanf interceptors.
...
llvm-svn: 172805
2013-01-18 11:17:23 +00:00
Alexander Potapenko
51794a390f
Remove references to pthread_workqueue_additem_np(), which isn't in the official libdispatch API.
...
llvm-svn: 172802
2013-01-18 10:27:31 +00:00
Alexey Samsonov
9585613334
[ASan] fixes for Android build
...
llvm-svn: 172800
2013-01-18 09:20:06 +00:00
Kostya Serebryany
69fe0ba415
[sanitizer] reapply r172719, r172721-172723, r172725, and also fix the warning on Mac.
...
llvm-svn: 172791
2013-01-18 06:43:13 +00:00
Jakob Stoklund Olesen
7956e0094d
Revert r172719, r172721-172723, and r172725.
...
The r172719 patch broke the build on Mac, the others depended on it.
compiler-rt/lib/asan/asan_interceptors.cc:78:13: error: unused function
'SetThreadName' [-Werror,-Wunused-function]
static void SetThreadName(const char *name) {
Orignal headlines:
[asan] attempting to fix the Mac build
[asan] restructure read/pread/pread64 tests
[sanitizer] move write/pwrite/pwrite64 interceptors to common
[msan] start using common interceptors in msan
[tsan] move prctl interceptor from asan to common_interceptors thus enabling it for tsan too
llvm-svn: 172763
2013-01-17 22:51:56 +00:00
Peter Collingbourne
6600516a58
Have ReExec read environment from /proc/self/environ
...
It is possible for ReExec to be called before the C standard library
has initialised itself sufficiently for execv to work properly.
Fix this by parsing the environment ourselves and using execve.
Differential Revision: http://llvm-reviews.chandlerc.com/D304
llvm-svn: 172748
2013-01-17 19:50:42 +00:00
Will Dietz
149d952e86
[ubsan] Add SANITIZER_INTERFACE_ATTRIBUTE to __ubsan_vptr_type_cache
...
Missed this one previously.
llvm-svn: 172730
2013-01-17 17:14:12 +00:00
Alexey Samsonov
4f1885a109
[ASan] minor changes to swapcontext handling: don't clear shadow memory if context stack is too large
...
llvm-svn: 172727
2013-01-17 15:45:28 +00:00
Alexey Samsonov
708442294e
ASan: Allow __asan_get_allocated_size(malloc(0)) to be 0 or 1
...
llvm-svn: 172726
2013-01-17 15:26:47 +00:00
Kostya Serebryany
87eb229241
[asan] attempting to fix the Mac build
...
llvm-svn: 172725
2013-01-17 15:14:20 +00:00
Kostya Serebryany
709d0dac81
[asan] restructure read/pread/pread64 tests
...
llvm-svn: 172723
2013-01-17 14:58:29 +00:00
Kostya Serebryany
5cdd91fc43
[sanitizer] move write/pwrite/pwrite64 interceptors to common
...
llvm-svn: 172722
2013-01-17 14:48:03 +00:00
Kostya Serebryany
b114d01849
[msan] start using common interceptors in msan
...
llvm-svn: 172721
2013-01-17 13:57:07 +00:00
Evgeniy Stepanov
e3a325197a
[msan] More interceptors.
...
strtod and friends, dladdr, getrusage
llvm-svn: 172720
2013-01-17 13:42:17 +00:00
Kostya Serebryany
f7f5566055
[tsan] move prctl interceptor from asan to common_interceptors thus enabling it for tsan too
...
llvm-svn: 172719
2013-01-17 13:38:16 +00:00
Alexey Samsonov
769af07372
[ASan] fix __asan_get_ownership(p) and __asan_get_allocated_size(p) for the p = malloc(0)
...
llvm-svn: 172717
2013-01-17 13:25:17 +00:00
Kostya Serebryany
125e26d49b
[tsan] add write_range/read_range hooks to common interceptors called from tsan (to find races on read/pread/etc)
...
llvm-svn: 172714
2013-01-17 13:18:40 +00:00
Kostya Serebryany
93ebdb5d64
[sanitizer] a bit more unification for interceptors (merge read/pread/pread64 in asan and tsan)
...
llvm-svn: 172713
2013-01-17 13:09:00 +00:00
Dmitry Vyukov
59e5d358db
tsan: fix a bug
...
llvm-svn: 172712
2013-01-17 12:59:10 +00:00
Dmitry Vyukov
e528f67c14
tsan: fix a bug
...
llvm-svn: 172710
2013-01-17 12:13:03 +00:00
Dmitry Vyukov
7f4603200f
asan: fix ARM build
...
llvm-svn: 172613
2013-01-16 14:35:13 +00:00
Kostya Serebryany
b7062cec53
[asan] asan_allocator2: fix the memalign handling (clear the first word of allocated chunk in case there is an old memalign magic)
...
llvm-svn: 172603
2013-01-16 09:12:14 +00:00
Kostya Serebryany
d8b1f78296
[asan] enable asan_allocator2 by default on Linux. Will enable it on other platforms and remove the old one later, after additional testing. The new allocator is much faster and uses less memory
...
llvm-svn: 172531
2013-01-15 13:57:39 +00:00
Dmitry Vyukov
9ab63f68fc
asan: fix standalone malloc implementation
...
llvm-svn: 172529
2013-01-15 12:57:02 +00:00
Dmitry Vyukov
0d46b2b95e
asan: fix the constant for new allocator cache
...
llvm-svn: 172526
2013-01-15 10:45:18 +00:00
Kostya Serebryany
c4bb752e3b
[sanitizer] hide PR_SET_NAME under an ifdef (for older kernels)
...
llvm-svn: 172523
2013-01-15 09:03:23 +00:00
Dmitry Vyukov
2854326db6
asan: correct non-temporal prefetch for memory allocator
...
llvm-svn: 172522
2013-01-15 09:03:20 +00:00
Dmitry Vyukov
45a698eb58
asan: faster thead-local cache for memory allocator
...
llvm-svn: 172521
2013-01-15 09:02:20 +00:00
Dmitry Vyukov
1f48c1a9a1
asan: fix lint warnings
...
llvm-svn: 172520
2013-01-15 08:51:10 +00:00
Dmitry Vyukov
74764617d7
asan: fix bugs in the testlib
...
llvm-svn: 172519
2013-01-15 08:33:41 +00:00
Dmitry Vyukov
1e4b54d196
asan: rename the file (it's not 64-bit specific anymore)
...
llvm-svn: 172518
2013-01-15 08:04:27 +00:00
Will Dietz
9d3209b5c7
[ubsan] Use __sanitizer::atomic_exchange(), prefer shared impl.
...
Specify weaker memory order in case we optimize for it in the future,
presently still doing same __sync_lock_test_and_set() as before.
Change suggested by Alexey Samsonov, thanks!
llvm-svn: 172429
2013-01-14 16:13:52 +00:00
Evgeniy Stepanov
99d91289b6
Move large part of asan_test_utils.h to sanitizer_common.
...
Move my_rand() to the common header.
This lets us avoid the use of rand_r in sanitizer_common tests.
There is no rand_r on Android.
llvm-svn: 172421
2013-01-14 15:12:26 +00:00
Alexey Samsonov
4e958e5ddb
Fix-up copypasto from r172410
...
llvm-svn: 172419
2013-01-14 14:52:35 +00:00
Dmitry Vyukov
ff19809a3d
asan: fix windows build
...
llvm-svn: 172415
2013-01-14 14:28:06 +00:00
Evgeniy Stepanov
cfe3b3b956
Build rules for sanitizer_common tests on Android.
...
llvm-svn: 172410
2013-01-14 14:08:25 +00:00
Evgeniy Stepanov
e375a1f036
Remove thread-locals from sanitizer_common tests.
...
Not supported on Android.
llvm-svn: 172408
2013-01-14 14:06:58 +00:00
Alexey Samsonov
66b35642d4
ASan: Disable alloc/dealloc mismatch test on Android. It's not supposed to work there
...
llvm-svn: 172398
2013-01-14 11:07:59 +00:00
Kostya Serebryany
b05fc3a493
[asan] use the slow CFI-based unwinder when reporting an error. Still use the fast unwinder for malloc/free. Linux-x86-only for now.
...
llvm-svn: 172397
2013-01-14 11:01:34 +00:00
Dmitry Vyukov
4ebb4e5565
asan/tsan: mmap shadow memory before allocating memory (otherwise other threads can access non yet allocated shadow)
...
llvm-svn: 172395
2013-01-14 10:49:11 +00:00
Alexey Samsonov
aaa50f06d4
ASan: Disable alloc/dealloc-mismatch checker on Mac for now (it produces weird false positives on googletest)
...
llvm-svn: 172394
2013-01-14 10:18:38 +00:00
Dmitry Vyukov
c1a1517a37
tsan: describe stack and TLS addresses
...
llvm-svn: 172393
2013-01-14 10:00:03 +00:00
Dmitry Vyukov
9de857a0be
asan: enable allocator version 1 by default
...
llvm-svn: 172392
2013-01-14 09:03:24 +00:00
Dmitry Vyukov
38092f628b
asan/tsan: fix memory allocator statistics
...
llvm-svn: 172390
2013-01-14 08:51:08 +00:00
Dmitry Vyukov
064c739cea
asan: fix Android build
...
llvm-svn: 172389
2013-01-14 08:48:26 +00:00
Dmitry Vyukov
795eb90db5
asan/tsan: faster memory allocator
...
1. Increase size classes from 32k to 128k
2. Use lock-free stack in central cache
3. Use blocking mutex when allocate new memory with mmap
llvm-svn: 172388
2013-01-14 08:23:34 +00:00
Dmitry Vyukov
8d15db4a1e
tsan: fix cmake warning (unused private field)
...
llvm-svn: 172387
2013-01-14 08:21:34 +00:00
Dmitry Vyukov
316faf78ee
tsan: add the FIXME
...
llvm-svn: 172386
2013-01-14 08:12:47 +00:00
Dmitry Vyukov
af4b0b084a
asan: fix compilation errors in mutex
...
llvm-svn: 172385
2013-01-14 08:01:58 +00:00
Kostya Serebryany
f55e719a13
[asan] add more frames to standalone_malloc_test
...
llvm-svn: 172383
2013-01-14 07:59:09 +00:00
Dmitry Vyukov
3d462f89de
asan: add missing file
...
llvm-svn: 172381
2013-01-14 07:52:01 +00:00
Dmitry Vyukov
f22982bf0a
asan/tsan: move blocking mutex from asan to sanitizer_common
...
llvm-svn: 172380
2013-01-14 07:51:39 +00:00
Tim Northover
754d1e4932
Implement __aeabi_lcmp and ulcmp
...
Patch contributed by Andrew Turner.
llvm-svn: 172366
2013-01-13 19:18:02 +00:00
Tim Northover
0d8c9ca7e6
Correct name of __aeabi_f2lz.
...
Patch contributed by Andrew Turner.
llvm-svn: 172365
2013-01-13 19:18:00 +00:00
Dmitry Vyukov
a40a805f30
asan: fix FIXME on windows
...
llvm-svn: 172226
2013-01-11 17:57:24 +00:00
Dmitry Vyukov
ecd73d36d4
asan/tsan: faster memory allocator
...
replace lists with arrays
llvm-svn: 172217
2013-01-11 16:41:19 +00:00
Dmitry Vyukov
86585ad319
asan: add memory prefetch to quarantine recycle
...
llvm-svn: 172216
2013-01-11 16:40:24 +00:00
Dmitry Vyukov
7c6c943782
asan: add memory prefetch to quarantine recycle
...
llvm-svn: 172215
2013-01-11 16:40:01 +00:00
Dmitry Vyukov
f3a7087194
asan: improve allocator benchmark
...
llvm-svn: 172213
2013-01-11 16:22:53 +00:00
Dmitry Vyukov
f5fa4c8a77
asan: weaken memory ordering, it's expensive in current implementation
...
llvm-svn: 172210
2013-01-11 16:02:31 +00:00
Dmitry Vyukov
83c4a77265
asan: improve the benchmark
...
llvm-svn: 172209
2013-01-11 15:57:19 +00:00
Dmitry Vyukov
af96edbad2
asan: fix format string in CHECK
...
llvm-svn: 172203
2013-01-11 15:07:49 +00:00
Dmitry Vyukov
edac64ad3f
asan: prevent inlining of cold function
...
llvm-svn: 172197
2013-01-11 11:39:59 +00:00
Kostya Serebryany
9a7e8ddb21
[asan] fid asan_allocator2 build
...
llvm-svn: 172194
2013-01-11 11:27:42 +00:00
Dmitry Vyukov
008dba6aa0
asan: always pass allocator cache to Allocate()
...
llvm-svn: 172193
2013-01-11 11:15:48 +00:00
Dmitry Vyukov
b1c0dbe2c6
asan: faster quarantine
...
llvm-svn: 172192
2013-01-11 11:03:35 +00:00
Dmitry Vyukov
89698ecf8a
tsan: fix compiler warning
...
llvm-svn: 172191
2013-01-11 11:02:40 +00:00
Dmitry Vyukov
c14bb685a1
asan/tsan: fix bug in list implementation
...
llvm-svn: 172187
2013-01-11 10:15:13 +00:00
Dmitry Vyukov
0b7bce5ecf
asan: set ASAN_ALLOCATOR_VERSION=1 back
...
llvm-svn: 172184
2013-01-11 08:08:31 +00:00
Dmitry Vyukov
db0cf871d4
asan: Refactor asan memory quarantine.
...
llvm-svn: 172183
2013-01-11 08:07:43 +00:00
Dmitry Vyukov
5cb6c62641
tsan: symbolize global variables
...
llvm-svn: 172181
2013-01-11 07:23:51 +00:00
Richard Smith
ffbe87eba2
UBSan: use %p not 0x%zx when printing pointers.
...
llvm-svn: 172129
2013-01-10 22:39:40 +00:00
Will Dietz
ad5180d774
[ubsan] Move attribute specifier to fix build with gcc.
...
llvm-svn: 172078
2013-01-10 17:01:13 +00:00
Kostya Serebryany
fdcfbda750
[sanitizer] better statistics for the large allocator
...
llvm-svn: 172069
2013-01-10 13:38:38 +00:00
Kostya Serebryany
e1be48fe64
[sanitizer] fix the non-cmake build (2-nd attempt)
...
llvm-svn: 172068
2013-01-10 13:33:15 +00:00
Dmitry Vyukov
22c53df947
asan/tsan: fix comment
...
llvm-svn: 172064
2013-01-10 13:06:35 +00:00
Kostya Serebryany
1199dc0327
[sanitizer] fix the non-cmake build
...
llvm-svn: 172063
2013-01-10 13:05:16 +00:00
Kostya Serebryany
4f6e4ae44a
[sanitizer] add standalone_malloc_test
...
llvm-svn: 172061
2013-01-10 12:34:12 +00:00
Dmitry Vyukov
1bc29bd7bf
tsan: add check for invalid fd
...
llvm-svn: 172060
2013-01-10 12:28:58 +00:00
Kostya Serebryany
e54a9e6fbf
[asan] don't fail the test if prctl(PR_SET_NAME) is not supported
...
llvm-svn: 172059
2013-01-10 11:55:43 +00:00
Evgeniy Stepanov
9b52ce94db
[msan] Set program exit code in keep-going mode.
...
llvm-svn: 172057
2013-01-10 11:17:55 +00:00
Kostya Serebryany
8cc7b627b4
[asan] asan_allocator2: do less work under the quarantine lock; make the strcasecmp test more resistant to the contents of unaddressable memory
...
llvm-svn: 172048
2013-01-10 09:25:16 +00:00
Kostya Serebryany
4dd086841f
[asan] better protect the tests from memset/memcpy inlining, explicitly include unistd.h
...
llvm-svn: 172045
2013-01-10 06:38:43 +00:00
Will Dietz
e4b1d2e32c
[ubsan] Give entry methods default (not hidden) visibility.
...
Fixes using ubsan on shared libraries in linux, for example.
llvm-svn: 172041
2013-01-10 03:37:30 +00:00
Dmitry Vyukov
a626d03266
tsan: detect races on fd passed to epoll_ctl
...
llvm-svn: 171981
2013-01-09 17:31:27 +00:00
Kostya Serebryany
864ef315c0
[asan] make the slow unwinder a bit more robust. The unittests pass with fast_unwind_on_fatal=0, but I still observe some differences between the two unwinders
...
llvm-svn: 171973
2013-01-09 13:55:00 +00:00
Timur Iskhodzhanov
1d1f74cbf5
[ASan/Win] Satisfy lint
...
llvm-svn: 171970
2013-01-09 12:43:16 +00:00
Timur Iskhodzhanov
73e484aa8a
[ASan/Win] Unbreak the 32-bit RTL build
...
llvm-svn: 171968
2013-01-09 12:03:27 +00:00
Dmitry Vyukov
a681c01b69
tsan: fix crash when user defines own fopen/fileno
...
llvm-svn: 171967
2013-01-09 11:54:52 +00:00
Dmitry Vyukov
b4ede780b0
tsan: fix crash when user defines own fopen/fileno
...
llvm-svn: 171958
2013-01-09 08:22:06 +00:00
Will Dietz
b50565b21a
[ubsan] Drop use of __atomic_exchange_n for now to fix build for some.
...
Need a more reliable way to check for support of this intrinsic.
llvm-svn: 171955
2013-01-09 06:18:40 +00:00
Will Dietz
765c266892
[ubsan] Add deduplication functionality, always enabled.
...
llvm-svn: 171948
2013-01-09 03:40:03 +00:00
Will Dietz
2b40b7ef84
[ubsan] Check for appropriate types on compound assignment overflow diagnostics.
...
llvm-svn: 171802
2013-01-07 22:25:54 +00:00
Will Dietz
82f61bf4b6
[ubsan] Don't suggest casting to unsigned for unsigned unary minus overflow.
...
Fixed version of r171273.
llvm-svn: 171278
2012-12-31 06:36:44 +00:00
Chandler Carruth
5f8061bc36
Revert r171273 which doesn't actually compile.
...
Original commit message:
[ubsan] Don't suggest casting to unsigned for unsigned unary minus overflow.
llvm-svn: 171277
2012-12-31 06:16:47 +00:00
Will Dietz
d6cd3203f6
[ubsan] Don't suggest casting to unsigned for unsigned unary minus overflow.
...
llvm-svn: 171273
2012-12-31 02:20:55 +00:00
Will Dietz
2a5f569d88
[ubsan] Update test now that check recovery is default and has driver flag.
...
llvm-svn: 171265
2012-12-30 20:53:39 +00:00
Kostya Serebryany
9756e2e0b3
[asan] make LargeOOBInMemset test resistant to clever compiler optimizations
...
llvm-svn: 171223
2012-12-29 14:42:48 +00:00
Kostya Serebryany
b3d04ede8c
[asan] add a new interface function __asan_describe_address, useful for running asan-ified binary under a debugger (e.g. gdb)
...
llvm-svn: 171217
2012-12-29 10:18:31 +00:00
Kostya Serebryany
9479a85963
[asan] fix a build warning
...
llvm-svn: 171200
2012-12-28 15:55:43 +00:00
Kostya Serebryany
cb510e50e2
[asan] implement more strict checking for memset/etc parameters. Instead of checking the first and the last byte, we check the entire shadow region. This costs ~10 slowdown for the instrumented functions. Motivated by a nasty memset-buffer-overflow-by-140-bytes in chrome which was reported as a use-after-free or not at all
...
llvm-svn: 171198
2012-12-28 15:24:16 +00:00
Alexey Samsonov
1aa47efd2c
[ASan] use macro instead of raw __attribute__
...
llvm-svn: 171188
2012-12-28 11:22:23 +00:00
Alexey Samsonov
8474843e3b
[TSan] Blacklist test: Rename blacklisted function. Make this test work for custom TSan testing script.
...
llvm-svn: 171186
2012-12-28 10:06:26 +00:00
Alexey Samsonov
8c01e76d27
[TSan] Add lit test for -fsanitize-blacklist= flag
...
llvm-svn: 171185
2012-12-28 09:32:36 +00:00
Alexey Samsonov
f96bfd8849
Make ASan and TSan tests a bit less brittle with @LINE FileCheck macro
...
llvm-svn: 171181
2012-12-28 08:38:09 +00:00
Kostya Serebryany
4a42cf69a6
[sanitizer] add statistics to the allocator; fix lint
...
llvm-svn: 171161
2012-12-27 14:09:19 +00:00
Alexey Samsonov
c20f5d2246
Define COMPILER_RT_CAN_EXECUTE_TESTS variable on platforms where we can produce working binaries and use it in build rules for sanitizers tests
...
llvm-svn: 171160
2012-12-27 13:19:23 +00:00
Evgeniy Stepanov
8798729a22
[msan] Explicitly link unit tests with libstdc++.
...
llvm-svn: 171151
2012-12-27 08:44:19 +00:00
Kostya Serebryany
1302e8d6da
[asan] enable alloc_dealloc_mismatch by default
...
llvm-svn: 171147
2012-12-27 08:08:05 +00:00
Kostya Serebryany
4a0d946a43
[asan] relax asan/lit_tests/malloc_delete_mismatch.cc to make it pass on Mac 10.7 (where extra frames creep in between malloc and main)
...
llvm-svn: 171145
2012-12-27 07:40:24 +00:00
Kostya Serebryany
6f604b5007
[asan/tsan] when unmapping a chunk of user memory, apply madvise(MADV_DONTNEED) to the corresponding chunk of shadow memory. Also update sanitizer_allocator64_testlib.cc
...
llvm-svn: 171144
2012-12-27 07:37:24 +00:00
Alexey Samsonov
d66b12b701
[ASan] Teach ASan to print demangled function name when describing stack frame
...
llvm-svn: 171112
2012-12-26 14:44:46 +00:00
Kostya Serebryany
390cf94f88
[asan] asan_allocator2: do not align the requested size to the redzone size (saves a bit more memory)
...
llvm-svn: 171111
2012-12-26 12:20:35 +00:00
Kostya Serebryany
35cc75876a
[asan] asan_allocator2: implement adaptive redzones. Now with asan_allocator2 allocations <= 48 bytes have 16 byte redzone, allocations of 48-96 bytes -- have 32 bytes redzone, etc (max redzone is 2048). If ASAN_OPTIONS=redzone=n is set, it changes the minimal redzone size
...
llvm-svn: 171107
2012-12-26 10:41:24 +00:00
Evgeniy Stepanov
fee82c68ae
[msan] MSan, New Year Tree style.
...
llvm-svn: 171106
2012-12-26 10:16:45 +00:00
Evgeniy Stepanov
367dc64563
[msan] Refactor report printing.
...
llvm-svn: 171105
2012-12-26 09:32:05 +00:00
Alexey Samsonov
c914281341
[Sanitizer] attempt to fix InterlockedCompareExchangePointer intrinsic on MSVC
...
llvm-svn: 171104
2012-12-26 09:25:09 +00:00
Evgeniy Stepanov
794a73124b
[msan] Check for conflicting memory mappings.
...
Check for conflicting memory mappings before attempting to map shadow.
Helps avoid segfault on Linux with disabled ASLR.
llvm-svn: 171100
2012-12-26 06:37:23 +00:00
Kostya Serebryany
a11cd57a78
[asan] asan_allocator2: by default use the StackDepot to store the stack traces instead of storing them in the redzones
...
llvm-svn: 171099
2012-12-26 06:30:02 +00:00
Kostya Serebryany
27ad15e165
[asan] asan_allocator2: store the user requested size in just 32 bits (larger sizes use metadata). This allows to put one more 32-bit field into the chunk header
...
llvm-svn: 171089
2012-12-26 04:52:07 +00:00
Evgeniy Stepanov
84f46d9993
[msan] Improve recvfrom interceptor.
...
llvm-svn: 171071
2012-12-25 16:51:57 +00:00
Evgeniy Stepanov
a57662d7c4
Add MSan unit tests to check-msan and check-all.
...
llvm-svn: 171065
2012-12-25 13:10:15 +00:00
Evgeniy Stepanov
f45d92bb22
MemorySanitizer unit tests.
...
llvm-svn: 171062
2012-12-25 12:39:56 +00:00
Evgeniy Stepanov
6722716d78
[msan] Fix header comments.
...
llvm-svn: 171059
2012-12-25 11:53:51 +00:00