| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
One of my changes [1] included in this release silently bumped the
minimal macOS SDK required for building the TSan runtime to SDK 10.12.
Let's ensure release 10 does not unexpectedly break builders with old
SDKs and add proper minimal SDK checking in CMake for subsequent
releases.
This fix `#ifdef`s out interceptors for newer APIs. Note that the
resulting TSan runtime is less complete: when these newer APIs are used
TSan will report false positives.
Fixes llvm 10 release blocker: #44682
https://bugs.llvm.org/show_bug.cgi?id=44682
[1] 894abb46f891cba2e0ef581650f27f512a7824b4
Reviewed By: dmajor
Differential Revision: https://reviews.llvm.org/D74059
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This skips calling `pthread_self` when `main_thread_identity` hasn't
been initialized yet. `main_thread_identity` is only ever assigned in
`__tsan::InitializePlatform`. This change should be relatively safe; we
are not changing behavior other than skipping the call to `pthread_self`
when `main_thread_identity == 0`.
rdar://57822138
Reviewed By: kubamracek
Differential Revision: https://reviews.llvm.org/D71559
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The flag allows the user to specify a maximum allocation size that the
sanitizers will honor. Any larger allocations will return nullptr or
crash depending on allocator_may_return_null.
Reviewers: kcc, eugenis
Reviewed By: kcc, eugenis
Subscribers: #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D69576
|
|
|
|
|
|
|
|
| |
This #define is in the non-Go ppc64le build but not in the Go build.
Reviewed-in: https://reviews.llvm.org/D68046
Author: randall77 (Keith Randall)
llvm-svn: 374868
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Don't use weak exports when building tsan into a shared library for Go. gcc can't handle the pragmas used to make the weak references.
Include files that have been added since the last update to build.bat. (We should really find a better way to list all the files needed.)
Add windows version defines (WINVER and _WIN32_WINNT) to get AcquireSRWLockExclusive and ReleaseSRWLockExclusive defined.
Define GetProcessMemoryInfo to use the kernel32 version. This is kind of a hack, the windows header files should do this translation for us. I think we're not in the right family partition (we're using Desktop, but that translation only happens for App and System partitions???), but hacking the family partition seems equally gross and I have no idea what the consequences of that might be.
Patch by Keith Randall.
Reviewers: dvyukov, vitalybuka
Reviewed By: vitalybuka
Subscribers: jfb, delcypher, #sanitizers, llvm-commits
Tags: #llvm, #sanitizers
Differential Revision: https://reviews.llvm.org/D68599
llvm-svn: 373984
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Patch by Keith Randall.
Reviewers: dvyukov, vitalybuka
Subscribers: delcypher, jfb, #sanitizers, llvm-commits
Tags: #llvm, #sanitizers
Differential Revision: https://reviews.llvm.org/D68596
llvm-svn: 373983
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: eugenis, jfb
Subscribers: #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D68604
llvm-svn: 373978
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
All other stack trace callers assume that PC contains return address.
HWAsan already use GetNextInstructionPc in similar code.
PR43339
Reviewers: eugenis, kcc, jfb
Subscribers: dexonsmith, dberris, #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D68313
llvm-svn: 373529
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
It's needed to use __GLIBC_PREREQ from <features.h>
tsan didn't let us to include <features.h> by using --sysroot=. to disable system includes on
anything that is not named as "tsan*posix*", "tsan*mac*", "tsan*linux*".
See compiler-rt/lib/tsan/CMakeLists.txt
Reviewers: eugenis, dvyukov, kcc
Reviewed By: kcc
Subscribers: mgorny, #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D68176
llvm-svn: 373282
|
|
|
|
|
|
|
|
|
|
| |
Adding annotation function variants __tsan_write_range_pc and
__tsan_read_range_pc to annotate ranged access to memory while providing a
program counter for the access.
Differential Revision: https://reviews.llvm.org/D66885
llvm-svn: 372730
|
|
|
|
|
|
|
|
|
|
|
| |
This fix allows tsan to report stack traces correctly even in the
presence of mid-stack inlining by the Go compiler.
See https://go-review.googlesource.com/c/go/+/195781 for the Go runtime side of this change.
Author: randall77 (Keith Randall)
Reviewed: https://reviews.llvm.org/D67671
llvm-svn: 372205
|
|
|
|
| |
llvm-svn: 371687
|
|
|
|
|
|
| |
https://github.com/cpplint/cpplint/commit/adb3500107f409ac5491188ae652ac3f4d03d9d3
llvm-svn: 371675
|
|
|
|
|
|
|
|
|
|
|
|
| |
I verified that the test is red without the interceptors.
rdar://40334350
Reviewed By: kubamracek, vitalybuka
Differential Revision: https://reviews.llvm.org/D66616
llvm-svn: 371439
|
|
|
|
| |
llvm-svn: 369601
|
|
|
|
| |
llvm-svn: 369314
|
|
|
|
|
|
|
| |
Rename file `tsan_libdispatch.cpp -> tsan_libdispatch_interceptors.cpp`
to make it clear that it's main purpose is defining interceptors.
llvm-svn: 369289
|
|
|
|
|
|
| |
This reverts commit 8191585b36eb4963002cce43fb2e79e7fb05c3d6.
llvm-svn: 369165
|
|
|
|
| |
llvm-svn: 369164
|
|
|
|
|
|
|
|
| |
The xpc_connection_* APIs that we are intercepting are available
starting at macOS 10.7. This is old enough so that we don't need to
guard them.
llvm-svn: 369150
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
It appears that since https://reviews.llvm.org/D54889, BackgroundThread()
crashes immediately because cur_thread()-> will return a null pointer
which is then dereferenced. I'm not sure why I only see this issue on
FreeBSD and not Linux since it should also be unintialized on other platforms.
Reviewers: yuri, dvyukov, dim, emaste
Subscribers: kubamracek, krytarowski, #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D65705
llvm-svn: 368103
|
|
|
|
|
|
|
|
|
|
|
|
| |
in madvise mode, the shadow pages will be migrated only via madvise explicit calls.
Reviewers: vitalybuka
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D65775
llvm-svn: 368090
|
|
|
|
|
|
|
|
|
|
|
|
| |
Disabling Transparent huge page mode refactored in one function.
Reviewers: vitalybuka
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D65771
llvm-svn: 367925
|
|
|
|
| |
llvm-svn: 367888
|
|
|
|
| |
llvm-svn: 367589
|
|
|
|
|
|
|
|
|
| |
Like r367463, but for tsan/{benchmarks,dd,go}.
The files benchmarks aren't referenced in the build anywhere and where added
in 2012 with the comment "no Makefiles yet".
llvm-svn: 367567
|
|
|
|
|
|
| |
Like r367463, but for tsan/tests/{rtl,unit}.
llvm-svn: 367566
|
|
|
|
|
|
| |
Like r367463, but for tsan/rtl.
llvm-svn: 367564
|
|
|
|
| |
llvm-svn: 367469
|
|
|
|
|
|
|
|
|
|
|
| |
See https://reviews.llvm.org/D58620 for discussion, and for the commands
I ran. In addition I also ran
for f in $(svn diff | diffstat | grep .cc | cut -f 2 -d ' '); do rg $f . ; done
and manually updated (many) references to renamed files found by that.
llvm-svn: 367463
|
|
|
|
|
|
|
| |
Cleanup ARM64 assembly after removing unnecessary computation of mangled
stack pointer in previous commit.
llvm-svn: 366258
|
|
|
|
|
|
|
| |
Remove now-unused assembly code for determining xor key on
Linux/AArch64. This is the final commit of this refactoring.
llvm-svn: 366225
|
|
|
|
| |
llvm-svn: 366150
|
|
|
|
| |
llvm-svn: 366131
|
|
|
|
|
|
|
| |
Switch over to computing the xor key in C, instead of assembly for
Linux/AArch64.
llvm-svn: 366126
|
|
|
|
|
|
| |
NFC.
llvm-svn: 365982
|
|
|
|
|
|
|
| |
This should fix the "undefined reference to
tsan::interception::real_setjmp" linker errors.
llvm-svn: 365806
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Combine few relatively small changes into one:
- implement internal_ptrace() and internal_clone() for NetBSD
- add support for stoptheworld based on the ptrace(2) API
- define COMPILER_RT_HAS_LSAN for NetBSD
- enable tests for NetBSD/amd64
Inspired by the original implementation by Christos Zoulas in netbsd/src for GCC.
The implementation is in theory CPU independent through well defined macros
across all NetBSD ports, however only the x86_64 version was tested.
Reviewers: mgorny, dvyukov, vitalybuka, joerg, jfb
Reviewed By: vitalybuka
Subscribers: dexonsmith, jfb, srhines, kubamracek, llvm-commits, christos
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D64057
llvm-svn: 365735
|
|
|
|
| |
llvm-svn: 365707
|
|
|
|
| |
llvm-svn: 365693
|
|
|
|
| |
llvm-svn: 365681
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pt.8"
Fix compilation errors related to `SANITIZER_GO` `#ifdef`s.
Refine longjmp key management. For Linux, re-implement key retrieval in
C (instead of assembly). Removal of `InitializeGuardPtr` and a final
round of cleanups will be done in the next commit.
Reviewed By: dvyukov
Differential Revision: https://reviews.llvm.org/D64092
> llvm-svn: 365513
llvm-svn: 365560
|
|
|
|
|
|
| |
NFC.
llvm-svn: 365554
|
|
|
|
|
|
|
|
| |
pt.8"
This reverts commit 521f77e6351fd921f5a81027c7c72addca378989.
llvm-svn: 365534
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refine longjmp key management. For Linux, re-implement key retrieval in
C (instead of assembly). Removal of `InitializeGuardPtr` and a final
round of cleanups will be done in the next commit.
Reviewed By: dvyukov
Differential Revision: https://reviews.llvm.org/D64092
llvm-svn: 365513
|
|
|
|
| |
llvm-svn: 365415
|
|
|
|
|
|
| |
This reverts commit be4148062b155f3be52e0f6ebcb228f2dc137dcf.
llvm-svn: 365367
|
|
|
|
|
|
|
|
| |
pt.4"
This reverts commit 6bb13da7c16f2a677cc285bb6ffeb79dfb0cfe64.
llvm-svn: 365244
|
|
|
|
|
|
|
|
|
|
| |
Remove unnecessary computation of mangled SP for ARM64 architecture.
Reviewed By: dvyukov
Differential Revision: https://reviews.llvm.org/D64022
llvm-svn: 365230
|
|
|
|
|
|
|
|
|
|
|
| |
For x86_64, since we don't clobber %rsi (2nd argument) anymore, we don't
have to save/restore it.
Reviewed By: dvyukov
Differential Revision: https://reviews.llvm.org/D63946
llvm-svn: 365229
|