llvm-project/lld/MachO
Jez Ng 8ce3750ff6 [lld-macho] Set FinalDefinitionInLinkageUnit on most LTO externs
Since Mach-O has a two-level namespace (unlike ELF), we can usually set
this property to true.

(I believe this setting is only available in the new LTO backend, so I
can't really use ld64 / libLTO's behavior as a reference here... I'm
just doing what I think is correct.)

See {D119294} for the work done to calculate the `interposable` used in
this diff.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D119506
2022-03-15 20:25:06 -04:00
..
Arch [lld-macho][nfc] Allow Defined symbols to be placed in binding sections 2022-03-14 22:18:32 -04:00
CMakeLists.txt [lld-macho] Rename CallGraphSort.{h,cpp} to SectionPriorities 2022-01-25 12:15:14 -05:00
ConcatOutputSection.cpp [lld-macho][nfc] Eliminate InputSection::Shared 2022-02-03 19:55:42 -05:00
ConcatOutputSection.h [lld-macho] Have ICF operate on all sections at once 2021-07-17 13:42:51 -04:00
Config.h [lld-macho] Implement -why_live (without perf overhead) 2022-02-24 15:49:36 -05:00
Driver.cpp [lld-macho] Implement -why_live (without perf overhead) 2022-02-24 15:49:36 -05:00
Driver.h [lld-macho][nfc] Comments and style fixes 2022-02-01 13:45:59 -05:00
DriverUtils.cpp Re-land [LLD] Remove global state in lldCommon 2022-01-20 14:53:26 -05: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 Reland "[lld-macho] Avoid using bump-alloc in TrieBuider"" 2022-03-14 19:33:13 -04:00
ExportTrie.h Reland "[lld-macho] Avoid using bump-alloc in TrieBuider"" 2022-03-14 19:33:13 -04:00
ICF.cpp [lld-macho] Don't allocate memory in parallelForEach 2022-03-11 13:32:24 -05: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] Deduplicate the `__objc_classrefs` section contents 2022-03-08 08:34:04 -05:00
InputFiles.h [lld-macho][nfc] Factor out callgraph parsing code 2022-02-15 21:13:55 -05:00
InputSection.cpp [lld-macho] Deduplicate the `__objc_classrefs` section contents 2022-03-08 08:34:04 -05:00
InputSection.h [lld-macho] Deduplicate the `__objc_classrefs` section contents 2022-03-08 08:34:04 -05:00
LTO.cpp [lld-macho] Set FinalDefinitionInLinkageUnit on most LTO externs 2022-03-15 20:25:06 -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 Print C-string literals in mapfile 2022-02-11 19:42:20 -05:00
MapFile.h [lld-macho] implement options -map 2021-03-18 10:39:19 -04:00
MarkLive.cpp [lld/MachO] Fix +asserts build after recent change 2022-02-24 13:12:48 -08:00
MarkLive.h [lld/mac] Implement -dead_strip 2021-06-02 11:09:26 -04:00
ObjC.cpp [lld-macho][nfc] rename parsed-section types & variables 2021-11-16 07:06:41 -07:00
ObjC.h [lld-macho] Implement -ObjC 2020-08-26 19:20:55 -07:00
Options.td [lld-macho] Implement -why_live (without perf overhead) 2022-02-24 15:49:36 -05:00
OutputSection.cpp [lld/mac] Implement support for section$start and section$ end symbols 2021-07-23 16:01:09 -04:00
OutputSection.h [lld-macho][nfc] Comments and style fixes 2022-02-01 13:45:59 -05:00
OutputSegment.cpp [MachO] Properly reset global state 2021-10-31 16:14:29 -07:00
OutputSegment.h [MachO] Properly reset global state 2021-10-31 16:14:29 -07:00
Relocations.cpp [lld-macho] Have relocation address included in range-check error message 2022-02-28 21:56:38 -05:00
Relocations.h [lld-macho] Have relocation address included in range-check error message 2022-02-28 21:56:38 -05:00
SectionPriorities.cpp [lld-macho] Allow order files and call graph sorting to be used together 2022-02-17 14:19:34 -05:00
SectionPriorities.h [lld-macho] Allow order files and call graph sorting to be used together 2022-02-17 14:19:34 -05:00
SymbolTable.cpp [lld-macho] -flat_namespace for dylibs should make all externs interposable 2022-03-14 22:18:32 -04:00
SymbolTable.h [lld-macho] Add --start-lib --end-lib 2022-01-19 10:14:49 -08:00
Symbols.cpp [lld-macho] -flat_namespace for dylibs should make all externs interposable 2022-03-14 22:18:32 -04:00
Symbols.h [lld-macho] -flat_namespace for dylibs should make all externs interposable 2022-03-14 22:18:32 -04:00
SyntheticSections.cpp [lld-macho] -flat_namespace for dylibs should make all externs interposable 2022-03-14 22:18:32 -04:00
SyntheticSections.h [lld-macho][nfc] Allow Defined symbols to be placed in binding sections 2022-03-14 22:18:32 -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][nfc] Allow Defined symbols to be placed in binding sections 2022-03-14 22:18:32 -04:00
UnwindInfoSection.cpp [lld-macho] Include address offsets in error messages 2022-02-07 21:06:18 -05:00
UnwindInfoSection.h [lld-macho] Support renaming of LSDA section 2021-11-10 19:31:54 -05:00
Writer.cpp [lld-macho] -flat_namespace for dylibs should make all externs interposable 2022-03-14 22:18:32 -04:00
Writer.h [MachO] Properly reset global state 2021-10-31 16:14:29 -07:00
ld64-vs-lld.rst [lld-macho][nfc] Fix formatting in ld64-vs-lld.rst 2022-03-10 18:33:18 -05:00