From: Evgeniy Stepanov Date: Wed, 12 Sep 2012 09:09:08 +0000 (+0000) Subject: Make -faddress-sanitizer on Android link to the new-style runtime. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8ba7541f12b39aeef4cdb104566dd0503321f48f;p=clang Make -faddress-sanitizer on Android link to the new-style runtime. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163689 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 1549d3dad1..25dd0824bc 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -1392,14 +1392,13 @@ static void addAsanRTLinux(const ToolChain &TC, const ArgList &Args, if (!Args.hasArg(options::OPT_shared)) { if (!Args.hasArg(options::OPT_pie)) TC.getDriver().Diag(diag::err_drv_asan_android_requires_pie); - // For an executable, we add a .preinit_array stub. - CmdArgs.push_back("-u"); - CmdArgs.push_back("__asan_preinit"); - CmdArgs.push_back("-lasan"); } - CmdArgs.push_back("-lasan_preload"); - CmdArgs.push_back("-ldl"); + SmallString<128> LibAsan(TC.getDriver().ResourceDir); + llvm::sys::path::append(LibAsan, "lib", "linux", + (Twine("libclang_rt.asan-") + + TC.getArchName() + "-android.so")); + CmdArgs.push_back(Args.MakeArgString(LibAsan)); } else { if (!Args.hasArg(options::OPT_shared)) { // LibAsan is "libclang_rt.asan-.a" in the Linux library