forked from OSchip/llvm-project
Register NetBSD/x86_64 in MemorySanitizer.cpp
Summary: Reuse the Linux new mapping as it is. Sponsored by <The NetBSD Foundation> Reviewers: joerg, eugenis, vitalybuka Reviewed By: vitalybuka Subscribers: llvm-commits, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D41022 llvm-svn: 320219
This commit is contained in:
parent
9ecd493129
commit
3d3f91e832
|
@ -320,6 +320,14 @@ static const MemoryMapParams FreeBSD_X86_64_MemoryMapParams = {
|
|||
0x380000000000, // OriginBase
|
||||
};
|
||||
|
||||
// x86_64 NetBSD
|
||||
static const MemoryMapParams NetBSD_X86_64_MemoryMapParams = {
|
||||
0, // AndMask
|
||||
0x500000000000, // XorMask
|
||||
0, // ShadowBase
|
||||
0x100000000000, // OriginBase
|
||||
};
|
||||
|
||||
static const PlatformMemoryMapParams Linux_X86_MemoryMapParams = {
|
||||
&Linux_I386_MemoryMapParams,
|
||||
&Linux_X86_64_MemoryMapParams,
|
||||
|
@ -345,6 +353,11 @@ static const PlatformMemoryMapParams FreeBSD_X86_MemoryMapParams = {
|
|||
&FreeBSD_X86_64_MemoryMapParams,
|
||||
};
|
||||
|
||||
static const PlatformMemoryMapParams NetBSD_X86_MemoryMapParams = {
|
||||
nullptr,
|
||||
&NetBSD_X86_64_MemoryMapParams,
|
||||
};
|
||||
|
||||
namespace {
|
||||
|
||||
/// \brief An instrumentation pass implementing detection of uninitialized
|
||||
|
@ -577,6 +590,15 @@ bool MemorySanitizer::doInitialization(Module &M) {
|
|||
report_fatal_error("unsupported architecture");
|
||||
}
|
||||
break;
|
||||
case Triple::NetBSD:
|
||||
switch (TargetTriple.getArch()) {
|
||||
case Triple::x86_64:
|
||||
MapParams = NetBSD_X86_MemoryMapParams.bits64;
|
||||
break;
|
||||
default:
|
||||
report_fatal_error("unsupported architecture");
|
||||
}
|
||||
break;
|
||||
case Triple::Linux:
|
||||
switch (TargetTriple.getArch()) {
|
||||
case Triple::x86_64:
|
||||
|
|
Loading…
Reference in New Issue