Go to file
Mitch Phillips 05d1a2bd1b [GWP-ASan] Guard against recursive allocs. Pack TLS for perf.
Summary:
Add a recursivity guard for GPA::allocate(). This means that any
recursive allocations will fall back to the supporting allocator. In future
patches, we will introduce stack trace collection support. The unwinder will be
provided by the supporting allocator, and we can't guarantee they don't call
malloc() (e.g. backtrace() on posix may call dlopen(), which may call malloc().

Furthermore, this patch packs the new TLS recursivity guard into a thread local
struct, so that TLS variables should be hopefully not fall across cache lines.

Reviewers: vlad.tsyrklevich, morehouse, eugenis

Reviewed By: eugenis

Subscribers: kubamracek, #sanitizers, llvm-commits, eugenis

Tags: #sanitizers, #llvm

Differential Revision: https://reviews.llvm.org/D63736

llvm-svn: 364356
2019-06-25 22:29:05 +00:00
clang android: enable double-word CAS on x64 2019-06-25 21:43:34 +00:00
clang-tools-extra [clang-tidy] Update documentation for Qt Creator integration. 2019-06-25 13:50:09 +00:00
compiler-rt [GWP-ASan] Guard against recursive allocs. Pack TLS for perf. 2019-06-25 22:29:05 +00:00
debuginfo-tests [Python 3] Decode check_ouput result as UTF-8 2019-06-25 15:58:32 +00:00
libclc
libcxx Change the ABI version and ABI namespace to be `_LIBCPP_VERSION` 2019-06-25 22:13:39 +00:00
libcxxabi
libunwind
lld [WebAssembly] Error on archives without a symbol index 2019-06-25 17:49:35 +00:00
lldb Revert "Add ReadCStringFromMemory for faster string reads" 2019-06-25 22:22:13 +00:00
llgo
llvm [MachinePipeliner] Fix risky iterator usage R++, --R 2019-06-25 21:50:56 +00:00
openmp
parallel-libs
polly
pstl
.arcconfig
.clang-format
.clang-tidy
.gitignore
README.md

README.md

The LLVM Compiler Infrastructure

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.