Go to file
Alex Shlyapnikov 5cd35ed4fe [HWASan] Port HWASan to Linux x86-64 (compiler-rt)
Summary:
Porting HWASan to Linux x86-64, first of the three patches, compiler-rt part.

The approach is similar to ARM case, trap signal is used to communicate
memory tag check failure. int3 instruction is used to generate a signal,
access parameters are stored in nop [eax + offset] instruction immediately
following the int3 one

Had to add HWASan init on malloc because, due to much less interceptors
defined (most other sanitizers intercept much more and get initalized
via one of those interceptors or don't care about malloc), HWASan was not
initialized yet when libstdc++ was trying to allocate memory for its own
fixed-size heap, which led to CHECK-fail in AllocateFromLocalPool.

Also added the CHECK() failure handler with more detailed message and
stack reporting.

Reviewers: eugenis

Subscribers: kubamracek, dberris, mgorny, kristof.beyls, delcypher, #sanitizers, llvm-commits

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

llvm-svn: 328385
2018-03-23 23:38:04 +00:00
clang [libFuzzer] Use OptForFuzzing attribute with -fsanitize=fuzzer. 2018-03-23 23:35:28 +00:00
clang-tools-extra Fix misuse of llvm::YAML in clangd test. 2018-03-23 19:16:07 +00:00
compiler-rt [HWASan] Port HWASan to Linux x86-64 (compiler-rt) 2018-03-23 23:38:04 +00:00
debuginfo-tests [Darwin] Specify DWARF 2/4 when running apple accelerator tests. 2018-02-26 20:56:45 +00:00
libclc remainder: Port from amd builtins 2018-03-19 01:01:10 +00:00
libcxx Add temporary printouts to test to help debug failures. 2018-03-22 23:14:20 +00:00
libcxxabi [demangler] Support for <template-param>s in generic lambdas. 2018-03-16 03:06:30 +00:00
libunwind [libunwind][MIPS]: Add support for unwinding in N32 processes. 2018-02-27 21:24:02 +00:00
lld Remove "FIXME" from a comment. 2018-03-23 22:48:17 +00:00
lldb Remove CommandObjectStats.cpp & CleanUpTest.cpp from 2018-03-23 23:32:16 +00:00
llgo
llvm Fix Layering, move instrumentation transform headers into Instrumentation subdirectory 2018-03-23 22:11:06 +00:00
openmp Fixed __kmpc_get_target_offload() to call library initialization. 2018-03-22 18:51:51 +00:00
parallel-libs
polly Update for LLVM header movement 2018-03-21 23:21:10 +00:00
README.md Add an svn project to contain the files that appear at the root of the 2017-10-19 21:09:49 +00:00

README.md

Low Level Virtual Machine (LLVM)

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