[clang] [Hexagon] Add sanitizer-aware library paths for Linux/musl targets (PR #190267)
Alexey Karyakin via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 3 14:28:43 PDT 2026
================
@@ -600,6 +608,34 @@ HexagonToolChain::HexagonToolChain(const Driver &D, const llvm::Triple &Triple,
// support 'linux' we'll need to fix this up
LibPaths.clear();
getHexagonLibraryPaths(Args, LibPaths);
+
+ if (getTriple().isMusl()) {
+ Multilibs.push_back(Multilib());
+ Multilibs.push_back(MultilibBuilder("msan", {}, {})
+ .flag("-fsanitize=memory")
+ .makeMultilib());
+ Multilibs.push_back(MultilibBuilder("asan", {}, {})
+ .flag("-fsanitize=address")
+ .makeMultilib());
+
+ Multilib::flags_list Flags;
+ addMultilibFlag(getSanitizerArgs(Args).needsMsanRt(), "-fsanitize=memory",
+ Flags);
+ addMultilibFlag(getSanitizerArgs(Args).needsAsanRt(), "-fsanitize=address",
+ Flags);
+
+ if (Multilibs.select(D, Flags, SelectedMultilibs)) {
+ Multilib LastSelected = SelectedMultilibs.back();
+ SelectedMultilibs = {LastSelected};
+
+ if (!SelectedMultilibs.back().isDefault()) {
+ SmallString<128> SanLibPath(D.SysRoot);
----------------
quic-akaryaki wrote:
I added `getEffectiveSysRoot()` in #188824. For a native linux toolchain, it could return "".
https://github.com/llvm/llvm-project/pull/190267
More information about the cfe-commits
mailing list