forked from OSchip/llvm-project
[asan] adding ShadowOffset64 for mips64, patch by Kumar Sukhani
llvm-svn: 221725
This commit is contained in:
parent
fc8c61a5b8
commit
231bd088d8
|
|
@ -61,6 +61,7 @@ static const uint64_t kDefaultShadowOffset64 = 1ULL << 44;
|
|||
static const uint64_t kSmallX86_64ShadowOffset = 0x7FFF8000; // < 2G.
|
||||
static const uint64_t kPPC64_ShadowOffset64 = 1ULL << 41;
|
||||
static const uint64_t kMIPS32_ShadowOffset32 = 0x0aaa0000;
|
||||
static const uint64_t kMIPS64_ShadowOffset64 = 1ULL << 36;
|
||||
static const uint64_t kFreeBSD_ShadowOffset32 = 1ULL << 30;
|
||||
static const uint64_t kFreeBSD_ShadowOffset64 = 1ULL << 46;
|
||||
|
||||
|
|
@ -298,6 +299,8 @@ static ShadowMapping getShadowMapping(const Module &M, int LongSize) {
|
|||
bool IsX86_64 = TargetTriple.getArch() == llvm::Triple::x86_64;
|
||||
bool IsMIPS32 = TargetTriple.getArch() == llvm::Triple::mips ||
|
||||
TargetTriple.getArch() == llvm::Triple::mipsel;
|
||||
bool IsMIPS64 = TargetTriple.getArch() == llvm::Triple::mips64 ||
|
||||
TargetTriple.getArch() == llvm::Triple::mips64el;
|
||||
|
||||
ShadowMapping Mapping;
|
||||
|
||||
|
|
@ -319,6 +322,8 @@ static ShadowMapping getShadowMapping(const Module &M, int LongSize) {
|
|||
Mapping.Offset = kFreeBSD_ShadowOffset64;
|
||||
else if (IsLinux && IsX86_64)
|
||||
Mapping.Offset = kSmallX86_64ShadowOffset;
|
||||
else if (IsMIPS64)
|
||||
Mapping.Offset = kMIPS64_ShadowOffset64;
|
||||
else
|
||||
Mapping.Offset = kDefaultShadowOffset64;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue