mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 12:41:49 +01:00
Revert "[hwasan] Android: Switch from TLS_SLOT_TSAN(8) to TLS_SLOT_SANITIZER(6)"
Breaks sanitizer-android buildbot. This reverts commit af8443a984c3b491c9ca2996b8d126ea31e5ecbe. llvm-svn: 349092
This commit is contained in:
parent
6b61a418d6
commit
4765d46c23
@ -703,12 +703,10 @@ Value *HWAddressSanitizer::untagPointer(IRBuilder<> &IRB, Value *PtrLong) {
|
||||
Value *HWAddressSanitizer::getHwasanThreadSlotPtr(IRBuilder<> &IRB, Type *Ty) {
|
||||
Module *M = IRB.GetInsertBlock()->getParent()->getParent();
|
||||
if (TargetTriple.isAArch64() && TargetTriple.isAndroid()) {
|
||||
// Android provides a fixed TLS slot for sanitizers. See TLS_SLOT_SANITIZER
|
||||
// in Bionic's libc/private/bionic_tls.h.
|
||||
Function *ThreadPointerFunc =
|
||||
Intrinsic::getDeclaration(M, Intrinsic::thread_pointer);
|
||||
Value *SlotPtr = IRB.CreatePointerCast(
|
||||
IRB.CreateConstGEP1_32(IRB.CreateCall(ThreadPointerFunc), 0x30),
|
||||
IRB.CreateConstGEP1_32(IRB.CreateCall(ThreadPointerFunc), 0x40),
|
||||
Ty->getPointerTo(0));
|
||||
return SlotPtr;
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ define i32 @test_load(i32* %a) sanitize_hwaddress {
|
||||
; CHECK-GLOBAL: load i64, i64* @__hwasan_shadow_memory_dynamic_address
|
||||
|
||||
; CHECK-TLS: %[[A:[^ ]*]] = call i8* @llvm.thread.pointer()
|
||||
; CHECK-TLS: %[[B:[^ ]*]] = getelementptr i8, i8* %[[A]], i32 48
|
||||
; CHECK-TLS: %[[B:[^ ]*]] = getelementptr i8, i8* %[[A]], i32 64
|
||||
; CHECK-TLS: %[[C:[^ ]*]] = bitcast i8* %[[B]] to i64*
|
||||
; CHECK-TLS: %[[D:[^ ]*]] = load i64, i64* %[[C]]
|
||||
; CHECK-TLS: %[[E:[^ ]*]] = or i64 %[[D]], 4294967295
|
||||
@ -60,7 +60,7 @@ define void @test_alloca() sanitize_hwaddress {
|
||||
; CHECK-GLOBAL: load i64, i64* @__hwasan_shadow_memory_dynamic_address
|
||||
|
||||
; CHECK-TLS: %[[A:[^ ]*]] = call i8* @llvm.thread.pointer()
|
||||
; CHECK-TLS: %[[B:[^ ]*]] = getelementptr i8, i8* %[[A]], i32 48
|
||||
; CHECK-TLS: %[[B:[^ ]*]] = getelementptr i8, i8* %[[A]], i32 64
|
||||
; CHECK-TLS: %[[C:[^ ]*]] = bitcast i8* %[[B]] to i64*
|
||||
; CHECK-TLS: %[[D:[^ ]*]] = load i64, i64* %[[C]]
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user