forked from OSchip/llvm-project
Driver/Darwin: Add ASAN runtime library link support.
llvm-svn: 145651
This commit is contained in:
parent
5cd49adb2d
commit
1d6469fcb1
|
@ -467,6 +467,22 @@ void DarwinClang::AddLinkRuntimeLibArgs(const ArgList &Args,
|
|||
}
|
||||
}
|
||||
|
||||
// Add ASAN runtime library, if required.
|
||||
if (Args.hasFlag(options::OPT_faddress_sanitizer,
|
||||
options::OPT_fno_address_sanitizer, false)) {
|
||||
if (isTargetIPhoneOS()) {
|
||||
getDriver().Diag(diag::err_drv_clang_unsupported_per_platform)
|
||||
<< "-faddress-sanitizer";
|
||||
} else {
|
||||
AddLinkRuntimeLib(Args, CmdArgs, "libclang_rt.asan_osx.a");
|
||||
|
||||
// The ASAN runtime library requires C++ and CoreFoundation.
|
||||
AddCXXStdlibLibArgs(Args, CmdArgs);
|
||||
CmdArgs.push_back("-framework");
|
||||
CmdArgs.push_back("CoreFoundation");
|
||||
}
|
||||
}
|
||||
|
||||
// Otherwise link libSystem, then the dynamic runtime library, and finally any
|
||||
// target specific static runtime library.
|
||||
CmdArgs.push_back("-lSystem");
|
||||
|
|
|
@ -78,7 +78,7 @@ ifeq ($(OS),Darwin)
|
|||
RuntimeDirs += darwin
|
||||
RuntimeLibrary.darwin.Configs := \
|
||||
eprintf 10.4 osx ios cc_kext \
|
||||
profile_osx profile_ios
|
||||
asan_osx profile_osx profile_ios
|
||||
|
||||
# On Darwin, fake Clang into using the iOS assembler (since compiler-rt wants to
|
||||
# build ARM bits).
|
||||
|
|
Loading…
Reference in New Issue