| OLD | NEW | 
|---|
| 1 //===--- Tools.cpp - Tools Implementations --------------------------------===// | 1 //===--- Tools.cpp - Tools Implementations --------------------------------===// | 
| 2 // | 2 // | 
| 3 //                     The LLVM Compiler Infrastructure | 3 //                     The LLVM Compiler Infrastructure | 
| 4 // | 4 // | 
| 5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source | 
| 6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. | 
| 7 // | 7 // | 
| 8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// | 
| 9 | 9 | 
| 10 #include <sys/stat.h> | 10 #include <sys/stat.h> | 
| (...skipping 1653 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1664   // whole-archive. | 1664   // whole-archive. | 
| 1665   SmallVector<const char *, 3> LibSanitizerArgs; | 1665   SmallVector<const char *, 3> LibSanitizerArgs; | 
| 1666   LibSanitizerArgs.push_back("-whole-archive"); | 1666   LibSanitizerArgs.push_back("-whole-archive"); | 
| 1667   LibSanitizerArgs.push_back(Args.MakeArgString(LibSanitizer)); | 1667   LibSanitizerArgs.push_back(Args.MakeArgString(LibSanitizer)); | 
| 1668   LibSanitizerArgs.push_back("-no-whole-archive"); | 1668   LibSanitizerArgs.push_back("-no-whole-archive"); | 
| 1669 | 1669 | 
| 1670   CmdArgs.insert(BeforeLibStdCXX ? CmdArgs.begin() : CmdArgs.end(), | 1670   CmdArgs.insert(BeforeLibStdCXX ? CmdArgs.begin() : CmdArgs.end(), | 
| 1671                  LibSanitizerArgs.begin(), LibSanitizerArgs.end()); | 1671                  LibSanitizerArgs.begin(), LibSanitizerArgs.end()); | 
| 1672 | 1672 | 
| 1673   CmdArgs.push_back("-lpthread"); | 1673   CmdArgs.push_back("-lpthread"); | 
| 1674   CmdArgs.push_back("-lrt"); |  | 
| 1675   CmdArgs.push_back("-ldl"); | 1674   CmdArgs.push_back("-ldl"); | 
| 1676 | 1675 | 
| 1677   // If possible, use a dynamic symbols file to export the symbols from the | 1676   // If possible, use a dynamic symbols file to export the symbols from the | 
| 1678   // runtime library. If we can't do so, use -export-dynamic instead to export | 1677   // runtime library. If we can't do so, use -export-dynamic instead to export | 
| 1679   // all symbols from the binary. | 1678   // all symbols from the binary. | 
| 1680   if (ExportSymbols) { | 1679   if (ExportSymbols) { | 
| 1681     if (llvm::sys::fs::exists(LibSanitizer + ".syms")) | 1680     if (llvm::sys::fs::exists(LibSanitizer + ".syms")) | 
| 1682       CmdArgs.push_back( | 1681       CmdArgs.push_back( | 
| 1683           Args.MakeArgString("--dynamic-list=" + LibSanitizer + ".syms")); | 1682           Args.MakeArgString("--dynamic-list=" + LibSanitizer + ".syms")); | 
| 1684     else | 1683     else | 
| (...skipping 4765 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 6450   for (InputInfoList::const_iterator | 6449   for (InputInfoList::const_iterator | 
| 6451        it = Inputs.begin(), ie = Inputs.end(); it != ie; ++it) { | 6450        it = Inputs.begin(), ie = Inputs.end(); it != ie; ++it) { | 
| 6452     if (it->isFilename()) | 6451     if (it->isFilename()) | 
| 6453       CmdArgs.push_back(it->getFilename()); | 6452       CmdArgs.push_back(it->getFilename()); | 
| 6454   } | 6453   } | 
| 6455 | 6454 | 
| 6456   const char *Exec = | 6455   const char *Exec = | 
| 6457     Args.MakeArgString(getToolChain().GetProgramPath("link.exe")); | 6456     Args.MakeArgString(getToolChain().GetProgramPath("link.exe")); | 
| 6458   C.addCommand(new Command(JA, *this, Exec, CmdArgs)); | 6457   C.addCommand(new Command(JA, *this, Exec, CmdArgs)); | 
| 6459 } | 6458 } | 
| OLD | NEW | 
|---|