mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-14 15:39:00 +00:00
Teach LLVM about the PPC64 memory sanitizer implementation.
Summary: This is the LLVM part of the PPC memory sanitizer implementation in D10648. Reviewers: kcc, samsonov, willschm, wschmidt, eugenis Reviewed By: eugenis Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10649 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240627 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
780a0c9266
commit
0ee17729e5
@ -236,6 +236,14 @@ static const MemoryMapParams Linux_MIPS64_MemoryMapParams = {
|
|||||||
0x002000000000, // OriginBase
|
0x002000000000, // OriginBase
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// ppc64 Linux
|
||||||
|
static const MemoryMapParams Linux_PowerPC64_MemoryMapParams = {
|
||||||
|
0x200000000000, // AndMask
|
||||||
|
0x100000000000, // XorMask
|
||||||
|
0x080000000000, // ShadowBase
|
||||||
|
0x1C0000000000, // OriginBase
|
||||||
|
};
|
||||||
|
|
||||||
// i386 FreeBSD
|
// i386 FreeBSD
|
||||||
static const MemoryMapParams FreeBSD_I386_MemoryMapParams = {
|
static const MemoryMapParams FreeBSD_I386_MemoryMapParams = {
|
||||||
0x000180000000, // AndMask
|
0x000180000000, // AndMask
|
||||||
@ -262,6 +270,11 @@ static const PlatformMemoryMapParams Linux_MIPS_MemoryMapParams = {
|
|||||||
&Linux_MIPS64_MemoryMapParams,
|
&Linux_MIPS64_MemoryMapParams,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const PlatformMemoryMapParams Linux_PowerPC_MemoryMapParams = {
|
||||||
|
NULL,
|
||||||
|
&Linux_PowerPC64_MemoryMapParams,
|
||||||
|
};
|
||||||
|
|
||||||
static const PlatformMemoryMapParams FreeBSD_X86_MemoryMapParams = {
|
static const PlatformMemoryMapParams FreeBSD_X86_MemoryMapParams = {
|
||||||
&FreeBSD_I386_MemoryMapParams,
|
&FreeBSD_I386_MemoryMapParams,
|
||||||
&FreeBSD_X86_64_MemoryMapParams,
|
&FreeBSD_X86_64_MemoryMapParams,
|
||||||
@ -479,6 +492,10 @@ bool MemorySanitizer::doInitialization(Module &M) {
|
|||||||
case Triple::mips64el:
|
case Triple::mips64el:
|
||||||
MapParams = Linux_MIPS_MemoryMapParams.bits64;
|
MapParams = Linux_MIPS_MemoryMapParams.bits64;
|
||||||
break;
|
break;
|
||||||
|
case Triple::ppc64:
|
||||||
|
case Triple::ppc64le:
|
||||||
|
MapParams = Linux_PowerPC_MemoryMapParams.bits64;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
report_fatal_error("unsupported architecture");
|
report_fatal_error("unsupported architecture");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user