forked from OSchip/llvm-project
[asan] Add an offset for the kernel address sanitizer on FreeBSD
This is based on a port of the sanitizer runtime to the FreeBSD kernel that has been commited as https://cgit.freebsd.org/src/commit/?id=38da497a4dfcf1979c8c2b0e9f3fa0564035c147 and the following commits. Reviewed By: emaste, dim Differential Revision: https://reviews.llvm.org/D98285
This commit is contained in:
parent
99eca1bd9c
commit
f511dc75e4
|
@ -108,6 +108,7 @@ static const uint64_t kAArch64_ShadowOffset64 = 1ULL << 36;
|
|||
static const uint64_t kRISCV64_ShadowOffset64 = 0xd55550000;
|
||||
static const uint64_t kFreeBSD_ShadowOffset32 = 1ULL << 30;
|
||||
static const uint64_t kFreeBSD_ShadowOffset64 = 1ULL << 46;
|
||||
static const uint64_t kFreeBSDKasan_ShadowOffset64 = 0xdffff7c000000000;
|
||||
static const uint64_t kNetBSD_ShadowOffset32 = 1ULL << 30;
|
||||
static const uint64_t kNetBSD_ShadowOffset64 = 1ULL << 46;
|
||||
static const uint64_t kNetBSDKasan_ShadowOffset64 = 0xdfff900000000000;
|
||||
|
@ -493,9 +494,12 @@ static ShadowMapping getShadowMapping(Triple &TargetTriple, int LongSize,
|
|||
Mapping.Offset = kPPC64_ShadowOffset64;
|
||||
else if (IsSystemZ)
|
||||
Mapping.Offset = kSystemZ_ShadowOffset64;
|
||||
else if (IsFreeBSD && !IsMIPS64)
|
||||
Mapping.Offset = kFreeBSD_ShadowOffset64;
|
||||
else if (IsNetBSD) {
|
||||
else if (IsFreeBSD && !IsMIPS64) {
|
||||
if (IsKasan)
|
||||
Mapping.Offset = kFreeBSDKasan_ShadowOffset64;
|
||||
else
|
||||
Mapping.Offset = kFreeBSD_ShadowOffset64;
|
||||
} else if (IsNetBSD) {
|
||||
if (IsKasan)
|
||||
Mapping.Offset = kNetBSDKasan_ShadowOffset64;
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue