mirror of
https://github.com/intel/llvm.git
synced 2026-01-13 02:38:07 +08:00
[TySan] TySan support for SystemZ - Re-submission of original pr#162396 (#169850)
This is a re-submission of original reverted patch [(#162396) ](https://github.com/llvm/llvm-project/pull/162396url)for adding TySan support for systemzZ along with build failure patch [#169746](https://github.com/llvm/llvm-project/pull/169746). See conversations in #169746. Co-authored-by: anoopkg6 <anoopkg6@github.com>
This commit is contained in:
@@ -922,7 +922,7 @@ SanitizerMask Linux::getSupportedSanitizers() const {
|
||||
if (IsX86_64 || IsMIPS64 || IsAArch64 || IsPowerPC64 || IsSystemZ ||
|
||||
IsLoongArch64 || IsRISCV64)
|
||||
Res |= SanitizerKind::Thread;
|
||||
if (IsX86_64 || IsAArch64)
|
||||
if (IsX86_64 || IsAArch64 || IsSystemZ)
|
||||
Res |= SanitizerKind::Type;
|
||||
if (IsX86_64 || IsSystemZ || IsPowerPC64)
|
||||
Res |= SanitizerKind::KernelMemory;
|
||||
|
||||
@@ -89,7 +89,7 @@ else()
|
||||
set(ALL_TSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64} ${PPC64} ${S390X}
|
||||
${LOONGARCH64} ${RISCV64})
|
||||
endif()
|
||||
set(ALL_TYSAN_SUPPORTED_ARCH ${X86_64} ${ARM64})
|
||||
set(ALL_TYSAN_SUPPORTED_ARCH ${X86_64} ${ARM64} ${S390X})
|
||||
set(ALL_UBSAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${RISCV64}
|
||||
${MIPS32} ${MIPS64} ${PPC64} ${S390X} ${SPARC} ${SPARCV9} ${HEXAGON}
|
||||
${LOONGARCH64})
|
||||
|
||||
@@ -45,6 +45,13 @@ struct Mapping48 {
|
||||
static const uptr kPtrShift = 3;
|
||||
};
|
||||
#define TYSAN_RUNTIME_VMA 1
|
||||
#elif defined(__s390x__)
|
||||
struct Mapping {
|
||||
static const uptr kShadowAddr = 0x080000000000ULL;
|
||||
static const uptr kAppAddr = 0x460000000000ULL;
|
||||
static const uptr kAppMemMsk = ~0xC00000000000ULL;
|
||||
static const uptr kPtrShift = 3;
|
||||
};
|
||||
#else
|
||||
#error "TySan not supported for this platform!"
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user