<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Alex,<div><br></div><div>Does this mean that ASan is now supported on the iOS simulator? </div><div><br></div><div>Thanks,</div><div>Anna.</div><div><br><div><div>On Mar 15, 2013, at 9:13 AM, Alexander Potapenko <<a href="mailto:glider@google.com">glider@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">+Ted, Anna<br><br>On Fri, Mar 15, 2013 at 8:13 PM, Alexander Potapenko <<a href="mailto:glider@google.com">glider@google.com</a>> wrote:<br><blockquote type="cite">This patch lets the users invoke `clang -fsanitize=address` to link binaries targeting the iOS simulator.<br><br><a href="http://llvm-reviews.chandlerc.com/D545">http://llvm-reviews.chandlerc.com/D545</a><br><br>Files:<br> lib/Driver/ToolChains.cpp<br><br>Index: lib/Driver/ToolChains.cpp<br>===================================================================<br>--- lib/Driver/ToolChains.cpp<br>+++ lib/Driver/ToolChains.cpp<br>@@ -335,17 +335,19 @@<br>  // Add ASAN runtime library, if required. Dynamic libraries and bundles<br>  // should not be linked with the runtime library.<br>  if (Sanitize.needsAsanRt()) {<br>-    if (Args.hasArg(options::OPT_dynamiclib) ||<br>-        Args.hasArg(options::OPT_bundle)) {<br>-      // Assume the binary will provide the ASan runtime.<br>-    } else if (isTargetIPhoneOS()) {<br>+    if (isTargetIPhoneOS() && !isTargetIOSSimulator()) {<br>      getDriver().Diag(diag::err_drv_clang_unsupported_per_platform)<br>        << "-fsanitize=address";<br>    } else {<br>-      AddLinkRuntimeLib(Args, CmdArgs, "libclang_rt.asan_osx_dynamic.dylib", true);<br>-<br>-      // The ASAN runtime library requires C++.<br>-      AddCXXStdlibLibArgs(Args, CmdArgs);<br>+      if (Args.hasArg(options::OPT_dynamiclib) ||<br>+          Args.hasArg(options::OPT_bundle)) {<br>+        // Assume the binary will provide the ASan runtime.<br>+      } else {<br>+        AddLinkRuntimeLib(Args, CmdArgs,<br>+                          "libclang_rt.asan_osx_dynamic.dylib", true);<br>+        // The ASAN runtime library requires C++.<br>+        AddCXXStdlibLibArgs(Args, CmdArgs);<br>+      }<br>    }<br>  }<br></blockquote><br><br><br>--<span class="Apple-converted-space"> </span><br>Alexander Potapenko<br>Software Engineer<br>Google Moscow</div></blockquote></div><br></div></body></html>