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
Dmitry Vyukov
2346c7a511
tsan: fix linux syscall hooks
...
the file references non-existent arguments and breaks build
llvm-svn: 193234
2013-10-23 08:40:19 +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
Peter Collingbourne
90a0876ae7
Runtime support for the indirect function call checker.
...
Differential Revision: http://llvm-reviews.chandlerc.com/D1339
llvm-svn: 193060
2013-10-20 21:29:46 +00:00
Peter Collingbourne
b714e7e12a
[ubsan] Introduce %clangxx substitution for all C++ tests.
...
llvm-svn: 193059
2013-10-20 21:29:32 +00:00
Kostya Serebryany
8bb5d60235
[asan] fix stack trace printing on Mac
...
llvm-svn: 192990
2013-10-18 17:46:43 +00:00
Kostya Serebryany
f11e485d60
[asan] allocate AsanThreadContext using LowLevelAllocator instead of mmap to save space
...
llvm-svn: 192980
2013-10-18 15:07:07 +00:00
Kostya Serebryany
9628839869
[asan] reduce the size of AsanThreadContext by storing the stack trace in the stack depot
...
llvm-svn: 192979
2013-10-18 14:50:44 +00:00
Alexander Potapenko
e45ca59fd9
[ASan] fix compilation of sanitizer_platform_limits_posix.cc on OSX.
...
llvm-svn: 192975
2013-10-18 14:16:54 +00:00
Alexander Potapenko
2fe16d720c
[ASan] fix compilation of atexit_stats.cc on OSX
...
llvm-svn: 192973
2013-10-18 14:12:15 +00:00
Evgeniy Stepanov
78c5730bec
[sanitizer] Fix OSX build some more.
...
llvm-svn: 192967
2013-10-18 12:19:23 +00:00
Evgeniy Stepanov
b4e501c6ec
[sanitizer] Fix OSX build.
...
llvm-svn: 192966
2013-10-18 11:26:02 +00:00