diff options
author | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2012-09-12 09:09:08 +0000 |
---|---|---|
committer | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2012-09-12 09:09:08 +0000 |
commit | cac6aaab0d1a12eb6f86a1e27f535346190c718a (patch) | |
tree | 483af86b57d10e01fc2ab6025bf9c068c11f8f80 /clang/lib/Driver/Tools.cpp | |
parent | 3d53c4ecf6a6d451ea94ce1313c8a13794dca90a (diff) | |
download | bcm5719-llvm-cac6aaab0d1a12eb6f86a1e27f535346190c718a.tar.gz bcm5719-llvm-cac6aaab0d1a12eb6f86a1e27f535346190c718a.zip |
Make -faddress-sanitizer on Android link to the new-style runtime.
llvm-svn: 163689
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 1549d3dad19..25dd0824bce 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/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-<ArchName>.a" in the Linux library |