| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
ExitProcess still runs some code which can lead to ASan interceptors
running after CHECK failure. This can lead to deadlock if it CHECK fails
again. Avoid that mess by really exiting immediately.
llvm-svn: 286395
|
|
|
|
|
|
|
|
|
|
|
| |
Go maps shadow memory lazily, so we don't have the huge multi-TB mapping.
Virtual memory consumption is proportional to normal memory usage.
Also in Go core dumps are enabled explicitly with GOTRACEBACK=crash,
if user explicitly requests a core that must be on purpose.
So don't disable core dumps by default.
llvm-svn: 285451
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently we either define SANITIZER_GO for Go or don't define it at all for C++.
This works fine with preprocessor (ifdef/ifndef/defined), but does not work
for C++ if statements (e.g. if (SANITIZER_GO) {...}). Also this is different
from majority of SANITIZER_FOO macros which are always defined to either 0 or 1.
Always define SANITIZER_GO to either 0 or 1.
This allows to use SANITIZER_GO in expressions and in flag default values.
Also remove kGoMode and kCppMode, which were meant to be used in expressions,
but they are not defined in sanitizer_common code, so SANITIZER_GO become prevalent.
Also convert some preprocessor checks to C++ if's or ternary expressions.
Majority of this change is done mechanically with:
sed "s#ifdef SANITIZER_GO#if SANITIZER_GO#g"
sed "s#ifndef SANITIZER_GO#if \!SANITIZER_GO#g"
sed "s#defined(SANITIZER_GO)#SANITIZER_GO#g"
llvm-svn: 285443
|
|
|
|
|
|
|
| |
s/disable_core/disable_coredump/
Add missing space in text.
llvm-svn: 285401
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently fails with:
C:\workdir\compiler-rt\lib\tsan\go>gcc -c -o race_windows_amd64.syso gotsan.cc -I..\rtl -I..\.. -I..\..\sanitizer_common -I..\..\..\include -m64 -Wall -fno-exceptions -fno-rtti -DSANITIZER_GO -Wno-error=at
tributes -Wno-attributes -Wno-format -Wno-maybe-uninitialized -DSANITIZER_DEBUG=0 -O3 -fomit-frame-pointer -std=c++11
gotsan.cc:9229:0: warning: ignoring #pragma comment [-Wunknown-pragmas]
#pragma comment(linker, "/alternatename:__sanitizer_print_memory_profile=__sanitizer_default_print_memory_profile") // NOLINT
^
gotsan.cc: In function 'void __sanitizer_print_memory_profile(int)':
gotsan.cc:9226:17: error: redefinition of 'void __sanitizer_print_memory_profile(int)'
extern "C" void __sanitizer_print_memory_profile(int top_percent) {}
^
gotsan.cc:6898:6: note: 'void __sanitizer_print_memory_profile(int)' previously defined here
void __sanitizer_print_memory_profile(int top_percent) {
Remove __sanitizer_print_memory_profile from Go build, it is not needed.
llvm-svn: 285400
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Looks like we are missing these flags only in tsan and sanitizer-common.
This results in linker warnings in some settings as it can cause the Unit
tests to be built with a different SDK version than that was used to build
the runtime. For example, we are not setting the minimal deployment target
on the tests but are setting the minimal deployment target for the sanitizer
library, which leads to the following warning on some bots: ld: warning:
object file (sanitizer_posix_test.cc.i386.o) was built for newer OSX version
(10.12) than being linked (10.11).
Differential Revision: https://reviews.llvm.org/D25860 https://reviews.llvm.org/D25352
llvm-svn: 285255
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: eugenis, vitalybuka
Subscribers: llvm-commits, kubabrecka
Differential Revision: https://reviews.llvm.org/D25846
llvm-svn: 285013
|
|
|
|
| |
llvm-svn: 284901
|
|
|
|
| |
llvm-svn: 284773
|
|
|
|
| |
llvm-svn: 284258
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
LeakSanitizer does not work with ptrace but currently it
will print warnings (only under verbosity=1) and then proceed
to print tons of false reports.
This patch makes lsan fail hard under ptrace with a verbose message.
https://github.com/google/sanitizers/issues/728
Reviewers: eugenis, vitalybuka, aizatsky
Subscribers: kubabrecka, llvm-commits
Differential Revision: https://reviews.llvm.org/D25538
llvm-svn: 284171
|
|
|
|
|
|
|
|
|
| |
Used uptr for __sanitizer_kernel_sigset_t.sig to avoid byte order issues on big endian systems
Reviewd by bruening.
Differential: D24332
llvm-svn: 283438
|
|
|
|
|
|
|
|
|
| |
With this patch 12 out of 13 tests are passing.
Reviewed by zhaoqin.
Differential: D23799
llvm-svn: 283435
|
|
|
|
|
|
| |
Address lint comments.
llvm-svn: 283378
|
|
|
|
|
|
|
|
| |
The VM layout is not stable between iOS version releases, so switch to dynamic shadow offset.
Differential Revision: https://reviews.llvm.org/D25218
llvm-svn: 283375
|
|
|
|
|
|
|
|
| |
This reverts commit b2af965b7924ad793b313996a96633bb72daf629.
Revert as these changes broke a Chromium buildbot.
llvm-svn: 283349
|
|
|
|
|
|
|
|
| |
The VM layout is not stable between iOS version releases, so switch to dynamic shadow offset.
Differential Revision: https://reviews.llvm.org/D25218
llvm-svn: 283240
|
|
|
|
| |
llvm-svn: 283185
|
|
|
|
|
|
| |
This reverts commit r282994.
llvm-svn: 283183
|
|
|
|
| |
llvm-svn: 283166
|
|
|
|
| |
llvm-svn: 282994
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch is adding support for dynamic shadow allocation.
This is a merge and re-commit of the following patches.
```
[compiler-rt] Fix Asan build on Android
https://reviews.llvm.org/D24768
[compiler-rt] Add support for the dynamic shadow allocation
https://reviews.llvm.org/D23363
```
This patch needed to re-land at the same time:
```
[asan] Support dynamic shadow address instrumentation
https://reviews.llvm.org/D23354
```
Reviewers: rnk, zaks.anna
Subscribers: tberghammer, danalbert, kubabrecka, dberris, chrisha, llvm-commits
Differential Revision: https://reviews.llvm.org/D25104
llvm-svn: 282882
|
|
|
|
| |
llvm-svn: 282808
|
|
|
|
|
|
| |
Reviewed by eugenis offline, as reviews.llvm.org is down.
llvm-svn: 282805
|
|
|
|
| |
llvm-svn: 282695
|
|
|
|
| |
llvm-svn: 282694
|
|
|
|
| |
llvm-svn: 282682
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: eugenis
Subscribers: llvm-commits, kubabrecka
Differential Revision: https://reviews.llvm.org/D24974
llvm-svn: 282617
|
|
|
|
|
|
|
| |
This patch fixes calculating begin of TLS area on AARCH64.
Differential Revision: https://reviews.llvm.org/D24454
llvm-svn: 282571
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D24811
llvm-svn: 282548
|
|
|
|
|
|
| |
sanitizer-windows bot
llvm-svn: 282096
|
|
|
|
| |
llvm-svn: 282092
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a port of XRay to ARM 32-bit, without Thumb support yet.
This is one of 3 commits to different repositories of XRay ARM port. The other 2 are:
https://reviews.llvm.org/D23931 (LLVM)
https://reviews.llvm.org/D23932 (Clang test)
Differential Revision: https://reviews.llvm.org/D23933
llvm-svn: 281971
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch is adding the needed code to compiler-rt to support
dynamic shadow.
This is to support this patch:
https://reviews.llvm.org/D23354
It's adding support for using a shadow placed at a dynamic address determined
at runtime.
The dynamic shadow is required to work on windows 64-bits.
Reviewers: rnk, kcc, vitalybuka
Subscribers: kubabrecka, dberris, llvm-commits, chrisha
Differential Revision: https://reviews.llvm.org/D23363
llvm-svn: 281909
|
|
|
|
|
|
| |
__sanitizer_symbolize_global (to avoid conflict with another definition)
llvm-svn: 281902
|
|
|
|
|
|
| |
globals for now)
llvm-svn: 281886
|
|
|
|
| |
llvm-svn: 281679
|
|
|
|
| |
llvm-svn: 281677
|
|
|
|
|
|
| |
This is a re-commit of r281371, with updated tests.
llvm-svn: 281674
|
|
|
|
|
|
| |
This got committed by mistake. Should fix some bots.
llvm-svn: 281668
|
|
|
|
| |
llvm-svn: 281658
|
|
|
|
|
|
|
|
|
|
|
|
| |
The definitions in sanitizer_common may conflict with definitions from system headers because:
The runtime includes the system headers after the project headers (as per LLVM coding guidelines).
lib/sanitizer_common/sanitizer_internal_defs.h pollutes the namespace of everything defined after it, which is all/most of the sanitizer .h and .cc files and the included system headers with: using namespace __sanitizer; // NOLINT
This patch solves the problem by introducing the namespace only within the sanitizer namespaces as proposed by Dmitry.
Differential Revision: https://reviews.llvm.org/D21947
llvm-svn: 281657
|
|
|
|
|
|
|
| |
This can case crashes in high verbosity mode when demangling fails.
Not including a test case since this is hard to reproduce.
llvm-svn: 281656
|
|
|
|
|
|
|
|
| |
These got out of sync and the tests were failing for me locally. We
assume a 47 bit address space in ASan, so we should do the same in the
tests.
llvm-svn: 281622
|
|
|
|
|
|
|
|
|
|
| |
Don't list __sanitizer_print_memory profile as an INTERFACE_FUNCTION. It
is not exported by ASan; it is exported by user code.
Move the weak definition from asan_win.cc to sanitizer_win.cc to fix the
ubsan tests.
llvm-svn: 281619
|
|
|
|
|
|
| |
Avoid redefining the weak stub when building gotsan.cc
llvm-svn: 281576
|
|
|
|
|
|
| |
__sanitizer_print_memory_profile
llvm-svn: 281574
|
|
|
|
|
|
| |
'weak' doesn't behave like it does on linux.
llvm-svn: 281567
|
|
|
|
| |
llvm-svn: 281553
|
|
|
|
|
|
| |
far this is a very basic heap-profile functionality
llvm-svn: 281546
|