llvm-project/lld/MachO
Leonard Grey 5acc6d4572 [lld-macho] Disambiguate bitcode files with the same name by archive name/offset in archive
Ported from COFF/ELF; test is adapted from
test/COFF/thinlto-archivecollision.ll

LTO expects every bitcode file to have a unique name. If given multiple bitcode
files with the same name, it errors with "Expected at most one ThinLTO module
per bitcode file".

This change incorporates the archive name, to disambiguate members with the
same name in different archives and the offset in archive to disambiguate
members with the same name in the same archive.

Differential Revision: https://reviews.llvm.org/D106179
2021-07-22 22:50:25 -04:00
..
Arch [lld-macho] Implement branch-range-extension thunks 2021-05-12 09:44:58 -07:00
CMakeLists.txt [lld-macho] Implement ICF 2021-06-17 10:07:44 -07:00
ConcatOutputSection.cpp [lld-macho] Have ICF operate on all sections at once 2021-07-17 13:42:51 -04:00
ConcatOutputSection.h [lld-macho] Have ICF operate on all sections at once 2021-07-17 13:42:51 -04:00
Config.h [lld/mac] Handle symbols from -U in treatUndefinedSymbol() 2021-07-22 19:43:57 -04:00
Driver.cpp [lld-macho] Disambiguate bitcode files with the same name by archive name/offset in archive 2021-07-22 22:50:25 -04:00
Driver.h [lld-macho] Disambiguate bitcode files with the same name by archive name/offset in archive 2021-07-22 22:50:25 -04:00
DriverUtils.cpp [lld-macho] Disambiguate bitcode files with the same name by archive name/offset in archive 2021-07-22 22:50:25 -04:00
Dwarf.cpp [lld-macho] Factor out common InputSection members 2021-07-01 21:22:39 -04:00
Dwarf.h [lld-macho] Emit STABS symbols for debugging, and drop debug sections 2020-12-01 15:05:20 -08:00
ExportTrie.cpp [lld-macho][NFC] add const to pointer/reference induction variables of range-based for loops 2021-03-10 12:07:31 -08:00
ExportTrie.h [lld-macho] Export trie addresses should be relative to the image base 2020-09-20 20:43:15 -07:00
ICF.cpp [lld-macho] Have ICF operate on all sections at once 2021-07-17 13:42:51 -04:00
ICF.h [lld-macho] Move ICF earlier to avoid emitting redundant binds 2021-07-01 21:22:38 -04:00
InputFiles.cpp [lld-macho] Disambiguate bitcode files with the same name by archive name/offset in archive 2021-07-22 22:50:25 -04:00
InputFiles.h [lld-macho] Disambiguate bitcode files with the same name by archive name/offset in archive 2021-07-22 22:50:25 -04:00
InputSection.cpp [lld/mac] Remove "else" after return 2021-07-22 21:31:52 -04:00
InputSection.h [lld-macho] Factor out common InputSection members 2021-07-01 21:22:39 -04:00
LTO.cpp [lld-macho] Add LTO cache support 2021-07-15 12:56:13 -04:00
LTO.h [lld-macho] Add LTO cache support 2021-07-15 12:56:13 -04:00
MachOStructs.h [lld-macho] Add support for arm64_32 2021-04-15 21:16:33 -04:00
MapFile.cpp [lld][MachO] Sort symbols in parallel in -map 2021-06-17 10:19:59 +08:00
MapFile.h [lld-macho] implement options -map 2021-03-18 10:39:19 -04:00
MarkLive.cpp [lld/mac] Partially implement -export_dynamic 2021-07-06 11:22:18 -04:00
MarkLive.h [lld/mac] Implement -dead_strip 2021-06-02 11:09:26 -04:00
ObjC.cpp [lld-macho] De-templatize mach_header operations 2021-05-03 18:31:23 -04:00
ObjC.h [lld-macho] Implement -ObjC 2020-08-26 19:20:55 -07:00
Options.td [lld-macho] Optimize bind opcodes with multiple passes 2021-07-15 20:52:46 -07:00
OutputSection.cpp [lld-macho] Refactor segment/section creation, sorting, and merging 2020-06-21 17:13:59 -07:00
OutputSection.h [lld-macho] Have inputOrder default to less than INT_MAX 2021-06-20 19:49:27 -04:00
OutputSegment.cpp [lld/mac] Fix nondeterminism in output section ordering 2021-06-28 18:41:33 -04:00
OutputSegment.h [lld-macho] Have inputOrder default to less than INT_MAX 2021-06-20 19:49:27 -04:00
Relocations.cpp [lld-macho][nfc] Remove DYSYM8 reloc attribute 2021-04-09 19:48:08 -04:00
Relocations.h [lld-macho] Add 32-bit compact unwind support 2021-04-15 21:16:33 -04:00
SymbolTable.cpp [lld/mac] Handle symbols from -U in treatUndefinedSymbol() 2021-07-22 19:43:57 -04:00
SymbolTable.h [lld/mac] Implement -dead_strip 2021-06-02 11:09:26 -04:00
Symbols.cpp [lld-macho] Implement ICF 2021-06-17 10:07:44 -07:00
Symbols.h [lld/mac] Fix bug in interaction of -dead_strip and -undefined dynamic_lookup 2021-07-22 19:30:46 -04:00
SyntheticSections.cpp Recommit "[lld-macho] Use DO_BIND_ADD_ADDR_IMM_SCALED for bind opcodes" 2021-07-20 13:45:24 -07:00
SyntheticSections.h [lld-macho] Have ICF operate on all sections at once 2021-07-17 13:42:51 -04:00
Target.cpp [lld-macho][nfc] Create Relocations.{h,cpp} for relocation-specific code 2021-03-11 13:28:09 -05:00
Target.h [lld-macho] Implement branch-range-extension thunks 2021-05-12 09:44:58 -07:00
UnwindInfoSection.cpp [lld-macho] Have ICF operate on all sections at once 2021-07-17 13:42:51 -04:00
UnwindInfoSection.h [lld/mac] Don't crash when dead-stripping removes all unwind info 2021-07-07 13:05:40 -04:00
Writer.cpp [lld/mac] Fix bug in interaction of -dead_strip and -undefined dynamic_lookup 2021-07-22 19:30:46 -04:00
Writer.h [lld-macho] Have ICF operate on all sections at once 2021-07-17 13:42:51 -04:00