llvm-project/lld/COFF
Bob Haarman 4ce341ffb6 [COFF] don't replace import library if contents are unchanged
Summary:
This detects when an import library is about to be overwritten with a
newly built one with the same contents, and keeps the old library
instead. The use case for this is to avoid needlessly rebuilding
targets that depend on the import library in build systems that rely
on timestamps to determine whether a target requires rebuilding.

This feature was requested in PR35917.

Reviewers: rnk, ruiu, zturner, pcc

Reviewed By: ruiu

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D42326

llvm-svn: 323164
2018-01-23 00:36:42 +00:00
..
CMakeLists.txt [lld] unified COFF and ELF error handling on new Common/ErrorHandler 2017-10-25 22:28:38 +00:00
Chunks.cpp [COFF] Error out if 20 bit thumb branches are out of range 2017-12-14 08:56:36 +00:00
Chunks.h Reland r319090, "COFF: Do not create SectionChunks for discarded comdat sections." with a fix for debug sections. 2017-11-28 01:30:07 +00:00
Config.h [coff] Print detailed timing information with /TIME. 2018-01-17 19:16:26 +00:00
DLL.cpp [COFF] Don't set the thumb bit in address table entries for data symbols 2017-12-20 06:50:45 +00:00
DLL.h Revert "Merge IAT and ILT." 2017-06-02 18:49:38 +00:00
Driver.cpp [COFF] don't replace import library if contents are unchanged 2018-01-23 00:36:42 +00:00
Driver.h [COFF] Process /EXPORT option in fastpath 2018-01-09 20:36:42 +00:00
DriverUtils.cpp [COFF] Keep the underscore on exported decorated stdcall functions in MSVC mode 2018-01-20 11:44:42 +00:00
ICF.cpp [coff] Print detailed timing information with /TIME. 2018-01-17 19:16:26 +00:00
InputFiles.cpp Remove checkToString functions and use toString instead. 2017-12-07 03:24:57 +00:00
InputFiles.h Prefer `ArrayRef` over `const std::vector&` 2017-12-08 01:09:21 +00:00
LTO.cpp Rename replaceBody -> replaceSymbol. 2017-11-03 22:48:47 +00:00
LTO.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
MapFile.cpp COFF: Remove the SymbolBodies vector, and rename SparseSymbolBodies to Symbols. 2017-11-20 18:52:53 +00:00
MapFile.h COFF: Change the /lldmap output format to be more like the ELF linker. 2017-01-14 03:14:46 +00:00
MarkLive.cpp [coff] Print detailed timing information with /TIME. 2018-01-17 19:16:26 +00:00
MinGW.cpp [COFF] Don't export symbols that have corresponding __imp_ symbols 2017-11-29 05:50:49 +00:00
MinGW.h [COFF] Avoid forward declaring StringSet, fix build 2017-10-19 20:19:16 +00:00
Options.td [coff] Print detailed timing information with /TIME. 2018-01-17 19:16:26 +00:00
PDB.cpp Speed up iteration of CodeView record streams. 2018-01-18 18:35:01 +00:00
PDB.h [LLD COFF/PDB] Incrementally update the build id. 2017-08-15 21:31:41 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
Strings.cpp Factor out common code to Common/Strings.cpp. 2017-11-28 02:15:26 +00:00
Strings.h Factor out common code to Common/Strings.cpp. 2017-11-28 02:15:26 +00:00
SymbolTable.cpp [coff] Print detailed timing information with /TIME. 2018-01-17 19:16:26 +00:00
SymbolTable.h Reland r319090, "COFF: Do not create SectionChunks for discarded comdat sections." with a fix for debug sections. 2017-11-28 01:30:07 +00:00
Symbols.cpp Move Memory.{h,cpp} to Common. 2017-11-28 20:39:17 +00:00
Symbols.h Move Memory.{h,cpp} to Common. 2017-11-28 20:39:17 +00:00
Writer.cpp [coff] Print detailed timing information with /TIME. 2018-01-17 19:16:26 +00:00
Writer.h [coff] Print detailed timing information with /TIME. 2018-01-17 19:16:26 +00:00

README.md

See docs/NewLLD.rst