diff options
author | Alexey Samsonov <vonosmas@gmail.com> | 2014-11-14 00:16:26 +0000 |
---|---|---|
committer | Alexey Samsonov <vonosmas@gmail.com> | 2014-11-14 00:16:26 +0000 |
commit | cbbd2fd8d62a37d19e7ca594a582354d87d9cfd1 (patch) | |
tree | 380d4ea6dc06d061be3bbfea16f3accd6ac310f8 /clang/lib/Driver/Tools.cpp | |
parent | 77349e7aaf32a9214b42e1669e272e51f0fede28 (diff) | |
download | llvm-cbbd2fd8d62a37d19e7ca594a582354d87d9cfd1.zip llvm-cbbd2fd8d62a37d19e7ca594a582354d87d9cfd1.tar.gz llvm-cbbd2fd8d62a37d19e7ca594a582354d87d9cfd1.tar.bz2 |
[Profile] Always build profile runtime library with -fPIC.
This change removes libclang_rt.profile-pic-<arch>.a version of
profile runtime. Instead, it's sufficient to always build
libclang_rt.profile-<arch>.a with -fPIC, as it can be linked into
both executables and shared objects.
llvm-svn: 221952
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 042d7b1..a648d61 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -2181,16 +2181,10 @@ static void addProfileRT( Args.hasArg(options::OPT_coverage))) return; - // -fprofile-instr-generate requires position-independent code to build with - // shared objects. Link against the right archive. - const char *Lib = "libclang_rt.profile-"; - if (Args.hasArg(options::OPT_fprofile_instr_generate) && - Args.hasArg(options::OPT_shared)) - Lib = "libclang_rt.profile-pic-"; - SmallString<128> LibProfile = getCompilerRTLibDir(TC); - llvm::sys::path::append(LibProfile, - Twine(Lib) + getArchNameForCompilerRTLib(TC) + ".a"); + llvm::sys::path::append(LibProfile, Twine("libclang_rt.profile-") + + getArchNameForCompilerRTLib(TC) + + ".a"); CmdArgs.push_back(Args.MakeArgString(LibProfile)); } |