https://github.com/pzhengqc updated 
https://github.com/llvm/llvm-project/pull/182350

>From 0f12f85a73c40b7e51efd1dc406a760a258ac966 Mon Sep 17 00:00:00 2001
From: Pengxuan Zheng <[email protected]>
Date: Thu, 19 Feb 2026 11:30:31 -0800
Subject: [PATCH] [Multilib] Expose sanitizer flags as multilib flags for
 RISC-V

This allows multilib selection based on sanitizer flags for RISC-V.
---
 clang/lib/Driver/ToolChain.cpp                  | 3 +++
 clang/test/Driver/print-multi-selection-flags.c | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp
index 0eee7f917d2b8..4add362562391 100644
--- a/clang/lib/Driver/ToolChain.cpp
+++ b/clang/lib/Driver/ToolChain.cpp
@@ -334,6 +334,9 @@ static void getRISCVMultilibFlags(const Driver &D, const 
llvm::Triple &Triple,
     Result.push_back("-march=" + (*ISAInfo)->toString());
 
   Result.push_back(("-mabi=" + riscv::getRISCVABI(Args, Triple)).str());
+
+  for (const Arg *SanitizeArg : Args.filtered(options::OPT_fsanitize_EQ))
+    Result.push_back(SanitizeArg->getAsString(Args));
 }
 
 Multilib::flags_list
diff --git a/clang/test/Driver/print-multi-selection-flags.c 
b/clang/test/Driver/print-multi-selection-flags.c
index b1a0a29ec4180..36d39621600ed 100644
--- a/clang/test/Driver/print-multi-selection-flags.c
+++ b/clang/test/Driver/print-multi-selection-flags.c
@@ -86,6 +86,9 @@
 // RUN: %clang -multi-lib-config=%S/Inputs/multilib/empty.yaml 
-print-multi-flags-experimental --target=aarch64-none-elf -mbig-endian | 
FileCheck --check-prefix=CHECK-BIG-ENDIAN %s
 // CHECK-BIG-ENDIAN: -mbig-endian
 
+// RUN: %clang -multi-lib-config=%S/Inputs/multilib/empty.yaml 
-print-multi-flags-experimental --target=riscv64-none-elf 
-fsanitize=shadow-call-stack | FileCheck --check-prefix=CHECK-SANITIZE %s
+// CHECK-SANITIZE: -fsanitize=shadow-call-stack
+
 // RUN: %clang -multi-lib-config=%S/Inputs/multilib/empty.yaml 
-print-multi-flags-experimental --target=riscv32-none-elf -march=rv32g | 
FileCheck --check-prefix=CHECK-RV32 %s
 // CHECK-RV32: --target=riscv32-unknown-none-elf
 // CHECK-RV32: -mabi=ilp32d

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to