forked from OSchip/llvm-project
d1aad26589
Android libc provides a fixed TLS slot for the unsafe stack pointer, and this change implements direct access to that slot on AArch64 via __builtin_thread_pointer() + offset. This change also moves more code into TargetLowering and its target-specific subclasses to get rid of target-specific codegen in SafeStackPass. This change does not touch the ARM backend because ARM lowers builting_thread_pointer as aeabi_read_tp, which is not available on Android. The previous iteration of this change was reverted in r250461. This version leaves the generic, compiler-rt based implementation in SafeStack.cpp instead of moving it to TargetLoweringBase in order to allow testing without a TargetMachine. llvm-svn: 251324 |
||
---|---|---|
.. | ||
AddressSanitizer.cpp | ||
BoundsChecking.cpp | ||
CMakeLists.txt | ||
DataFlowSanitizer.cpp | ||
GCOVProfiling.cpp | ||
InstrProfiling.cpp | ||
Instrumentation.cpp | ||
LLVMBuild.txt | ||
Makefile | ||
MaximumSpanningTree.h | ||
MemorySanitizer.cpp | ||
SafeStack.cpp | ||
SanitizerCoverage.cpp | ||
ThreadSanitizer.cpp |