[clang] [clang][rtsan] Disallow type and realtime sanitizer combo (PR #192681)
Chris Apple via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 17 08:09:34 PDT 2026
https://github.com/cjappl created https://github.com/llvm/llvm-project/pull/192681
Both of these sanitizer runtimes define similar interceptors, so they may not be used together
>From e8057b931b9c95b56c4b13221abc3463c001cc02 Mon Sep 17 00:00:00 2001
From: Chris Apple <cja-private at pm.me>
Date: Fri, 17 Apr 2026 08:07:12 -0700
Subject: [PATCH] [clang][rtsan] Disallow type and realtime sanitizer combo
---
clang/lib/Driver/SanitizerArgs.cpp | 3 ++-
clang/test/Driver/fsanitize-realtime.c | 5 +++++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/clang/lib/Driver/SanitizerArgs.cpp b/clang/lib/Driver/SanitizerArgs.cpp
index 78010b9e659d8..4ae46d0b6c9f1 100644
--- a/clang/lib/Driver/SanitizerArgs.cpp
+++ b/clang/lib/Driver/SanitizerArgs.cpp
@@ -668,7 +668,8 @@ SanitizerArgs::SanitizerArgs(const ToolChain &TC,
std::make_pair(SanitizerKind::KCFI, SanitizerKind::Function),
std::make_pair(SanitizerKind::Realtime,
SanitizerKind::Address | SanitizerKind::Thread |
- SanitizerKind::Undefined | SanitizerKind::Memory),
+ SanitizerKind::Undefined | SanitizerKind::Memory |
+ SanitizerKind::Type),
std::make_pair(SanitizerKind::AllocToken,
SanitizerKind::Address | SanitizerKind::HWAddress |
SanitizerKind::KernelAddress |
diff --git a/clang/test/Driver/fsanitize-realtime.c b/clang/test/Driver/fsanitize-realtime.c
index 55c7fae00083f..9b1c287ba1813 100644
--- a/clang/test/Driver/fsanitize-realtime.c
+++ b/clang/test/Driver/fsanitize-realtime.c
@@ -43,3 +43,8 @@
// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=realtime,undefined %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-REALTIME-UBSAN
// CHECK-REALTIME-UBSAN: error: invalid argument '-fsanitize=realtime' not allowed with '-fsanitize=undefined'
+
+// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=type,realtime %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-REALTIME-TYSAN
+// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=realtime,type %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-REALTIME-TYSAN
+// CHECK-REALTIME-TYSAN: error: invalid argument '-fsanitize=realtime' not allowed with '-fsanitize=type'
+
More information about the cfe-commits
mailing list