Alexey Samsonov
cf7d233ac0
[TSan] kill some linux-specific code in favor of code in common runtime: reuse wrappers for mmap routines, ProcessMaps iterator, thread stack calculation
...
llvm-svn: 158657
2012-06-18 09:42:39 +00:00
Alexey Samsonov
58a3c58ec9
[Sanitizer] move different wrappers from TSan to common sanitizer runtime
...
llvm-svn: 158655
2012-06-18 08:44:30 +00:00
Alexey Samsonov
25c40e5a5b
[Sanitizer] Fix type for placement new on 32-bit Mac
...
llvm-svn: 158524
2012-06-15 14:32:39 +00:00
Alexey Samsonov
0d76e8983f
[Sanitizer] Use ProcessMaps in symbolizer to get module name and offset for instruction address
...
llvm-svn: 158522
2012-06-15 14:00:25 +00:00
Alexey Samsonov
156958dd0c
[Sanitizer] move all the rest re-implementations of libc functions from ASan runtime to common sanitizer runtime
...
llvm-svn: 158519
2012-06-15 13:09:52 +00:00
Alexey Samsonov
3efd6fc26c
[Sanitizer] Use DEFINE_REAL macro in TSan runtime to call libc implementations of functions. Move strchr to sanitizer_libc.
...
llvm-svn: 158517
2012-06-15 12:24:07 +00:00
Bill Wendling
f11b42e396
Free the allocated filename. Found by clang static analyzer.
...
llvm-svn: 158514
2012-06-15 09:12:04 +00:00
Alexey Samsonov
8c4dcd72e3
[Sanitizer] Use mmaped buffer in DumpProcessMaps to avoid large stack frames
...
llvm-svn: 158502
2012-06-15 07:41:23 +00:00
Alexey Samsonov
1042454b66
[TSan] don't use too new __attribute__((unused)) for class member
...
llvm-svn: 158500
2012-06-15 07:33:49 +00:00
Alexey Samsonov
40e5128412
[Sanitizer] move ShadowRangeIsAvailable and several defines to common runtime
...
llvm-svn: 158499
2012-06-15 07:29:14 +00:00
Alexey Samsonov
e4a889866d
[Sanitizer] move atomic ops, min/max and sort to commnon runtime
...
llvm-svn: 158496
2012-06-15 07:00:31 +00:00
Alexey Samsonov
70afb91636
[Sanitizer] move more portability wrappers to common runtime: sleep, _exit, abort, atexit, pthread_self
...
llvm-svn: 158493
2012-06-15 06:37:34 +00:00
Alexey Samsonov
ae1e171b72
[Sanitizer] move DumpProcessMap and DisableCoreDumper to common runtime
...
llvm-svn: 158490
2012-06-15 06:08:19 +00:00
Dmitry Vyukov
ea03fc2d78
tsan: fix COMPAT mapping to not produce false reports
...
llvm-svn: 158473
2012-06-14 21:40:35 +00:00
Alexey Samsonov
c70d1086f6
[Sanitizer] move rest of mmap routines to common sanitizer runtime
...
llvm-svn: 158452
2012-06-14 14:42:58 +00:00
Alexey Samsonov
0c53a38abb
[Sanitizer] move portable GetEnv to common sanitizer runtime
...
llvm-svn: 158451
2012-06-14 14:07:21 +00:00
Alexey Samsonov
96ef49a71e
[Sanitizer] Move internal_memcmp to common sanitizer libc
...
llvm-svn: 158450
2012-06-14 14:04:54 +00:00
Alexey Samsonov
aac5d0c831
[Sanitizer] Workaround for -Wunused-private-field warning - add an attribute in TSan unit test, and silence this warning as gtest has unused fields.
...
llvm-svn: 158449
2012-06-14 14:02:32 +00:00
Alexey Samsonov
52f946611f
[ASan] don't include deleted header
...
llvm-svn: 158448
2012-06-14 13:15:45 +00:00
Alexey Samsonov
53daa28e77
[ASan] remove obsolete header asan_procmaps.h
...
llvm-svn: 158447
2012-06-14 12:51:20 +00:00
Alexander Potapenko
919b4bde28
Add test rdx, rdx to fix ASan tests on Mac OS 10.7 x64
...
llvm-svn: 158312
2012-06-11 15:38:07 +00:00
Alexey Samsonov
bb62f555f3
[Sanitizer] Use __libc_malloc/__libc_free instead of malloc/free inside internal allocator on Linux (important for TSan)
...
llvm-svn: 158261
2012-06-09 09:21:44 +00:00
Alexey Samsonov
f516d39c1f
[TSan] use efficient real_memcpy inside runtime
...
llvm-svn: 158260
2012-06-09 09:14:24 +00:00
Alexey Samsonov
59036d2c06
[Sanitizer] add internal_memset and internal_strrchr to sanitizer_common/
...
llvm-svn: 158202
2012-06-08 14:11:12 +00:00
Alexey Samsonov
99d58521c5
[ASan] allow calls to memmove during rtl initialization
...
llvm-svn: 158201
2012-06-08 14:04:04 +00:00
Alexey Samsonov
6cfc34ea7f
[TSan] s/internal_memset/real_memset
...
llvm-svn: 158200
2012-06-08 13:59:39 +00:00
Alexey Samsonov
f26b842ca8
[ASan] add interceptor for strncat
...
llvm-svn: 158198
2012-06-08 13:27:46 +00:00
Alexey Samsonov
91e1a7eb17
[Sanitizer] move internal_strdup and internal_memcpy to common runtime. Make internal allocations from TSan runtime call InternalAlloc from common runtime
...
llvm-svn: 158148
2012-06-07 11:54:08 +00:00
Alexey Samsonov
8b9aea522f
[Sanitizer] use unsigned int as a parameter for placement new on 32 bits
...
llvm-svn: 158147
2012-06-07 10:09:41 +00:00
Alexey Samsonov
8bd9098b32
[Sanitizer] move placement_new definiton from TSan to common runtime
...
llvm-svn: 158145
2012-06-07 09:50:16 +00:00
Alexey Samsonov
94e2b7d040
[Sanitizer] include stdlib.h header to get malloc/free
...
llvm-svn: 158144
2012-06-07 09:26:13 +00:00
Kostya Serebryany
0b14fd855b
[asan] slow 16-byte redzones (still experimental)
...
llvm-svn: 158143
2012-06-07 09:15:48 +00:00
Alexey Samsonov
3a6ddb86e8
[Sanitizer] Allocator for internal runtime purposes. Currently it calls libcmalloc, but we might have to make it more low-level in future
...
llvm-svn: 158142
2012-06-07 08:52:56 +00:00
Alexey Samsonov
cf4d3a027d
[Sanitizer] Fix mac build.
...
llvm-svn: 158141
2012-06-07 07:32:00 +00:00
Alexey Samsonov
4b1f1031e6
[Sanitizer] factor out GetThreadStackTopAndBottom from ASan runtime to common.
...
llvm-svn: 158140
2012-06-07 07:13:46 +00:00
Alexey Samsonov
28a9895ee0
[Sanitizer] __asan::AsanProcMaps -> __sanitizer::ProcessMaps.
...
llvm-svn: 158139
2012-06-07 06:15:12 +00:00
Alexey Samsonov
fe44fbd750
[Sanitizer] Move ReadFileToBuffer to sanitizer_common.
...
llvm-svn: 158138
2012-06-07 05:38:26 +00:00
Kostya Serebryany
112ac68d52
[asan] more compaction: don't use the next field while the chunk is in allocated state
...
llvm-svn: 158083
2012-06-06 16:58:21 +00:00
Kostya Serebryany
c0bbfbfba2
[asan] more allocator compaction
...
llvm-svn: 158082
2012-06-06 16:33:46 +00:00
Alexey Samsonov
40d5b772e5
[Sanitizer] Switch to common mmap/munmap routines in ASan run-time.
...
llvm-svn: 158078
2012-06-06 16:15:07 +00:00
Alexey Samsonov
e95e29c2ac
[Sanitizer] Make UNIMPLEMENTED macro common.
...
llvm-svn: 158077
2012-06-06 15:47:40 +00:00
Kostya Serebryany
00e22d2b2c
[asan] more compaction for allocator
...
llvm-svn: 158076
2012-06-06 15:30:55 +00:00
Alexey Samsonov
e428779dbf
[Sanitizer] Use common CHECK machinery. Currently each tool has to define its own CheckFailed function.
...
llvm-svn: 158075
2012-06-06 15:22:20 +00:00
Kostya Serebryany
79437fe376
[asan] make tid u32 instead of int
...
llvm-svn: 158074
2012-06-06 15:06:58 +00:00
Kostya Serebryany
53b74ac256
[asan] start compacting the allocator header, the goal is to make it 16 bytes w/o losing any information
...
llvm-svn: 158072
2012-06-06 14:46:38 +00:00
Kostya Serebryany
64166ca86b
[tsan,asan] comment out O_CLOEXEC as it causes build failures on old linux kernels
...
llvm-svn: 158071
2012-06-06 14:11:31 +00:00
Alexey Samsonov
d323f4e78e
[Sanitizer] Remove __attribute__((format))
...
llvm-svn: 158070
2012-06-06 13:58:39 +00:00
Alexey Samsonov
d44cb4cb8a
[ASan] match type of arguments to format string on Mac.
...
llvm-svn: 158068
2012-06-06 13:44:19 +00:00
Alexey Samsonov
8bafdd020e
[Sanitizer] fix Win build - ignore __attribute__((format)).
...
llvm-svn: 158067
2012-06-06 13:37:02 +00:00
Alexey Samsonov
51ae983718
[Sanitizer]: Introduce a common internal printf function. For now, also use tool-specific wrappers TsanPrintf (its output is controlled by TSan flags) and AsanPrintf (which copies its results to the ASan-private buffer). Supported formats: %[z]{d,u,x}, %s, %p. Re-write all format strings in TSan according to this format (this should have no effect on 64-bit platforms).
...
llvm-svn: 158065
2012-06-06 13:11:29 +00:00
Alexey Samsonov
cd96c44dce
[ASan] more format fixes
...
llvm-svn: 158060
2012-06-06 10:54:25 +00:00
Alexey Samsonov
461820ad67
[ASan] Make printf arguments match format strings better.
...
llvm-svn: 158059
2012-06-06 10:46:00 +00:00
Alexey Samsonov
ac4c290d02
[TSan] run some renaming as a preparation for factoring out Printf implementation.
...
llvm-svn: 158058
2012-06-06 10:13:27 +00:00
Alexey Samsonov
201aa367fc
[ASan] fix win build - add missing header
...
llvm-svn: 158057
2012-06-06 09:43:32 +00:00
Alexey Samsonov
ee07290628
[Sanitizer] Move more functions/constants to sanitizer_common.
...
llvm-svn: 158056
2012-06-06 09:26:25 +00:00
Alexey Samsonov
ca2b5d7abb
[Sanitizer] move internal_filesize and internal_dup2 from TSan to sanitizer_common.
...
llvm-svn: 158052
2012-06-06 07:30:33 +00:00
Alexey Samsonov
c4b201308b
[ASan] Use __sanitizer::Die() in ASan runtime.
...
llvm-svn: 158051
2012-06-06 07:02:44 +00:00
Alexey Samsonov
bc3a7e3fe2
[Sanitizer] add sanitizer_common.h for routines shared between TSan and ASan runtimes. Use __sanitizer::Die() in TSan.
...
llvm-svn: 158050
2012-06-06 06:47:26 +00:00
Alexey Samsonov
7fca5ccdae
[ASan] fix GetFreeBytesTest interface test on 32-bit Linux - delete some assumptions about the behavior of allocator in test code
...
llvm-svn: 158047
2012-06-06 06:02:05 +00:00
Alexey Samsonov
5bbf8290a7
[Sanitizer] rename sanitizer_defs.h to sanitizer_internal_defs.h
...
llvm-svn: 158001
2012-06-05 14:25:27 +00:00
Alexey Samsonov
3768b58f82
[Sanitizer] fix compilation on Mac OS 10.6 - don't use O_CLOEXEC
...
llvm-svn: 158000
2012-06-05 14:07:11 +00:00
Alexey Samsonov
8602c65719
[Sanitizer] remove using namespace __sanitizer lines
...
llvm-svn: 157999
2012-06-05 14:05:09 +00:00
Alexey Samsonov
ef2e2cfd33
[Sanitizer] Use common defines for ASan and TSan runtime. Split defines between interface defines (can be visible in user code that includes interface ASan/TSan headers) and internal defines.
...
llvm-svn: 157998
2012-06-05 13:50:57 +00:00
Kostya Serebryany
03cd639b56
[asan] change the order of tests in the asan_test binary. Makes the test runs 2x faster due to DEATH_TEST overhead (see asan issue 77)
...
llvm-svn: 157997
2012-06-05 13:48:15 +00:00
Alexey Samsonov
cc88531760
[TSan] Use internal_munmap from sanitizer_libc in TSan runtime.
...
llvm-svn: 157995
2012-06-05 09:55:24 +00:00
Alexey Samsonov
7ac77d6b29
[Sanitizer] add sanitizer_posix.cc. Move more various functions into sanitizer_libc: sscanf, munmap, memchr
...
llvm-svn: 157994
2012-06-05 09:49:25 +00:00
Alexey Samsonov
9354688dc5
[ASan] s/size_t/uptr in asan_mac.cc
...
llvm-svn: 157993
2012-06-05 09:13:33 +00:00
Alexey Samsonov
b8f35d9512
[TSan] make TSan runtime use internal_{close,read,write} from sanitizer_libc
...
llvm-svn: 157992
2012-06-05 09:00:36 +00:00
Alexey Samsonov
1b12eda7ec
[ASan] use internal_{close,read,write} in ASan runtime.
...
llvm-svn: 157991
2012-06-05 08:48:10 +00:00
Alexey Samsonov
03c8b846c4
[Sanitizer] add internal_{close,read,write} functions to sanitizer_libc
...
llvm-svn: 157990
2012-06-05 08:32:53 +00:00
Alexey Samsonov
298dd7c361
[TSan] use __sanitizer::internal_open in TSan run-time
...
llvm-svn: 157988
2012-06-05 07:46:31 +00:00
Alexey Samsonov
f5e2dc3c3d
[ASan] use internal_open from sanitizer_libc in ASan runtime
...
llvm-svn: 157986
2012-06-05 07:25:47 +00:00
Alexey Samsonov
dde1f11fe6
[Sanitizer] Add sanitizer_win.cc for windows-specific implementations of libc functions. Add internal_open.
...
llvm-svn: 157985
2012-06-05 07:05:10 +00:00
Alexey Samsonov
11fff6df33
[TSan] use __sanitizer::internal_mmap in TSan run-time
...
llvm-svn: 157984
2012-06-05 06:19:00 +00:00
Alexey Samsonov
9ab24cc3f5
[ASan] Fix a typo in Makefile.old
...
llvm-svn: 157982
2012-06-05 05:20:33 +00:00
Alexey Samsonov
b6e4f3690b
[Sanitizer] Enable lint for sanitizer_common/
...
llvm-svn: 157931
2012-06-04 14:35:09 +00:00
Alexey Samsonov
2c5fc3bb11
Created files sanitizer_linux.cc and sanitizer_mac.cc for platform-specific implementations of common functions. Turned asan_mmap into __sanitizer::internal_mmap.
...
llvm-svn: 157930
2012-06-04 14:27:50 +00:00
Alexey Samsonov
3b2f9f4c98
Remove file-type tags in .cc files in tsan/ and sanitizer_common/
...
llvm-svn: 157928
2012-06-04 13:55:19 +00:00
Alexey Samsonov
485d3dc363
Remove file-type tags for .cc files in ASan run-time library
...
llvm-svn: 157927
2012-06-04 13:50:10 +00:00
Alexey Samsonov
90f9630c80
[Sanitizer]: move internal_strcmp to sanitizer_common
...
llvm-svn: 157926
2012-06-04 13:27:49 +00:00
Alexey Samsonov
4ecc8f43c7
[ASan] Use ASan option symbolize to turn on internal symbolizer (in development)
...
llvm-svn: 157924
2012-06-04 11:20:17 +00:00
Alexey Samsonov
06f2cd38c1
[Sanitizer] Move internal_strncpy to sanitizer_libc (and make its behavior conforming to manual)
...
llvm-svn: 157922
2012-06-04 10:30:16 +00:00
Alexey Samsonov
c1971ca12f
[Sanitizer_common] fix filenames in comments
...
llvm-svn: 157919
2012-06-04 09:33:06 +00:00
Alexey Samsonov
cad2e4e6c2
temporary include stdlib.h in symbolizer to fix Mac/Win build
...
llvm-svn: 157808
2012-06-01 07:41:47 +00:00
Kostya Serebryany
02845c1dd4
[asan] fix gcc build
...
llvm-svn: 157807
2012-06-01 07:41:04 +00:00
Alexey Samsonov
6f596767c3
Stub files for common symbolizer for AddressSanitizer and ThreadSanitizer tools.
...
It is an analogue of addr2line utility and should allow to map instruction address to a location
in source code at run-time. It should use debug information (in DWARF) in a binary, and hopefully
it would be possible to re-use code from llvm/DebugInfo/DIContext.h
llvm-svn: 157806
2012-06-01 06:11:13 +00:00
Dmitry Vyukov
95a5c5ca4c
tsan: intercept longjmp() but die in it, greatly simplifies problem diagnostic
...
llvm-svn: 157760
2012-05-31 18:03:59 +00:00
Kostya Serebryany
8a66b71c8f
[asan] partial fix for windows build
...
llvm-svn: 157750
2012-05-31 16:06:05 +00:00
Kostya Serebryany
f8c5a5bcbc
[asan] partial fix for windows build
...
llvm-svn: 157748
2012-05-31 15:44:05 +00:00
Kostya Serebryany
1d35d155fd
[asan] more renaming
...
llvm-svn: 157747
2012-05-31 15:02:07 +00:00
Kostya Serebryany
8d03204204
[asan] more renaming
...
llvm-svn: 157746
2012-05-31 14:35:53 +00:00
Dmitry Vyukov
6f448700e4
tsan: fix a typo
...
llvm-svn: 157744
2012-05-31 14:24:10 +00:00
Kostya Serebryany
1b71207f48
[asan,tsan] introduce sanitizer_common/sanitizer_defs.h and perform some renaming in asan rt. More to come.
...
llvm-svn: 157743
2012-05-31 14:11:07 +00:00
Alexander Potapenko
a39c2fec46
Fix the wildcards for two output tests on Darwin.
...
It turns out that atos does not print the symbol names for static C++ functions correctly (one of the two leading underscores is omitted), so they remain mangled.
llvm-svn: 157742
2012-05-31 13:55:40 +00:00
Kostya Serebryany
c5bea20e2e
[asan,tsan] rename files in sanitizer_common to have a common prefix (sanitizer_).
...
llvm-svn: 157740
2012-05-31 13:42:53 +00:00
Dmitry Vyukov
d6ffccd1da
tsan: suppress reports against source file names as well
...
llvm-svn: 157739
2012-05-31 13:18:11 +00:00
Alexander Potapenko
bb50e7f08c
Be more verbose when installing the signals.
...
llvm-svn: 157693
2012-05-30 15:29:11 +00:00
Alexander Potapenko
6e216bea86
Fix a bug in parsing boolean flags: we used to take the first char of the key=value string
...
instead of the first character of the value.
llvm-svn: 157692
2012-05-30 15:28:45 +00:00
Alexander Potapenko
93b2c7d516
Be less verbose when parsing the default options.
...
llvm-svn: 157691
2012-05-30 14:12:20 +00:00
Dmitry Vyukov
92d917d91c
tsan: prevent recursive signal handlers
...
llvm-svn: 157625
2012-05-29 15:51:27 +00:00
Kostya Serebryany
458b4006b2
[asan,tsan] Add a new directory compiler-rt/lib/sanitizer_common
...
which will contain code shared between asan and tsan run-times.
Naming is hard. If you can suggest a better name for the directory -- speak up.
llvm-svn: 157611
2012-05-29 12:18:18 +00:00
Alexey Samsonov
1cbe656d66
Fixing ASan build on Win: don't use __asan_default_options
...
llvm-svn: 157608
2012-05-29 09:39:01 +00:00
Alexander Potapenko
d07b7b529a
Do not define ___asan_default_options on Windows.
...
llvm-svn: 157603
2012-05-29 08:26:18 +00:00
Dmitry Vyukov
9bf897e696
tsan: fix compiler warnings
...
llvm-svn: 157585
2012-05-28 17:33:08 +00:00
Dmitry Vyukov
880bb6697f
tsan: fix race during pthread_join/detach
...
llvm-svn: 157584
2012-05-28 17:32:50 +00:00
Alexander Potapenko
0efd915d92
Rework the flags machinery a bit.
...
Clients may define the __asan_default_options char string containing the default options for the tool now.
llvm-svn: 157582
2012-05-28 16:21:19 +00:00
Alexander Potapenko
db892de581
More verbose check in AppendString.
...
llvm-svn: 157580
2012-05-28 15:00:45 +00:00
Dmitry Vyukov
e1bbb2f34a
tsan: pass CFLAGS to tests
...
llvm-svn: 157579
2012-05-28 14:15:39 +00:00
Dmitry Vyukov
ed5bc02740
tsan: be more conservative wrt symbolizer output
...
llvm-svn: 157578
2012-05-28 14:14:53 +00:00
Bill Wendling
aa888a29eb
Add support for the GCOV_PREFIX_STRIP env variable which tries to strip off the first 'n' directories from the filename.
...
llvm-svn: 157574
2012-05-28 10:09:01 +00:00
Bill Wendling
65adec933d
Simplify the logic that tries to open the GCDA file at all costs. Basically, if
...
we can't open the file even after creating all of the directories to it, then
just give up.
llvm-svn: 157572
2012-05-28 09:46:43 +00:00
Bill Wendling
bba2a7d46d
* A bit of cleanup of the 'recursive_mkdir'. No functionality change.
...
* Check for absolute paths before using the GCOV_PREFIX.
* Don't add an ending path separator if there's already one.
llvm-svn: 157571
2012-05-28 09:41:48 +00:00
Dmitry Vyukov
d558530754
tsan: increase /proc/self/maps max size (1M is far not enough)
...
llvm-svn: 157570
2012-05-28 09:24:01 +00:00
Dmitry Vyukov
bd310f02a5
asan/tsan: rename interceptors from __xsan_xxx to __interceptor_xxx
...
llvm-svn: 157569
2012-05-28 07:47:35 +00:00
Dmitry Vyukov
ebdf670ae7
tsan: more robust detection of stack of main thread
...
llvm-svn: 157568
2012-05-28 07:46:42 +00:00
Dmitry Vyukov
3de9ca068f
tsan: use DCHECK_GT/LT instead of plain DCHECK (better diagnostics)
...
llvm-svn: 157567
2012-05-28 07:45:35 +00:00
Dmitry Vyukov
2d4e3c140f
tsan: do not clean stack/tls for main thread
...
llvm-svn: 157566
2012-05-28 07:44:34 +00:00
Dmitry Vyukov
9b13e9f3b5
asan: remove static libraries on make clean
...
llvm-svn: 157565
2012-05-28 07:43:36 +00:00
Bill Wendling
f16084723c
Don't use 'strrchr', which isn't implemented here yet.
...
llvm-svn: 157560
2012-05-28 02:50:53 +00:00
Bill Wendling
74f987f3b6
Sync with old GCOV runtime library's file.
...
llvm-svn: 157559
2012-05-28 02:34:34 +00:00
Alexander Potapenko
4e424b85e3
Typo fix.
...
llvm-svn: 157477
2012-05-25 15:56:40 +00:00
Alexander Potapenko
85e93ef612
Factor ParseAsanOptions outside __asan_init
...
llvm-svn: 157473
2012-05-25 15:37:16 +00:00
Alexander Potapenko
442002568c
Introduce the check_malloc_usable_size flag (on by default).
...
When the flag is set to zero, we do not check for errors in malloc_usable_size.
This may be useful to work around a bug in Nvidia drivers prior to 295.*
llvm-svn: 157472
2012-05-25 15:20:13 +00:00
Dmitry Vyukov
7339eb197b
tsan: do not call into libc in symbolizer and in other code (this causes recursion and crashes)
...
llvm-svn: 157466
2012-05-25 11:15:04 +00:00
Dmitry Vyukov
e86497ee1c
tsan: output message about failure to intercept only if verbosity flag is passed
...
llvm-svn: 157465
2012-05-25 09:47:18 +00:00
Dmitry Vyukov
ff25cf5887
asan: fix tests
...
depending on -m32/-m64 addr2line says either e.g. __xsan_strnlen or just strnlen
llvm-svn: 157464
2012-05-25 09:46:33 +00:00
Meador Inge
6fef6e6466
Adding back a right parenthesis that was dropped in r157388.
...
llvm-svn: 157406
2012-05-24 18:16:39 +00:00
Dmitry Vyukov
d1b9521e48
tsan: compilation of tests with newest clang
...
llvm-svn: 157392
2012-05-24 14:55:12 +00:00
Dmitry Vyukov
30c32a8819
tsan: fix compilation with newest clang
...
llvm-svn: 157391
2012-05-24 14:50:33 +00:00
Dmitry Vyukov
7fb7330469
asan/tsan: weak interceptors
...
The idea isthat asan/tsan can survive if user intercepts the same functions. At the same time user has an ability to call back into asan/tsan runtime. See the following tests for examples:
asan/output_tests/interception_failure_test-linux.cc
asan/output_tests/interception_test-linux.cc
asan/output_tests/interception_malloc_test-linux.cc
llvm-svn: 157388
2012-05-24 13:54:31 +00:00
Dmitry Vyukov
65c21a5e6d
tsan: add a flag to control RunningOnValgrind() return value
...
llvm-svn: 157383
2012-05-24 09:24:45 +00:00
Evgeniy Stepanov
8152e22073
Move AsanShadowRangeIsAvailable() from mac to posix.
...
llvm-svn: 157326
2012-05-23 15:21:50 +00:00
Evgeniy Stepanov
8f247016bd
Use zero-based shadow by default on Android.
...
llvm-svn: 157318
2012-05-23 11:52:37 +00:00
Dmitry Vyukov
4a17675888
asan: fix typo in comment
...
llvm-svn: 157314
2012-05-23 06:14:21 +00:00
Dmitry Vyukov
302cebb8f1
tsan: add shadow memory flush + fix few bugs
...
llvm-svn: 157270
2012-05-22 18:07:45 +00:00
Dmitry Vyukov
011a363c85
tsan: fix sizeof sigset_t
...
llvm-svn: 157268
2012-05-22 18:01:33 +00:00
Dmitry Vyukov
4d30e9b5eb
tsan: fix makefile
...
allow to build custom configurations
llvm-svn: 157259
2012-05-22 16:46:05 +00:00
Dmitry Vyukov
f6985e3ab9
tsan: reduce per-thread memory usage
...
llvm-svn: 157252
2012-05-22 14:34:43 +00:00
Kostya Serebryany
5d03d45643
[asan] nuke some old unused code
...
llvm-svn: 157250
2012-05-22 13:31:35 +00:00
Kostya Serebryany
02d5ec5ecf
[asan] increase the stack size limit to 256M (yes, that happens); also CHECK that the stack size is less than that on a non-main thread
...
llvm-svn: 157249
2012-05-22 11:54:44 +00:00
Dmitry Vyukov
15710c9220
tsan: simple memory profiler
...
llvm-svn: 157248
2012-05-22 11:33:03 +00:00
Kostya Serebryany
4fa4ac1290
[asan] fix one test on 32-bit Mac 10.7; enable another test on Mac
...
llvm-svn: 157237
2012-05-22 07:44:30 +00:00
Dmitry Vyukov
46c1a4c25e
tsan: implement malloc/free hooks
...
llvm-svn: 157196
2012-05-21 17:39:40 +00:00
Timur Iskhodzhanov
ea365131a2
[ASan] Make for-Windows RTL compileable using Clang++
...
llvm-svn: 157188
2012-05-21 14:25:36 +00:00
Dmitry Vyukov
99ed663a42
tsan: do not assume non-recursive signal handlers
...
llvm-svn: 157187
2012-05-21 14:24:20 +00:00
Dmitry Vyukov
163a8338be
tsan: replace CHECK with CHECK_EQ for better diagnostics
...
llvm-svn: 157181
2012-05-21 10:20:53 +00:00
Dmitry Vyukov
98953b7a6d
tsan: better, more realistic handling of signals
...
llvm-svn: 157178
2012-05-21 08:26:51 +00:00
Dmitry Vyukov
9d2229f3ca
tsan: add more checks for OOM conditions
...
tests like to try to malloc((size_t)-1)
llvm-svn: 157176
2012-05-21 06:46:27 +00:00
Dmitry Vyukov
f64046cb3d
tsan: check for overflow in malloc()
...
llvm-svn: 157048
2012-05-18 09:41:52 +00:00
Dmitry Vyukov
bea47a5029
tsan: fix potential NULL deref
...
llvm-svn: 157047
2012-05-18 08:53:16 +00:00