diff options
| author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-03-28 17:53:17 +0000 |
|---|---|---|
| committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-03-28 17:53:17 +0000 |
| commit | 2d8f93e8692d743a17c737a5376b2051ad303320 (patch) | |
| tree | 8d84d998e2a6cd2d196d004151b9f0ebed838258 /clang/lib/Driver/Tools.cpp | |
| parent | f0ae3c2de29db0fe4aa4e934c83ec28968c26ee5 (diff) | |
| download | bcm5719-llvm-2d8f93e8692d743a17c737a5376b2051ad303320.tar.gz bcm5719-llvm-2d8f93e8692d743a17c737a5376b2051ad303320.zip | |
Revert "Link in profile library on Linux using --whole-archive"
This reverts commit r205012.
llvm-svn: 205022
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
| -rw-r--r-- | clang/lib/Driver/Tools.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index e4af66b7835..2141cc9656b 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -1817,16 +1817,18 @@ static void addProfileRT( Args.hasArg(options::OPT_coverage))) return; + // Pull in runtime for -fprofile-inst-generate. This is required since there + // are no calls to the runtime in the code. + if (Args.hasArg(options::OPT_fprofile_instr_generate)) { + CmdArgs.push_back("-u"); + CmdArgs.push_back("___llvm_profile_runtime"); + } + SmallString<128> LibProfile = getCompilerRTLibDir(TC); llvm::sys::path::append(LibProfile, Twine("libclang_rt.profile-") + getArchNameForCompilerRTLib(TC) + ".a"); - SmallVector<const char *, 3> LibProfileArgs; - LibProfileArgs.push_back("-whole-archive"); - LibProfileArgs.push_back(Args.MakeArgString(LibProfile)); - LibProfileArgs.push_back("-no-whole-archive"); - - CmdArgs.insert(CmdArgs.end(), LibProfileArgs.begin(), LibProfileArgs.end()); + CmdArgs.push_back(Args.MakeArgString(LibProfile)); } static void addSanitizerRTLinkFlags( |

