https://github.com/anoopkg6 created https://github.com/llvm/llvm-project/pull/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. >From 9db6b3b010f0fb90f2fa1805e171bb63412a8249 Mon Sep 17 00:00:00 2001 From: anoopkg6 <[email protected]> Date: Thu, 27 Nov 2025 19:17:14 +0100 Subject: [PATCH] Add TySan support for SystemZ - re-submission of original pr#162396 along with build failure fix #169746 --- clang/lib/Driver/ToolChains/Linux.cpp | 2 +- compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake | 2 +- compiler-rt/lib/tysan/tysan_platform.h | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp index 2c741a38fce1a..cdbf21fb90263 100644 --- a/clang/lib/Driver/ToolChains/Linux.cpp +++ b/clang/lib/Driver/ToolChains/Linux.cpp @@ -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; diff --git a/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake b/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake index c10367715396e..f2317de8916e9 100644 --- a/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake +++ b/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake @@ -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}) diff --git a/compiler-rt/lib/tysan/tysan_platform.h b/compiler-rt/lib/tysan/tysan_platform.h index 19f77f0cace6b..96049c8d1c9a2 100644 --- a/compiler-rt/lib/tysan/tysan_platform.h +++ b/compiler-rt/lib/tysan/tysan_platform.h @@ -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 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
