Alexey Samsonov
62063b46fc
Use "-gline-tables-only" instead of "-g" in sanitizer test suites.
...
We are interested in verifying that -gline-tables-only provides enough
debug information for verbose error reports and symbolized stack traces.
llvm-svn: 217284
2014-09-05 22:05:32 +00:00
Alexander Potapenko
869342c1cb
[ASan] disable zero_page_pc.cc on Android.
...
Bug: https://code.google.com/p/address-sanitizer/issues/detail?id=336
llvm-svn: 217228
2014-09-05 06:26:08 +00:00
Kostya Serebryany
1fb81720ec
[asan] relax the assertion around array cookie load; still need to extract a reproducer where this assertion fails...
...
llvm-svn: 217215
2014-09-05 01:16:30 +00:00
Alexey Samsonov
f537aeaea1
[ASan] Remove the call to GetPageSizeCached from fast path of FastPoisonShadow
...
llvm-svn: 217194
2014-09-04 20:47:27 +00:00
Kostya Serebryany
d147590492
[asan] trying to de-flake new_array_cookie_uaf_test.cc
...
llvm-svn: 217177
2014-09-04 18:02:59 +00:00
Justin Bogner
cc0d7eeb6d
profile: Avoid name collisions between instrumentation and runtime
...
The naming scheme we're using for counters in profile data shares a
prefix with some fixed names we use for the runtime, notably
__llvm_profile_data_begin and _end. Embarrassingly, this means a
function called begin() can't be instrumented.
This modifies the runtime names so as not to collide with the
instrumentation.
llvm-svn: 217166
2014-09-04 15:45:31 +00:00
Alexander Potapenko
7c3d581e8a
[ASan] Remove the check for a double-SEGV from zero_page_pc.cc
...
Looks like the second crash doesn't happen on Mac.
llvm-svn: 217165
2014-09-04 15:40:25 +00:00
Viktor Kutuzov
2132b704ff
Intercept _exit() for sanitizers' needs on FreeBSD
...
Differential Revision: http://reviews.llvm.org/D5171
llvm-svn: 217156
2014-09-04 14:24:27 +00:00
Viktor Kutuzov
3c821c0200
Fix building sanitizer_linux_libcdep.cc on FreeBSD
...
Differential Revision: http://reviews.llvm.org/D5166
llvm-svn: 217148
2014-09-04 13:58:59 +00:00
Evgeniy Stepanov
e9ca1c72be
[msan] Fix fork test on centos-6.5.
...
Missing <atomic> header.
llvm-svn: 217142
2014-09-04 11:07:42 +00:00
Evgeniy Stepanov
bb91e02efd
[msan] Make origin tracking fork-safe.
...
Chained origins make plain memory stores async-signal-unsafe.
We already disable it inside signal handlers.
This change grabs all origin-related locks before fork() and releases
them after fork() to avoid a deadlock in the child process.
llvm-svn: 217140
2014-09-04 10:36:14 +00:00
Alexander Potapenko
9d24aa0fa8
[ASan] allow deadly signals to be received in signal handlers
...
(previously ASan would just crash upon the second SEGV)
Other tools do not use this code yet.
llvm-svn: 217137
2014-09-04 09:34:22 +00:00
Alexey Samsonov
2428359e23
Fixup test case after r217079
...
llvm-svn: 217111
2014-09-03 23:46:12 +00:00
Kostya Serebryany
fb5d6852c6
[asan] remove debug print
...
llvm-svn: 217101
2014-09-03 22:58:03 +00:00
Alexey Samsonov
c8d8ca0bd6
Fix fast stack unwind on ARM to support code generated with GCC.
...
http://reviews.llvm.org/D4692
Patch by Maxim Ostapenko!
llvm-svn: 217079
2014-09-03 21:10:44 +00:00
Dmitry Vyukov
f8cfdd9207
tsan: handle early signals
...
The second part of the fix of
https://code.google.com/p/thread-sanitizer/issues/detail?id=71
llvm-svn: 217031
2014-09-03 12:25:22 +00:00
Evgeniy Stepanov
f1741f52ad
[msan] Fix origin_history_per_stack_limit=0 behavior.
...
It disables the per-stack limit.
llvm-svn: 217030
2014-09-03 12:15:59 +00:00
Dmitry Vyukov
26411d6929
tsan: more precise handling of atexit callbacks
...
Fixes issue https://code.google.com/p/thread-sanitizer/issues/detail?id=74
llvm-svn: 216906
2014-09-02 14:22:31 +00:00
Dmitry Vyukov
8bbb17dcc3
tsan: disable getpwent interceptors
...
There interceptors do not seem to be strictly necessary for tsan.
But we see cases where the interceptors consume 70% of execution time.
Memory blocks passed to fgetgrent_r are "written to" by tsan several times.
First, there is some recursion (getgrnam_r calls fgetgrent_r), and each
function "writes to" the buffer. Then, the same memory is "written to"
twice, first as buf and then as pwbufp (both of them refer to the same addresses).
llvm-svn: 216904
2014-09-02 12:51:11 +00:00
Dmitry Vyukov
1841219abd
tsan: restructure signal handling to allow recursive handling
...
Fixes issue
https://code.google.com/p/thread-sanitizer/issues/detail?id=71
llvm-svn: 216903
2014-09-02 12:27:45 +00:00
Dmitry Vyukov
dc1caa7cb8
tsan: address comments in r214912
...
See http://reviews.llvm.org/D4794
llvm-svn: 216900
2014-09-02 09:34:34 +00:00
Alexander Potapenko
3ae9193371
[libsanitizer] Fix the Android build.
...
llvm-svn: 216885
2014-09-01 15:38:16 +00:00
Evgeniy Stepanov
21202ba8dd
[asan] Update asan_device_setup to support Android L Preview.
...
llvm-svn: 216884
2014-09-01 15:37:50 +00:00
Alexander Potapenko
a909e493f1
[libsanitizer] Make sanitizer_unwind_posix.cc a libcdep source file.
...
Guard the source with #if SANITIZER_POSIX to fix compilation on Windows.
use it only in
llvm-svn: 216882
2014-09-01 13:07:50 +00:00
Dmitry Vyukov
34fb3799a3
tsan: fix false positive related to signal handlers
...
Users expect synchronization between sigaction and arrival
of the signal. See the test for details.
llvm-svn: 216878
2014-09-01 12:46:42 +00:00
Alexander Potapenko
4d84996186
[ASan] Small refactoring - split the slow unwinding logic into sanitizer_unwind_posix.cc
...
This allows the slow unwinder to be used on OSX (it's disabled for now, see
https://code.google.com/p/address-sanitizer/issues/detail?id=137 for details)
llvm-svn: 216877
2014-09-01 12:43:03 +00:00
Dmitry Vyukov
aa8fa60ba8
tsan: unbreak windows build
...
Currently it fails with:
# Testing race detector.
race_windows_amd64.syso:gotsan.cc:(.text+0x4d89): undefined reference to `__imp_SymGetModuleBase64'
race_windows_amd64.syso:gotsan.cc:(.text+0x4d90): undefined reference to `__imp_SymFunctionTableAccess64'
race_windows_amd64.syso:gotsan.cc:(.text+0x4dd8): undefined reference to `__imp_StackWalk64'
x86_64-w64-mingw32/bin/ld.exe: race_windows_amd64.syso
: bad reloc address 0x10 in section `.data'
collect2.exe: error: ld returned 1 exit status
llvm-svn: 216875
2014-09-01 11:44:59 +00:00
Kostya Serebryany
c148f7c3af
[asan] enable poison_array_cookie back
...
llvm-svn: 216705
2014-08-29 01:16:18 +00:00
Kostya Serebryany
ac77055272
[asan] introduce __asan_load_cxx_array_cookie: check that the array cookie address is properly poisoned and return the cookie value. If not, return 0 to avoid infinite loop of DTORs (in case of use-after-free). Calls to this function will be inserted by clang (separate change)
...
llvm-svn: 216692
2014-08-28 22:28:04 +00:00
Kostya Serebryany
1e3b338606
[asan] disable poison_array_cookie while I am investigating a false positive on chromium (I suspect that LLVM looses nosanitizer metadata; no test yet)
...
llvm-svn: 216684
2014-08-28 20:24:05 +00:00
Timur Iskhodzhanov
f77d20b1a9
[ASan/Win] Add a test case for r216663 [-Zl vs LIBCMT vs asan_win_uar_thunk]
...
llvm-svn: 216665
2014-08-28 13:20:23 +00:00
Timur Iskhodzhanov
737370da20
[ASan/Win] Add the -Zl flag to avoid /DEFAULTLIB:libcmt directive in the asan_win_uar_thunk object file
...
This directive results in 'symbol already defined' when linking DLLs that use -MD
llvm-svn: 216663
2014-08-28 12:28:04 +00:00
Alexander Potapenko
2164fa3b9b
[ubsan] Follow-up for r216657: fixed the line numbers in the test.
...
llvm-svn: 216661
2014-08-28 10:25:17 +00:00
Alexander Potapenko
53cce89a81
[UBSan] Temporarily disable checks for stack traces in UBSan reports on Darwin
...
to make the tests green.
Slow stack unwinding is disabled in libsanitizer on Darwin now.
llvm-svn: 216657
2014-08-28 09:25:06 +00:00
Alexander Potapenko
83061238d4
[ASan] Whitespace fix. No functionality change.
...
llvm-svn: 216544
2014-08-27 13:43:18 +00:00
Evgeniy Stepanov
5d321d759d
[asan] Add asprintf negative test.
...
llvm-svn: 216542
2014-08-27 12:46:58 +00:00
Timur Iskhodzhanov
6add9fe958
[ASan/Win] Enable building the MD runtime by default
...
llvm-svn: 216534
2014-08-27 10:17:20 +00:00
Evgeniy Stepanov
8f4e736080
[asan] Restore asan-rt name on linux back to pre-r216380.
...
There is no reason to have different library names for shared and static
cases on linux. It also breaks Android where we install the shared asan-rt
library into the system and should keep the old name.
This change reverts most of r216380 limiting it to win32 targets only.
llvm-svn: 216533
2014-08-27 09:46:54 +00:00
Kostya Serebryany
9455c5ab81
[asan] add a test for poison_array_cookie=1
...
llvm-svn: 216494
2014-08-26 22:05:12 +00:00
Sergey Matveev
08347ca4fd
[lsan] Implement the public allocator interface in standalone LSan.
...
llvm-svn: 216459
2014-08-26 14:28:28 +00:00
Sergey Matveev
93a2906e80
[lsan] Implement __sanitizer_print_stack_trace() in standalone LSan.
...
llvm-svn: 216454
2014-08-26 12:52:41 +00:00
Timur Iskhodzhanov
47030475a0
[ASan/Win] Disable warning C4391: incorrect return type for intrinsic function
...
This warning makes it a bit hard to define strlen and wcslen interceptors in an elegant yet portable way
llvm-svn: 216450
2014-08-26 12:33:00 +00:00
Timur Iskhodzhanov
81885731a8
[ASan/Win] Rename asan_dll_thunk.cc to asan_win_dll_thunk.cc
...
llvm-svn: 216448
2014-08-26 10:21:37 +00:00
Timur Iskhodzhanov
6903e10ddf
[ASan/Win] Add an extra thunk.lib to handle stack-use-after-return option
...
With this patch, "check-asan" passes all the tests with both MT and MD ASan RTL if you set COMPILER_RT_BUILD_SHARED_ASAN to ON
(PR20214)
llvm-svn: 216447
2014-08-26 10:08:24 +00:00
Kostya Serebryany
74bd6bc9f9
[sanitizer] move mlock interceptor from asan/tsan/msan to common; no functionality change intended
...
llvm-svn: 216407
2014-08-25 20:57:59 +00:00
Timur Iskhodzhanov
dc8caada51
[ASan/Win] Add /DEBUG to the MD RTL link flags
...
llvm-svn: 216387
2014-08-25 16:45:53 +00:00
Timur Iskhodzhanov
2311f4dfaa
[ASan] Replace CMake if/APPEND/endif with append_if
...
llvm-svn: 216386
2014-08-25 16:40:39 +00:00
Timur Iskhodzhanov
0a88b25c43
[ASan/Win] Intercept memory allocation functions in the MD CRT
...
llvm-svn: 216382
2014-08-25 13:19:05 +00:00
Timur Iskhodzhanov
ea3ce790dc
[ASan] Rename the ASan dynamic RT
...
Reviewed at http://reviews.llvm.org/D5026
llvm-svn: 216380
2014-08-25 11:44:06 +00:00
Alexey Samsonov
2ccbc621df
[UBSan] Add support for printing backtraces to all UBSan handlers
...
llvm-svn: 216289
2014-08-22 21:42:04 +00:00