@@ -1417,6 +1417,7 @@ void tools::addAsNeededOption(const ToolChain &TC,
14171417
14181418void tools::linkSanitizerRuntimeDeps (const ToolChain &TC,
14191419 const llvm::opt::ArgList &Args,
1420+ const SanitizerArgs &SanArgs,
14201421 ArgStringList &CmdArgs) {
14211422 // Force linking against the system libraries sanitizers depends on
14221423 // (see PR15823 why this is necessary).
@@ -1443,18 +1444,18 @@ void tools::linkSanitizerRuntimeDeps(const ToolChain &TC,
14431444 // libresolv.a, even if exists, is an empty archive to satisfy POSIX -lresolv
14441445 // requirement.
14451446 if (TC.getTriple ().isOSLinux () && !TC.getTriple ().isAndroid () &&
1446- !TC.getTriple ().isMusl () && TC. getSanitizerArgs (Args) .needsMsanRt ())
1447+ !TC.getTriple ().isMusl () && SanArgs .needsMsanRt ())
14471448 CmdArgs.push_back (" -lresolv" );
14481449}
14491450
14501451static void
14511452collectSanitizerRuntimes (const ToolChain &TC, const ArgList &Args,
1453+ const SanitizerArgs &SanArgs,
14521454 SmallVectorImpl<StringRef> &SharedRuntimes,
14531455 SmallVectorImpl<StringRef> &StaticRuntimes,
14541456 SmallVectorImpl<StringRef> &NonWholeStaticRuntimes,
14551457 SmallVectorImpl<StringRef> &HelperStaticRuntimes,
14561458 SmallVectorImpl<StringRef> &RequiredSymbols) {
1457- const SanitizerArgs &SanArgs = TC.getSanitizerArgs (Args);
14581459 // Collect shared runtimes.
14591460 if (SanArgs.needsSharedRt ()) {
14601461 if (SanArgs.needsAsanRt ()) {
@@ -1588,12 +1589,12 @@ collectSanitizerRuntimes(const ToolChain &TC, const ArgList &Args,
15881589// Should be called before we add system libraries (C++ ABI, libstdc++/libc++,
15891590// C runtime, etc). Returns true if sanitizer system deps need to be linked in.
15901591bool tools::addSanitizerRuntimes (const ToolChain &TC, const ArgList &Args,
1592+ const SanitizerArgs &SanArgs,
15911593 ArgStringList &CmdArgs) {
1592- const SanitizerArgs &SanArgs = TC.getSanitizerArgs (Args);
15931594 SmallVector<StringRef, 4 > SharedRuntimes, StaticRuntimes,
15941595 NonWholeStaticRuntimes, HelperStaticRuntimes, RequiredSymbols;
15951596 if (SanArgs.linkRuntimes ()) {
1596- collectSanitizerRuntimes (TC, Args, SharedRuntimes, StaticRuntimes,
1597+ collectSanitizerRuntimes (TC, Args, SanArgs, SharedRuntimes, StaticRuntimes,
15971598 NonWholeStaticRuntimes, HelperStaticRuntimes,
15981599 RequiredSymbols);
15991600 }
0 commit comments