Sergey Matveev
3786ae5c54
[sanitizer] Fix kThreadDescriptorSize for glibc <= 2.11.
...
Address issue reported by Greg Fitzgerald.
llvm-svn: 183098
2013-06-03 10:20:23 +00:00
Alexander Potapenko
41cd6102e9
[ASan] Do not buffer stdin in asan_symbolize.py
...
llvm-svn: 183006
2013-05-31 14:55:06 +00:00
Sergey Matveev
1a566ced91
[lsan] Added a dummy unittest to suppress LIT warnings.
...
llvm-svn: 183004
2013-05-31 14:15:54 +00:00
Sergey Matveev
5494e0bec3
[lsan] Run the leak detection tests under both ASan and LSan.
...
Change the LSan lit test logic. Now "check-lsan" tests the leak
checking functionality in both standalone LSan and ASan.
llvm-svn: 183000
2013-05-31 13:13:55 +00:00
Evgeniy Stepanov
4717d2d494
[msan] Fix gcc build of msan runtime.
...
llvm-svn: 182999
2013-05-31 13:04:07 +00:00
Evgeniy Stepanov
96284becf4
[msan] Handle mixed track-origins and keep-going settings (compiler-rt part).
...
Before this change, each module defined a weak_odr global __msan_track_origins
with a value of 1 if origin tracking is enabled, 0 if disabled. If there are
modules with different values, any of them may win. If 0 wins, and there is at
least one module with 1, the program will most likely crash.
With this change, __msan_track_origins is only emitted if origin tracking is
on. Then runtime library detects if there is at least one module with origin
tracking, and enables runtime support for it.
llvm-svn: 182996
2013-05-31 12:04:08 +00:00
Sergey Matveev
53c24fe0e6
[sanitizer] Fix r182994 - update test.
...
llvm-svn: 182995
2013-05-31 11:33:21 +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
Evgeniy Stepanov
1cf5ef5018
[sanitizer] Fix wrong size of addrinfo::ai_addrlen.
...
Add compile time tests for sizes and offsets of all sanitizer-posix types.
llvm-svn: 182993
2013-05-31 10:46:51 +00:00
Kostya Serebryany
3a7c6d689d
[asan] workaround for the quemu bug in proc maps ( http://code.google.com/p/address-sanitizer/issues/detail?id=160 )
...
llvm-svn: 182922
2013-05-30 11:00:08 +00:00
Alexey Samsonov
2a6cc67225
Fix #if guards in sanitizer_common code
...
llvm-svn: 182918
2013-05-30 09:16:04 +00:00
Kostya Serebryany
831a1d7cec
[sanitizer] introduce LargeMmapAllocator::GetBlockBeginFastSingleThreaded, required for LeakSanitizer to work faster. Also fix lint.
...
llvm-svn: 182917
2013-05-30 08:43:30 +00:00
Alexander Potapenko
a8b41762e4
[ASan] Minor cleanup: remove a couple of unused variables.
...
llvm-svn: 182915
2013-05-30 07:30:07 +00:00
Timur Iskhodzhanov
013da5cb37
Replaced 'bool .* = 0;' with '... = false;'
...
llvm-svn: 182868
2013-05-29 17:26:25 +00:00
Sergey Matveev
6a0c722c23
[asan] Fix r182858.
...
llvm-svn: 182862
2013-05-29 15:31:52 +00:00
Sergey Matveev
4161813a50
[asan] Fix r182854: run the unpoison_tls test only on Linux.
...
llvm-svn: 182858
2013-05-29 14:37:04 +00:00
Timur Iskhodzhanov
cc61eefd4b
Fix MSVC W3 compiler warnings
...
llvm-svn: 182857
2013-05-29 14:11:44 +00:00
Sergey Matveev
09886cd17a
[asan] Make ASan report the correct thread address ranges to LSan.
...
This CL enables thread support in LSan when used on top of ASan.
llvm-svn: 182854
2013-05-29 13:09:44 +00:00
Sergey Matveev
89bcec8117
[sanitizer] Change the way GetThreadStackAndTls() obtains the thread descriptor address.
...
Instead of using arch_prctl(ARCH_GET_FS), read the address from the
tread descriptor itself. This lets us avoid sandboxing issues. Also,
GetThreadStackAndTls() can now be implemented on i386.
llvm-svn: 182853
2013-05-29 13:07:42 +00:00
Evgeniy Stepanov
677003140c
[sanitizer] Fix getaddrinfo interceptor to use the actual returned sockaddr size.
...
llvm-svn: 182852
2013-05-29 12:33:31 +00:00
Peter Collingbourne
112e5ba281
[nolibc] Unweak SymbolizerPrepareForSandboxing and move it to libc-independent part.
...
Fixes the Go build.
Differential Revision: http://llvm-reviews.chandlerc.com/D877
llvm-svn: 182851
2013-05-29 12:11:43 +00:00
Timur Iskhodzhanov
6ba477aa05
Fix MSVC warnings at the -W2 level
...
llvm-svn: 182848
2013-05-29 12:03:49 +00:00
Evgeniy Stepanov
a4bf67e461
[sanitizer] Fix Mac build.
...
llvm-svn: 182845
2013-05-29 11:55:27 +00:00
Evgeniy Stepanov
fc708db4c1
[sanitizer] Intercept getpeername.
...
llvm-svn: 182844
2013-05-29 11:49:25 +00:00
Evgeniy Stepanov
a4d08c4e87
[sanitizer] Move TSan and MSan recvmsg interceptors to common.
...
llvm-svn: 182843
2013-05-29 11:30:00 +00:00
Dmitry Vyukov
2b997d2914
tsan: match "race" suppressions against "race on vptr" reports
...
llvm-svn: 182842
2013-05-29 11:23:54 +00:00
Peter Collingbourne
93aa8dfb78
[nolibc] Now that we have a custom allocator, remove dummy allocator
...
definitions from test.
llvm-svn: 182841
2013-05-29 10:52:59 +00:00
Alexey Samsonov
25ad5a6735
[sanitizer] Use raw check in internal allocator to prevent self-deadlocks. Try to fix Windows build.
...
llvm-svn: 182840
2013-05-29 10:41:53 +00:00
Sergey Matveev
e615432313
[lsan] Convert the remaining LSan tests to output tests.
...
llvm-svn: 182839
2013-05-29 10:12:37 +00:00
Evgeniy Stepanov
f28217ad0e
[sanitizer] modf/modff/modfl interceptors.
...
llvm-svn: 182838
2013-05-29 10:03:11 +00:00
Alexey Samsonov
75289297af
Exclude sanitizer_nolibc_test from TSan test run. Fix lint warnings
...
llvm-svn: 182837
2013-05-29 09:40:07 +00:00
Alexey Samsonov
c30e2d6b3a
Make InternalAlloc/InternalFree in sanitizer runtimes libc-free by switching to a custom allocator.
...
llvm-svn: 182836
2013-05-29 09:15:39 +00:00
Evgeniy Stepanov
08f662845d
[sanitizer] Share TSan accept & accept4 interceptors with other sanitizers.
...
llvm-svn: 182835
2013-05-29 09:09:58 +00:00
Evgeniy Stepanov
40d7ed5d1e
[sanitizer] Improve getaddrinfo interceptor.
...
llvm-svn: 182775
2013-05-28 14:34:37 +00:00
Evgeniy Stepanov
dd0780f81c
[msan] Change report header to be more alike to ASan and TSan.
...
llvm-svn: 182774
2013-05-28 14:27:30 +00:00
Peter Collingbourne
a7887bf8be
[nolibc] Add a test case for Linux/x86_64.
...
Differential Revision: http://llvm-reviews.chandlerc.com/D873
llvm-svn: 182770
2013-05-28 12:37:34 +00:00
Peter Collingbourne
fb1a9f17e3
[nolibc] Make SymbolizerPrepareForSandboxing weak and optional.
...
Differential Revision: http://llvm-reviews.chandlerc.com/D872
llvm-svn: 182765
2013-05-28 11:05:05 +00:00
Peter Collingbourne
5b2669049a
[nolibc] Make AddressInfo::Clear a weak function.
...
llvm-svn: 182743
2013-05-27 21:00:36 +00:00
Peter Collingbourne
123473d243
Use an address-of operator here to silence an MSVC warning.
...
llvm-svn: 182740
2013-05-27 16:02:19 +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
9cda3df8bd
[sanitizer] Move FindThreadByOSIdLocked from lsan to sanitizer_common.
...
llvm-svn: 182728
2013-05-27 10:35:51 +00:00
Alexey Samsonov
9c2bcf8c15
Improve support for compiler-rt tests in CMake build.
...
Now compiler-rt tests run correctly if compiler-rt is checked out into
arbitrary directory (not necessarily projects/compiler-rt).
Patch by Greg Fitzgerald!
llvm-svn: 182726
2013-05-27 09:35:24 +00:00
Nick Kledzik
23bbd617e4
<rdar://problem/12512722> Use arm divide instruction if available
...
llvm-svn: 182665
2013-05-24 19:38:11 +00:00
Sergey Matveev
e45a0677a6
[lsan] Allow the ignored TLS range to be empty.
...
llvm-svn: 182657
2013-05-24 18:07:53 +00:00
Sergey Matveev
37dff38495
[lsan] Minor adjustments to LSan messages.
...
llvm-svn: 182648
2013-05-24 15:36:30 +00:00
Sergey Matveev
c7715a228a
[lsan] Prettify LSan reports and add a summary.
...
llvm-svn: 182646
2013-05-24 14:49:13 +00:00
Sergey Matveev
bc880f3a54
[lsan] Add exitcode flag. Kill the process if leaks are found.
...
llvm-svn: 182641
2013-05-24 13:16:02 +00:00
Alexey Samsonov
646ec67e25
Disable init-order checking before destructors are run.
...
We don't want to report initialization-order bugs when a destructor of a global
variable accesses dynamically initialized global from another
(not necessarily initialized) module. We do this by intercepting __cxa_atexit and
registrering our own callback that unpoisons shadow for all dynamically initialized
global variables.
llvm-svn: 182637
2013-05-24 11:46:56 +00:00
Bill Wendling
b7e7a38929
Don't override 'mode' and cleanup some variable names.
...
llvm-svn: 182599
2013-05-23 18:18:31 +00:00
Bill Wendling
a600457cde
Add 'mode' parameter when using 'O_CREAT'. Thanks to Evgeniy for pointing this out.
...
llvm-svn: 182598
2013-05-23 18:08:22 +00:00