diff options
author | Kirill Stoimenov <kstoimenov@google.com> | 2022-01-05 17:14:40 +0000 |
---|---|---|
committer | Kirill Stoimenov <kstoimenov@google.com> | 2022-01-11 15:31:41 +0000 |
commit | a3b9edf8b8c3815c1a2c200f9bc00882e1244827 (patch) | |
tree | 09c7fc5e3f4fdc991b9cd6be700fb4031e083030 | |
parent | 94d62633914b8dcda2eac5c8e947172e0ddac93d (diff) | |
download | llvm-a3b9edf8b8c3815c1a2c200f9bc00882e1244827.tar.gz |
[ASan] Driver changes to always link-in asan_static library.
This enables the changes from D116182.
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D116670
-rw-r--r-- | clang/lib/Driver/ToolChains/CommonArgs.cpp | 4 | ||||
-rw-r--r-- | clang/test/Driver/sanitizer-ld.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp index f25fe9ba34c4..3897f67d1fe6 100644 --- a/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -826,6 +826,10 @@ collectSanitizerRuntimes(const ToolChain &TC, const ArgList &Args, if (SanArgs.needsStatsRt() && SanArgs.linkRuntimes()) StaticRuntimes.push_back("stats_client"); + // Always link the static runtime regardless of DSO or executable. + if (SanArgs.needsAsanRt()) + HelperStaticRuntimes.push_back("asan_static"); + // Collect static runtimes. if (Args.hasArg(options::OPT_shared)) { // Don't link static runtimes into DSOs. diff --git a/clang/test/Driver/sanitizer-ld.c b/clang/test/Driver/sanitizer-ld.c index d62e19fd4021..ea8c49f2384a 100644 --- a/clang/test/Driver/sanitizer-ld.c +++ b/clang/test/Driver/sanitizer-ld.c @@ -22,7 +22,7 @@ // RUN: --sysroot=%S/Inputs/basic_linux_tree \ // RUN: | FileCheck --check-prefix=CHECK-ASAN-NO-LINK-RUNTIME-LINUX %s // -// CHECK-ASAN-NO-LINK-RUNTIME-LINUX-NOT: libclang_rt.asan +// CHECK-ASAN-NO-LINK-RUNTIME-LINUX-NOT: libclang_rt.asan-x86_64 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ // RUN: -target i386-unknown-linux -fuse-ld=ld -fsanitize=address -shared-libsan \ |