summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2013-01-18 22:09:26 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2013-01-18 22:09:26 +0000
commitf75c8b3c8db9cac8f25b379d8fd24ae3ff31919a (patch)
tree98c3786d3d854fd78145184c4d745af70bdaddb6 /clang/lib/Driver/Tools.cpp
parentb2206e71e1e32a29b6d3509d55b26f066bf26390 (diff)
downloadbcm5719-llvm-f75c8b3c8db9cac8f25b379d8fd24ae3ff31919a.tar.gz
bcm5719-llvm-f75c8b3c8db9cac8f25b379d8fd24ae3ff31919a.zip
Include ubsan runtime even when building a shared library. We don't require the executable to be linked with UBSan.
llvm-svn: 172856
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp20
1 files changed, 9 insertions, 11 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index 3fbcd9498d1..3132e75000d 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -1587,17 +1587,15 @@ static void addMsanRTLinux(const ToolChain &TC, const ArgList &Args,
/// (Linux).
static void addUbsanRTLinux(const ToolChain &TC, const ArgList &Args,
ArgStringList &CmdArgs) {
- if (!Args.hasArg(options::OPT_shared)) {
- // LibUbsan is "libclang_rt.ubsan-<ArchName>.a" in the Linux library
- // resource directory.
- SmallString<128> LibUbsan(TC.getDriver().ResourceDir);
- llvm::sys::path::append(LibUbsan, "lib", "linux",
- (Twine("libclang_rt.ubsan-") +
- TC.getArchName() + ".a"));
- CmdArgs.push_back(Args.MakeArgString(LibUbsan));
- CmdArgs.push_back("-lpthread");
- CmdArgs.push_back("-export-dynamic");
- }
+ // LibUbsan is "libclang_rt.ubsan-<ArchName>.a" in the Linux library
+ // resource directory.
+ SmallString<128> LibUbsan(TC.getDriver().ResourceDir);
+ llvm::sys::path::append(LibUbsan, "lib", "linux",
+ (Twine("libclang_rt.ubsan-") +
+ TC.getArchName() + ".a"));
+ CmdArgs.push_back(Args.MakeArgString(LibUbsan));
+ CmdArgs.push_back("-lpthread");
+ CmdArgs.push_back("-export-dynamic");
}
static bool shouldUseFramePointer(const ArgList &Args,
OpenPOWER on IntegriCloud