[clang] [Driver] [NetBSD] Append -rpath for shared compiler-rt runtimes
Append appropriate -rpath when using shared compiler-rt runtimes, e.g. '-fsanitize=address -shared-libasan'. There's already a similar logic in CommonArgs.cpp but it uses non-standard arch-suffixed installation directory while we want our driver to work with standard installation paths. Differential Revision: https://reviews.llvm.org/D57303 llvm-svn: 352610
This commit is contained in:
parent
11133d2531
commit
3a901b47ba
|
@ -255,6 +255,13 @@ void netbsd::Linker::ConstructJob(Compilation &C, const JobAction &JA,
|
||||||
bool NeedsXRayDeps = addXRayRuntime(ToolChain, Args, CmdArgs);
|
bool NeedsXRayDeps = addXRayRuntime(ToolChain, Args, CmdArgs);
|
||||||
AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs, JA);
|
AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs, JA);
|
||||||
|
|
||||||
|
const SanitizerArgs &SanArgs = ToolChain.getSanitizerArgs();
|
||||||
|
if (SanArgs.needsSharedRt()) {
|
||||||
|
CmdArgs.push_back("-rpath");
|
||||||
|
CmdArgs.push_back(Args.MakeArgString(
|
||||||
|
ToolChain.getCompilerRTPath().c_str()));
|
||||||
|
}
|
||||||
|
|
||||||
unsigned Major, Minor, Micro;
|
unsigned Major, Minor, Micro;
|
||||||
ToolChain.getTriple().getOSVersion(Major, Minor, Micro);
|
ToolChain.getTriple().getOSVersion(Major, Minor, Micro);
|
||||||
bool useLibgcc = true;
|
bool useLibgcc = true;
|
||||||
|
|
Loading…
Reference in New Issue