@@ -1384,6 +1384,7 @@ void tools::addAsNeededOption(const ToolChain &TC,
13841384
13851385void tools::linkSanitizerRuntimeDeps (const ToolChain &TC,
13861386 const llvm::opt::ArgList &Args,
1387+ const SanitizerArgs &SanArgs,
13871388 ArgStringList &CmdArgs) {
13881389 // Force linking against the system libraries sanitizers depends on
13891390 // (see PR15823 why this is necessary).
@@ -1410,18 +1411,18 @@ void tools::linkSanitizerRuntimeDeps(const ToolChain &TC,
14101411 // libresolv.a, even if exists, is an empty archive to satisfy POSIX -lresolv
14111412 // requirement.
14121413 if (TC.getTriple ().isOSLinux () && !TC.getTriple ().isAndroid () &&
1413- !TC.getTriple ().isMusl () && TC. getSanitizerArgs (Args) .needsMsanRt ())
1414+ !TC.getTriple ().isMusl () && SanArgs .needsMsanRt ())
14141415 CmdArgs.push_back (" -lresolv" );
14151416}
14161417
14171418static void
14181419collectSanitizerRuntimes (const ToolChain &TC, const ArgList &Args,
1420+ const SanitizerArgs &SanArgs,
14191421 SmallVectorImpl<StringRef> &SharedRuntimes,
14201422 SmallVectorImpl<StringRef> &StaticRuntimes,
14211423 SmallVectorImpl<StringRef> &NonWholeStaticRuntimes,
14221424 SmallVectorImpl<StringRef> &HelperStaticRuntimes,
14231425 SmallVectorImpl<StringRef> &RequiredSymbols) {
1424- const SanitizerArgs &SanArgs = TC.getSanitizerArgs (Args);
14251426 // Collect shared runtimes.
14261427 if (SanArgs.needsSharedRt ()) {
14271428 if (SanArgs.needsAsanRt ()) {
@@ -1555,12 +1556,12 @@ collectSanitizerRuntimes(const ToolChain &TC, const ArgList &Args,
15551556// Should be called before we add system libraries (C++ ABI, libstdc++/libc++,
15561557// C runtime, etc). Returns true if sanitizer system deps need to be linked in.
15571558bool tools::addSanitizerRuntimes (const ToolChain &TC, const ArgList &Args,
1559+ const SanitizerArgs &SanArgs,
15581560 ArgStringList &CmdArgs) {
1559- const SanitizerArgs &SanArgs = TC.getSanitizerArgs (Args);
15601561 SmallVector<StringRef, 4 > SharedRuntimes, StaticRuntimes,
15611562 NonWholeStaticRuntimes, HelperStaticRuntimes, RequiredSymbols;
15621563 if (SanArgs.linkRuntimes ()) {
1563- collectSanitizerRuntimes (TC, Args, SharedRuntimes, StaticRuntimes,
1564+ collectSanitizerRuntimes (TC, Args, SanArgs, SharedRuntimes, StaticRuntimes,
15641565 NonWholeStaticRuntimes, HelperStaticRuntimes,
15651566 RequiredSymbols);
15661567 }
0 commit comments