| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
tctx==NULL crash observed during deadlock reporting.
There seems to be some bugs in the deadlock detector,
but it is still useful to be more robust during reporting.
llvm-svn: 224508
|
| |
|
|
|
|
| |
see the comment for details
llvm-svn: 224507
|
| |
|
|
|
|
|
|
|
|
|
| |
Do not define it for MIPS64 until its backend supports it.
See the bug report [1] for more information.
[1] http://llvm.org/bugs/show_bug.cgi?id=20098
Differential Revision: http://reviews.llvm.org/D6703
llvm-svn: 224488
|
| |
|
|
|
|
|
|
| |
-fsized-delete is implemented via weak symbols, and doesn't work
properly when malloc/free replacements are provided in shared
ASan runtime.
llvm-svn: 224474
|
| |
|
|
|
|
| |
This fixes these tests under dynamic ASan runtime.
llvm-svn: 224473
|
| |
|
|
| |
llvm-svn: 224472
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit changes the strategy for building shared ASan runtime
and the way we test it:
- COMPILER_RT_BUILD_SHARED_ASAN CMake option is removed. We now
always build shared ASan runtime (it is the default on Android,
Windows and Mac, and not the default on Linux and FreeBSD).
- Platforms, which use static runtime by default now have
"check-asan-dynamic" testsuite. This testsuite contains instrumented
unit tests, and ASan lit tests, and runs them with shared ASan
runtime. This testsuite is *not* a part of "check-asan" and
*not* a part of "check-all", as adding 1000 more test cases, which
duplicate existing ones is costly. However, you're welcome to
add this command to your buildbot.
llvm-svn: 224470
|
| |
|
|
|
|
| |
lsan: speeds up lsan start-up time by ~25%
llvm-svn: 224469
|
| |
|
|
| |
llvm-svn: 224464
|
| |
|
|
| |
llvm-svn: 224450
|
| |
|
|
|
|
|
|
|
| |
The Clang improevments were reverted due to failures created in an asan
bootstrap.
This reverts commit r224387.
llvm-svn: 224446
|
| |
|
|
|
|
|
|
|
|
|
| |
pthread_getspecific is not async-signal-safe.
MsanThread pointer is now stored in a TLS variable, and the TSD slot
is used only for its destructor, and never from a signal handler.
This should fix intermittent CHECK failures in MsanTSDSet.
llvm-svn: 224423
|
| |
|
|
| |
llvm-svn: 224422
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce "Allocator" object, which contains all the bits and pieces
ASan allocation machinery actually use: allocator from sanitizer_common,
quarantine, fallback allocator and quarantine caches, fallback mutex.
This step is a preparation to adding more state to this object. We want
to reduce dependency of Allocator on commandline flags and be able to
"safely" modify its behavior (such as the size of the redzone) at
runtime.
llvm-svn: 224406
|
| |
|
|
| |
llvm-svn: 224396
|
| |
|
|
|
|
|
|
|
|
| |
SetCanPoisonMemory()/CanPoisonMemory() functions are now used
instead of "poison_heap" flag to determine if ASan is allowed
to poison the shadow memory. This allows to hot-patch this
value in runtime (e.g. during ASan activation) without introducing
a data race.
llvm-svn: 224395
|
| |
|
|
| |
llvm-svn: 224387
|
| |
|
|
| |
llvm-svn: 224370
|
| |
|
|
| |
llvm-svn: 224366
|
| |
|
|
| |
llvm-svn: 224362
|
| |
|
|
| |
llvm-svn: 224353
|
| |
|
|
| |
llvm-svn: 224326
|
| |
|
|
|
|
|
|
| |
We recently had a broken version check because an newer OS X version is treated as MACOS_VERSION_UNKNOWN which is less than all the defined values. Let's have a separate enum value for unknown but newer versions, so the ">=" and "<=" version checks still work even in upcoming OS X releases.
Reviewed at http://reviews.llvm.org/D6137
llvm-svn: 224315
|
| |
|
|
| |
llvm-svn: 224308
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Introduce __asan::malloc_context_size atomic that is used to determine
required malloc/free stack trace size. It is initialized with
common_flags()->malloc_context_size flag, but can later be overwritten
at runtime (e.g. when ASan is activated / deactivated).
Test Plan: regression test suite
Reviewers: kcc, eugenis
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D6645
llvm-svn: 224305
|
| |
|
|
|
|
| |
__asan_set_death_callback
llvm-svn: 224286
|
| |
|
|
|
|
|
|
|
| |
Running the upgrade script from PR21532. Hopefully this will unstick
compiler-rt bots [1] after r224257.
[1]: http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA_check/181/
llvm-svn: 224276
|
| |
|
|
|
|
| |
Patch by Lawrence D'Anna. Thanks!
llvm-svn: 224270
|
| |
|
|
|
|
| |
After previous commit: http://reviews.llvm.org/rL224242, misaligned testcase is now supported on ARM also
llvm-svn: 224243
|
| |
|
|
|
|
|
|
|
|
| |
On mips64 addresses are 40-bit. Where as a 48 bit address is used in TypeCheck/misaligned.cpp.
Using regular expression for that address.
reviewed by : samsonov
submitted by: sagar
llvm-svn: 224242
|
| |
|
|
|
|
|
|
|
| |
No MIPS64 architecture dependant code
reviewed by : samsonov
submitted by: sagar
llvm-svn: 224239
|
| |
|
|
|
|
| |
produces same
llvm-svn: 224222
|
| |
|
|
|
|
|
| |
We've dropped support for python 2.5, so now we can use the forward
compatible "except ... as" syntax.
llvm-svn: 224181
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Turn "allocator_may_return_null" common flag into an
Allocator::may_return_null bool flag. We want to make sure
that common flags are immutable after initialization. There
are cases when we want to change this flag in the allocator
at runtime: e.g. in unit tests and during ASan activation
on Android.
Test Plan: regression test suite, real-life applications
Reviewers: kcc, eugenis
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D6623
llvm-svn: 224148
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D6591
llvm-svn: 224117
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D6590
llvm-svn: 224116
|
| |
|
|
|
|
|
|
| |
Enabling COMPILER_RT_INCLUDE_TESTS and updating tests/sanitizer_allocator_test.cc to remove Allocator64 related tests for MIPS.
Reviewed By: samsonov
llvm-svn: 224101
|
| |
|
|
| |
llvm-svn: 224087
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit changes the way we get fake stack from ASan runtime
(to find use-after-return errors) and the way we represent local
variables:
- __asan_stack_malloc function now returns pointer to newly allocated
fake stack frame, or NULL if frame cannot be allocated. It doesn't
take pointer to real stack as an input argument, it is calculated
inside the runtime.
- __asan_stack_free function doesn't take pointer to real stack as
an input argument. Now this function is never called if fake stack
frame wasn't allocated.
- __asan_init version is bumped to reflect changes in the ABI.
- new flag "-asan-stack-dynamic-alloca" allows to store all the
function local variables in a dynamic alloca, instead of the static
one. It reduces the stack space usage in use-after-return mode
(dynamic alloca will not be called if the local variables are stored
in a fake stack), and improves the debug info quality for local
variables (they will not be described relatively to %rbp/%rsp, which
are assumed to be clobbered by function calls). This flag is turned
off by default for now, but I plan to turn it on after more
testing.
llvm-svn: 224063
|
| |
|
|
|
|
|
| |
Instead, rely on the fact that RAW_CHECK doesn't call mmap(),
and we'll be able to print an error message and kill a program.
llvm-svn: 224034
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
- Make sure mmap() is never called inside RawWrite function.
- Wrap a bunch of standalone globals in a ReportFile object.
- Make sure accesses to these globals are thread-safe.
- Fix report_path functionality on Windows, where
__sanitizer_set_report_path() would break program.
I've started this yak shaving in order to make
"CommonFlags::mmap_limit_mb" immutable. Currently we drop this flag
to zero before printing an error message.
Test Plan: regression test suite
Reviewers: kcc, glider
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D6595
llvm-svn: 224031
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D6504
llvm-svn: 224030
|
| |
|
|
|
|
| |
GetRSS is used in Go build.
llvm-svn: 224023
|
| |
|
|
|
|
|
| |
These are fake and not actual PCs, more like function IDs.
Pass them to external symbolizer untouched.
llvm-svn: 224022
|
| |
|
|
| |
llvm-svn: 224018
|
| |
|
|
| |
llvm-svn: 223932
|
| |
|
|
|
|
| |
Should fix PR21476.
llvm-svn: 223925
|
| |
|
|
|
|
|
|
|
|
| |
Each of the object formats use a different directive for selecting the constant
section. Use a macro to avoid the duplication across a number of files. Also
correct a small macro mismatch on the Windows case (HIDDEN_DIRECTIVE -> HIDDEN).
Patch by Vadim Chugunov!
llvm-svn: 223910
|
| |
|
|
| |
llvm-svn: 223909
|
| |
|
|
|
|
|
| |
Remove unused variables and definitions in CMake files
for TSan and DD (deadlock detector).
llvm-svn: 223908
|