Author: Brian Cain Date: 2026-04-14T09:12:17-05:00 New Revision: 4f5e8792a4fb5147c4e5c97fa75a89e1d1f6b682
URL: https://github.com/llvm/llvm-project/commit/4f5e8792a4fb5147c4e5c97fa75a89e1d1f6b682 DIFF: https://github.com/llvm/llvm-project/commit/4f5e8792a4fb5147c4e5c97fa75a89e1d1f6b682.diff LOG: [clang][Driver] Enable -fsanitize=type for Hexagon Linux (#191604) Allow the TypeSanitizer to be used on Hexagon Linux targets. Added: Modified: clang/lib/Driver/ToolChains/Linux.cpp clang/test/Driver/sanitizer-ld.c Removed: ################################################################################ diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp index c331f69c0bc2e..5691f67955e6d 100644 --- a/clang/lib/Driver/ToolChains/Linux.cpp +++ b/clang/lib/Driver/ToolChains/Linux.cpp @@ -976,7 +976,7 @@ SanitizerMask Linux::getSupportedSanitizers() const { if (IsX86_64 || IsMIPS64 || IsAArch64 || IsPowerPC64 || IsSystemZ || IsLoongArch64 || IsRISCV64) Res |= SanitizerKind::Thread; - if (IsX86_64 || IsAArch64 || IsSystemZ) + if (IsX86_64 || IsAArch64 || IsSystemZ || IsHexagon) Res |= SanitizerKind::Type; if (IsX86_64 || IsSystemZ || IsPowerPC64) Res |= SanitizerKind::KernelMemory; diff --git a/clang/test/Driver/sanitizer-ld.c b/clang/test/Driver/sanitizer-ld.c index a292b93a5c714..f55c2917408a2 100644 --- a/clang/test/Driver/sanitizer-ld.c +++ b/clang/test/Driver/sanitizer-ld.c @@ -372,6 +372,16 @@ // CHECK-TYSAN-DARWIN-CXX: libclang_rt.tysan_osx_dynamic.dylib // CHECK-TYSAN-DARWIN-CXX-NOT: -lc++abi +// RUN: %clang %s -### -o %t.o 2>&1 \ +// RUN: --target=hexagon-unknown-linux-musl -fuse-ld=ld \ +// RUN: -fsanitize=type \ +// RUN: -resource-dir=%S/Inputs/resource_dir \ +// RUN: --sysroot=%S/Inputs/basic_linux_tree \ +// RUN: | %{filecheck} --check-prefix=CHECK-TYSAN-HEXAGON +// +// CHECK-TYSAN-HEXAGON: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.lld)?(.exe)?}}" +// CHECK-TYSAN-HEXAGON: "--whole-archive" "{{.*}}libclang_rt.tysan{{[^.]*}}.a" "--no-whole-archive" + // RUN: %clangxx -### %s 2>&1 \ // RUN: --target=x86_64-unknown-linux -fuse-ld=ld -stdlib=platform -lstdc++ \ // RUN: -fsanitize=thread \ _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
