<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>