llvm-project/lld/COFF
Bob Haarman 8b1ec798b5 [LLD][COFF] use offset in archive to disambiguate archive members
Summary:
Archives can contain multiple members with the same name. This would
cause ThinLTO links to fail ("Expected at most one ThinLTO module per
bitcode file"). This change implements the same strategy we use in
the ELF linker: make the offset in the archive part of the module
name so that names are unique.

Reviewers: pcc, mehdi_amini, ruiu

Reviewed By: ruiu

Subscribers: eraman, steven_wu, dexonsmith, llvm-commits

Tags: #llvm

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

llvm-svn: 358440
2019-04-15 19:48:32 +00:00
..
CMakeLists.txt [LLD][COFF] Early dependency detection 2019-04-01 13:36:59 +00:00
Chunks.cpp [COFF] Reduce the size of Chunk and SectionChunk, NFC 2019-04-02 22:11:58 +00:00
Chunks.h [COFF] Reduce the size of Chunk and SectionChunk, NFC 2019-04-02 22:11:58 +00:00
Config.h [LLD][COFF] Improve checkFailIfMismatch() 2019-03-29 19:58:58 +00:00
DLL.cpp Fix broken export table if .rdata is merged with .text. 2019-01-24 19:02:31 +00:00
DLL.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DebugTypes.cpp [NFC][LLD] Specify namespaces explicity to fix build failure on GCC 5 after r357383 2019-04-01 19:23:56 +00:00
DebugTypes.h [LLD][COFF] Early dependency detection 2019-04-01 13:36:59 +00:00
Driver.cpp [LLD][COFF] use offset in archive to disambiguate archive members 2019-04-15 19:48:32 +00:00
Driver.h [LLD][COFF] use offset in archive to disambiguate archive members 2019-04-15 19:48:32 +00:00
DriverUtils.cpp [LLD][COFF] Improve checkFailIfMismatch() 2019-03-29 19:58:58 +00:00
ICF.cpp [COFF] Reduce the size of Chunk and SectionChunk, NFC 2019-04-02 22:11:58 +00:00
ICF.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
InputFiles.cpp [LLD][COFF] use offset in archive to disambiguate archive members 2019-04-15 19:48:32 +00:00
InputFiles.h [LLD][COFF] use offset in archive to disambiguate archive members 2019-04-15 19:48:32 +00:00
LTO.cpp Fix names of functions in TargetOptionsCommandFlags.h. NFC. 2019-02-01 02:24:50 +00:00
LTO.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MapFile.cpp Replace `typedef A B` with `using B = A`. NFC. 2019-04-01 00:11:24 +00:00
MapFile.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MarkLive.cpp [COFF] Reduce the size of Chunk and SectionChunk, NFC 2019-04-02 22:11:58 +00:00
MarkLive.h [COFF] Delete unused declarations and add a missing forward declaration. NFC 2019-03-15 09:40:03 +00:00
MinGW.cpp Move MinGW-specific code out of LinkerDriver::link. NFC. 2019-02-19 22:06:44 +00:00
MinGW.h Move MinGW-specific code out of LinkerDriver::link. NFC. 2019-02-19 22:06:44 +00:00
Options.td [LLD][COFF] Add /summary to print statistics 2019-03-14 18:45:08 +00:00
PDB.cpp [codeview] Remove Type member from CVRecord 2019-04-04 00:28:48 +00:00
PDB.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
SymbolTable.cpp [LLD][COFF] More detailed information for /failifmismatch 2019-03-06 20:18:38 +00:00
SymbolTable.h lld/coff: Implement some support for the comdat selection field 2019-01-30 02:17:27 +00:00
Symbols.cpp lld-link: Only print demangled symbol names by default 2019-03-11 23:02:18 +00:00
Symbols.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
TypeMerger.h [LLD][COFF] Move type merging structures out of PDB.cpp. NFC 2019-04-02 20:43:19 +00:00
Writer.cpp [LLD][COFF] Generate import modules & COFF groups in PDB 2019-03-29 20:25:34 +00:00
Writer.h [LLD][COFF] Generate import modules & COFF groups in PDB 2019-03-29 20:25:34 +00:00

README.md

See docs/NewLLD.rst