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
|
||||
};
|
||||
|
||||
// ppc64 Linux
|
||||
static const MemoryMapParams Linux_PowerPC64_MemoryMapParams = {
|
||||
0x200000000000, // AndMask
|
||||
0x100000000000, // XorMask
|
||||
0x080000000000, // ShadowBase
|
||||
0x1C0000000000, // OriginBase
|
||||
};
|
||||
|
||||
// i386 FreeBSD
|
||||
static const MemoryMapParams FreeBSD_I386_MemoryMapParams = {
|
||||
0x000180000000, // AndMask
|
||||
@ -262,6 +270,11 @@ static const PlatformMemoryMapParams Linux_MIPS_MemoryMapParams = {
|
||||
&Linux_MIPS64_MemoryMapParams,
|
||||
};
|
||||
|
||||
static const PlatformMemoryMapParams Linux_PowerPC_MemoryMapParams = {
|
||||
NULL,
|
||||
&Linux_PowerPC64_MemoryMapParams,
|
||||
};
|
||||
|
||||
static const PlatformMemoryMapParams FreeBSD_X86_MemoryMapParams = {
|
||||
&FreeBSD_I386_MemoryMapParams,
|
||||
&FreeBSD_X86_64_MemoryMapParams,
|
||||
@ -479,6 +492,10 @@ bool MemorySanitizer::doInitialization(Module &M) {
|
||||
case Triple::mips64el:
|
||||
MapParams = Linux_MIPS_MemoryMapParams.bits64;
|
||||
break;
|
||||
case Triple::ppc64:
|
||||
case Triple::ppc64le:
|
||||
MapParams = Linux_PowerPC_MemoryMapParams.bits64;
|
||||
break;
|
||||
default:
|
||||
report_fatal_error("unsupported architecture");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user