llvm-project/llvm/test/Instrumentation
Alex Shlyapnikov 83e7841419 [HWASan] Port HWASan to Linux x86-64 (LLVM)
Summary:
Porting HWASan to Linux x86-64, first of the three patches, LLVM 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.

One notable difference is that x86-64 has to untag the pointer before use
due to the lack of feature comparable to ARM's TBI (Top Byte Ignore).

Reviewers: eugenis

Subscribers: kristof.beyls, llvm-commits

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

llvm-svn: 328342
2018-03-23 17:57:54 +00:00
..
AddressSanitizer [asan] Fix a false positive ODR violation due to LTO ConstantMerge pass [llvm part, take 3] 2018-03-08 21:02:18 +00:00
BoundsChecking [PM] Port BoundsChecking to the new PM. 2017-11-14 01:30:04 +00:00
DataFlowSanitizer Fix DataFlowSanitizer instrumentation pass to take parameter position changes into account for custom functions. 2018-02-22 19:09:07 +00:00
EfficiencySanitizer Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
HWAddressSanitizer [HWASan] Port HWASan to Linux x86-64 (LLVM) 2018-03-23 17:57:54 +00:00
InstrProfiling [InstrProfiling] Emit the runtime hook when no counters are lowered 2018-02-28 19:00:08 +00:00
MemorySanitizer Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
SanitizerCoverage [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer 2017-08-30 22:49:31 +00:00
ThreadSanitizer Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00