Evgeniy Stepanov
867dd7488a
[msandr] Remove use of std::set in msandr client to avoid reentrancy issues.
...
Patch by Qin Zhao.
llvm-svn: 193654
2013-10-29 22:19:25 +00:00
Evgeniy Stepanov
e8cd2fad0e
[asan] Maybe fix test failures on lld bots.
...
llvm-svn: 193647
2013-10-29 20:06:12 +00:00
Evgeniy Stepanov
bf60342d47
[sanitizer] Intercept sincos, remquo, lgamma, lgamma_r.
...
llvm-svn: 193645
2013-10-29 19:49:35 +00:00
Evgeniy Stepanov
ae2f76fb78
[msandr] Add support for standalone test.
...
Add macro MSANDR_STANDALONE_TEST for standalone test without msan executables.
Patch by Qin Zhao.
llvm-svn: 193643
2013-10-29 19:44:47 +00:00
Evgeniy Stepanov
596d108feb
[tsan] Fix unused variable warnings.
...
llvm-svn: 193639
2013-10-29 18:44:52 +00:00
Evgeniy Stepanov
7d24620b6d
[asan] Fix build.
...
llvm-svn: 193635
2013-10-29 18:29:39 +00:00
Evgeniy Stepanov
02839ced75
[sanitizer] Fix build warnings.
...
llvm-svn: 193634
2013-10-29 18:24:06 +00:00
Evgeniy Stepanov
477f8b73a5
[sanitizer] Ptrace syscall handler.
...
llvm-svn: 193633
2013-10-29 17:59:45 +00:00
Kostya Serebryany
2a9b70cb4c
[asan] increase the max malloc size from 8Gb to 64Gb
...
llvm-svn: 193615
2013-10-29 15:16:54 +00:00
Dmitry Vyukov
3e8432ee6c
tsan/asan: support pthread_setname_np to set thread names
...
llvm-svn: 193602
2013-10-29 10:30:39 +00:00
Alexey Samsonov
a687d2593f
[Sanitizer] Simplify StackTrace::PrintStack interface: prefer common flags to turn on/off the symbolization
...
llvm-svn: 193587
2013-10-29 05:31:25 +00:00
Evgeniy Stepanov
451c8de2d8
[msan] Intercept shmat.
...
llvm-svn: 193581
2013-10-29 02:48:49 +00:00
Evgeniy Stepanov
d828208713
[msan] Fix a typo and enable poison_in_free flag.
...
llvm-svn: 193529
2013-10-28 18:53:37 +00:00
Alexey Samsonov
590fe110f9
[Sanitizer] Revert r193501 and properly fix r193448
...
llvm-svn: 193522
2013-10-28 16:31:39 +00:00
Dmitry Vyukov
cf7259c094
asan/msan: separate different report blocks with new lines
...
this makes the reports consistent with tsan, and much more readable.
llvm-svn: 193520
2013-10-28 13:05:32 +00:00
Dmitry Vyukov
33dd200ba9
tsan: start the background thread with signals blocked, otherwise it can steal users signals
...
llvm-svn: 193519
2013-10-28 12:29:32 +00:00
Timur Iskhodzhanov
a1d048acb7
Work around ASan/Win breakage by r193448
...
llvm-svn: 193501
2013-10-27 13:37:23 +00:00
Alexey Samsonov
4cc939e6a6
[Sanitizer] Add pthread_attr_getaffinity_np to the list of versioned functions
...
llvm-svn: 193470
2013-10-26 12:54:03 +00:00
Peter Collingbourne
cbdea323ac
Add a CMake option COMPILER_RT_DEBUG for building runtimes with full debug info.
...
Differential Revision: http://llvm-reviews.chandlerc.com/D1984
llvm-svn: 193449
2013-10-25 23:03:34 +00:00
Peter Collingbourne
791e65dcfb
Overhaul the symbolizer interface.
...
This moves away from creating the symbolizer object and initializing the
external symbolizer as separate steps. Those steps now always take place
together.
Sanitizers with a legacy requirement to specify their own symbolizer path
should use InitSymbolizer to initialize the symbolizer with the desired
path, and GetSymbolizer to access the symbolizer. Sanitizers with no
such requirement (e.g. UBSan) can use GetOrInitSymbolizer with no need for
initialization.
The symbolizer interface has been made thread-safe (as far as I can
tell) by protecting its member functions with mutexes.
Finally, the symbolizer interface no longer relies on weak externals, the
introduction of which was probably a mistake on my part.
Differential Revision: http://llvm-reviews.chandlerc.com/D1985
llvm-svn: 193448
2013-10-25 23:03:29 +00:00
Peter Collingbourne
8d27910d7d
Rename SpinMutex::AssertHeld to CheckLocked, for consistency with BlockingMutex.
...
llvm-svn: 193447
2013-10-25 23:03:21 +00:00
Evgeniy Stepanov
c0fdb3941c
[sanitizer] Disable tmpnam_r interceptor on Mac.
...
llvm-svn: 193417
2013-10-25 16:22:50 +00:00
Evgeniy Stepanov
94042e1ff2
[sanitizer] Intercept tmpnam, tmpnam_r, tempnam.
...
llvm-svn: 193415
2013-10-25 15:51:48 +00:00
Evgeniy Stepanov
a59daaef3e
[msandr] Add NATIVE_EXEC macro for building client for running in DynamoRIO hybrid mode only.
...
When running application in DynamoRIO hybrid mode only, only uninstrumented
modules will run in DynamoRIO and be instrumented by the client, so we do not
need module table in MSanDR.
Patch by Qin Zhao.
llvm-svn: 193411
2013-10-25 14:57:02 +00:00
Evgeniy Stepanov
2acb2470f9
[sanitizer] Remove pthread_attr_getstackaddr interceptor.
...
The function is deprecated.
llvm-svn: 193409
2013-10-25 14:27:00 +00:00
Evgeniy Stepanov
7f42c6e007
[sanitizer] Fix Android build.
...
llvm-svn: 193408
2013-10-25 14:24:31 +00:00
Evgeniy Stepanov
07507ffab4
[msan] Zerofill initstate_r buffer in random_r test.
...
llvm-svn: 193406
2013-10-25 13:03:20 +00:00
Evgeniy Stepanov
c2b6cb0747
[sanitizer] Intercept pthread_attr_get*.
...
llvm-svn: 193405
2013-10-25 13:01:31 +00:00
Evgeniy Stepanov
ced9fede02
[msan] Separate access and origin blocks in msan reports with an extra whiteline.
...
llvm-svn: 193401
2013-10-25 11:17:54 +00:00
Dmitry Vyukov
53491113f0
tsan: do not crash when apparently bogus fd is passed to e.g. close
...
some tests test libc/filesystem error handling paths (e.g. close(INT_MAX)),
currently such tests fail
with this change they work as expected
llvm-svn: 193400
2013-10-25 09:45:44 +00:00
Evgeniy Stepanov
be9cdbb58c
[sanitizer] Intercept random_r.
...
llvm-svn: 193396
2013-10-25 08:58:13 +00:00
Stephen Hines
7633afc960
Switch __ARM_ARCH_7S__ to __ARM_ARCH_EXT_IDIV__ for use of sdiv/udiv assembly.
...
__ARM_ARCH_EXT_IDIV__ is the define that ARM is using to indicate the presence
of hardware integer divide (sdiv/udiv). Previously, this code was only being
invoked for processors marked 7S. We now can correctly generate hardware
divides on cortex-a15 devices.
llvm-svn: 193392
2013-10-25 06:26:44 +00:00
Evgeniy Stepanov
f312b480e2
[sanitizer] Intercept shmctl.
...
llvm-svn: 193348
2013-10-24 14:47:34 +00:00
Evgeniy Stepanov
7edb87a92c
[msan] Unpoison errno in common interceptors.
...
llvm-svn: 193343
2013-10-24 13:20:34 +00:00
Evgeniy Stepanov
d280ee48e8
[msan] Fix invalid origin copying.
...
Origin copying may destroy valid origin info. This is caused by
__msan_copy_origin widening the address range to the nearest 4-byte aligned
addresses both on the left and on the right. If the target buffer is
uninitialized and the source is fully initialized, this will result in
overriding valid origin of target buffer with stale (possibly 0) origin of the
source buffer.
With this change the widened origin is copied only if corresponding shadow
values are non zero.
llvm-svn: 193338
2013-10-24 11:56:03 +00:00
Evgeniy Stepanov
f2fd459a5b
[msan] Change wording in the invalid origin message.
...
llvm-svn: 193335
2013-10-24 11:52:48 +00:00
Peter Collingbourne
50cb32e614
Introduce an operator new for LowLevelAllocator, and convert most users to it.
...
llvm-svn: 193308
2013-10-24 06:23:39 +00:00
Alexey Samsonov
857e3ece9b
[ASan] ASan can be combined with LSan and UBSan, so export symbol from them as well.
...
llvm-svn: 193245
2013-10-23 15:36:22 +00:00
Evgeniy Stepanov
55a3ba2281
[sanitizer] Fix OSX build.
...
llvm-svn: 193244
2013-10-23 15:21:10 +00:00
Evgeniy Stepanov
3e6064f9d2
[sanitizer] Intercept ether_* functions.
...
llvm-svn: 193241
2013-10-23 13:57:47 +00:00
Dmitry Vyukov
1ec0fd4071
tsan: parse symbolize/external_symbolizer_path common flags
...
llvm-svn: 193236
2013-10-23 09:00:49 +00:00
Nick Lewycky
993f1f38fd
Continue to keep 'SUMMARY: ' prefix in lsan. Whoops!
...
llvm-svn: 193232
2013-10-23 07:58:11 +00:00
Nick Lewycky
622348e693
Hoist the addition of the prefix "SUMMARY: " from
...
__sanitizer_report_error_summary to ReportErrorSummary.
llvm-svn: 193231
2013-10-23 07:45:53 +00:00
Nick Lewycky
d27d668342
Make sure ASan always emits an error summary if it reports an error.
...
llvm-svn: 193229
2013-10-23 06:19:04 +00:00
Evgeniy Stepanov
2794c47243
[msan] Drain allocator cache when leaving thread.
...
llvm-svn: 193163
2013-10-22 14:31:30 +00:00
Evgeniy Stepanov
0229c09d43
[sanitizer] Intercept initgroups.
...
llvm-svn: 193158
2013-10-22 12:24:48 +00:00
Sergey Matveev
fd10073aeb
[lsan] When detect_leaks=false, be completely silent.
...
In particular, don't make a fuss if we're passed a malformed suppressions file,
or if we have trouble identifying ld.so. Also, make LSan interface functions
no-ops in this case.
llvm-svn: 193108
2013-10-21 19:35:00 +00:00
Peter Collingbourne
b745eec4e4
Use internal_memset to initialize this variable.
...
Otherwise, the compiler may use memset in non-optimized builds, which is
forbidden in the nolibc part of the runtime.
llvm-svn: 193098
2013-10-21 18:11:57 +00:00
Kostya Serebryany
b773785a59
[asan] count the size of QuarantineBatch in the total Quarantine size; make QuarantineBatch fit into 8K, fix a MSVC compile warning
...
llvm-svn: 193072
2013-10-21 08:36:10 +00:00
Dmitry Vyukov
1e995d4f3e
tsan: fix strerror interceptor (eliminate false positives)
...
llvm-svn: 193070
2013-10-21 07:40:19 +00:00