Add NetBSD ASAN shadow mapping for x86-64
Summary: The maximal virtual address on NetBSD/amd64 is 0x7f7ffffff000. Define shadow offset 0x400000000000 (1ULL << 46). Sponsored by <The NetBSD Foundation> Reviewers: joerg, vitalybuka, filcab, fjricci, kcc, eugenis, pcc Reviewed By: kcc Subscribers: llvm-commits, kubamracek, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D36587 llvm-svn: 311937
This commit is contained in:
parent
5ad6bdf2fd
commit
357bbc57f9
|
@ -115,6 +115,13 @@
|
|||
// || `[0x40000000, 0x47ffffff]` || LowShadow ||
|
||||
// || `[0x00000000, 0x3fffffff]` || LowMem ||
|
||||
//
|
||||
// Shadow mapping on NetBSD/x86-64 with SHADOW_OFFSET == 0x400000000000:
|
||||
// || `[0x4feffffffe01, 0x7f7ffffff000]` || HighMem ||
|
||||
// || `[0x49fdffffffc0, 0x4feffffffe00]` || HighShadow ||
|
||||
// || `[0x480000000000, 0x49fdffffffbf]` || ShadowGap ||
|
||||
// || `[0x400000000000, 0x47ffffffffff]` || LowShadow ||
|
||||
// || `[0x000000000000, 0x3fffffffffff]` || LowMem ||
|
||||
//
|
||||
// Default Windows/i386 mapping:
|
||||
// (the exact location of HighShadow/HighMem may vary depending
|
||||
// on WoW64, /LARGEADDRESSAWARE, etc).
|
||||
|
@ -140,6 +147,7 @@ static const u64 kPPC64_ShadowOffset64 = 1ULL << 41;
|
|||
static const u64 kSystemZ_ShadowOffset64 = 1ULL << 52;
|
||||
static const u64 kFreeBSD_ShadowOffset32 = 1ULL << 30; // 0x40000000
|
||||
static const u64 kFreeBSD_ShadowOffset64 = 1ULL << 46; // 0x400000000000
|
||||
static const u64 kNetBSD_ShadowOffset64 = 1ULL << 46; // 0x400000000000
|
||||
static const u64 kWindowsShadowOffset32 = 3ULL << 28; // 0x30000000
|
||||
|
||||
#define SHADOW_SCALE kDefaultShadowScale
|
||||
|
@ -179,6 +187,8 @@ static const u64 kWindowsShadowOffset32 = 3ULL << 28; // 0x30000000
|
|||
# define SHADOW_OFFSET kSystemZ_ShadowOffset64
|
||||
# elif SANITIZER_FREEBSD
|
||||
# define SHADOW_OFFSET kFreeBSD_ShadowOffset64
|
||||
# elif SANITIZER_NETBSD
|
||||
# define SHADOW_OFFSET kNetBSD_ShadowOffset64
|
||||
# elif SANITIZER_MAC
|
||||
# define SHADOW_OFFSET kDefaultShadowOffset64
|
||||
# elif defined(__mips64)
|
||||
|
|
Loading…
Reference in New Issue