shayba created this revision.
shayba added reviewers: phosek, leonardchan.
Herald added a subscriber: abrachet.
Herald added a project: All.
shayba requested review of this revision.
Herald added subscribers: cfe-commits, MaskRay.
Herald added a project: clang.

The Clang Fuchsia driver sets -dynamic-linker to ld.so.1 or to a variant if 
needed.
Fix the variant lib path in asan-ubsan variant.

See also:
https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=118344


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D140857

Files:
  clang/lib/Driver/ToolChains/Fuchsia.cpp


Index: clang/lib/Driver/ToolChains/Fuchsia.cpp
===================================================================
--- clang/lib/Driver/ToolChains/Fuchsia.cpp
+++ clang/lib/Driver/ToolChains/Fuchsia.cpp
@@ -105,8 +105,12 @@
 
   if (!Args.hasArg(options::OPT_shared) && !Args.hasArg(options::OPT_r)) {
     std::string Dyld = D.DyldPrefix;
-    if (SanArgs.needsAsanRt() && SanArgs.needsSharedRt())
+    if (SanArgs.needsAsanRt() && !SanArgs.needsUbsanRt() &&
+        SanArgs.needsSharedRt())
       Dyld += "asan/";
+    if (SanArgs.needsAsanRt() && SanArgs.needsUbsanRt() &&
+        SanArgs.needsSharedRt())
+      Dyld += "asan-ubsan/";
     if (SanArgs.needsHwasanRt() && SanArgs.needsSharedRt())
       Dyld += "hwasan/";
     if (SanArgs.needsTsanRt() && SanArgs.needsSharedRt())


Index: clang/lib/Driver/ToolChains/Fuchsia.cpp
===================================================================
--- clang/lib/Driver/ToolChains/Fuchsia.cpp
+++ clang/lib/Driver/ToolChains/Fuchsia.cpp
@@ -105,8 +105,12 @@
 
   if (!Args.hasArg(options::OPT_shared) && !Args.hasArg(options::OPT_r)) {
     std::string Dyld = D.DyldPrefix;
-    if (SanArgs.needsAsanRt() && SanArgs.needsSharedRt())
+    if (SanArgs.needsAsanRt() && !SanArgs.needsUbsanRt() &&
+        SanArgs.needsSharedRt())
       Dyld += "asan/";
+    if (SanArgs.needsAsanRt() && SanArgs.needsUbsanRt() &&
+        SanArgs.needsSharedRt())
+      Dyld += "asan-ubsan/";
     if (SanArgs.needsHwasanRt() && SanArgs.needsSharedRt())
       Dyld += "hwasan/";
     if (SanArgs.needsTsanRt() && SanArgs.needsSharedRt())
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
  • [PATCH] D140857: Fix Fuchsi... Shai Barack via Phabricator via cfe-commits

Reply via email to