llvm-project/lld/MachO
Jez Ng 103e1d934a [lld-macho] Unset ExportDynamic where possible for LTO
By unsetting this property, we are now able to internalize more symbols
during LTO. I compared the output of `-save-temps` for both LLD and
ld64, and we now match ld64's behavior as far as `lto-internalize.ll` is
concerned.

(Thanks @smeenai for working on an initial version of this diff!)

Fixes https://github.com/llvm/llvm-project/issues/50574.

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D119372
2022-02-11 22:26:19 -05:00
..
Arch Use true/false instead of 1/0 (NFC) 2022-01-09 12:21:06 -08: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 Replace PlatformKind with PlatformType. 2022-01-13 09:23:49 -08:00
Driver.cpp [lld-macho] Unset ExportDynamic where possible for LTO 2022-02-11 22:26:19 -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 [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/mac] Crash even less on undefined symbols with --icf=all 2021-11-19 09:23:19 -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] Include address offsets in error messages 2022-02-07 21:06:18 -05:00
InputFiles.h [lld-macho][nfc] Eliminate InputSection::Shared 2022-02-03 19:55:42 -05:00
InputSection.cpp [lld-macho] Include address offsets in error messages 2022-02-07 21:06:18 -05:00
InputSection.h [lld-macho] Include address offsets in error messages 2022-02-07 21:06:18 -05:00
LTO.cpp [lld-macho] Unset ExportDynamic where possible for LTO 2022-02-11 22:26:19 -05: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][nfc] Factor-out NFC changes from main __eh_frame diff 2021-11-17 15:16:44 -07: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] Add -pagezero_size 2022-02-06 13:15:16 -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] Include address offsets in error messages 2022-02-07 21:06:18 -05:00
Relocations.h [MachO] Move type size asserts to source files. NFC 2021-11-16 17:14:16 -08:00
SectionPriorities.cpp [lld-macho] Move order file and call graph sorting into SectionPriorities 2022-01-25 12:18:15 -05:00
SectionPriorities.h [lld-macho] Move order file and call graph sorting into SectionPriorities 2022-01-25 12:18:15 -05:00
SymbolTable.cpp [lld-macho][nfc] Eliminate InputSection::Shared 2022-02-03 19:55:42 -05:00
SymbolTable.h [lld-macho] Add --start-lib --end-lib 2022-01-19 10:14:49 -08:00
Symbols.cpp [lld-macho] Rename LazySymbol to LazyArchive. NFC 2022-01-11 16:49:06 -08:00
Symbols.h [lld-macho] Add --start-lib --end-lib 2022-01-19 10:14:49 -08:00
SyntheticSections.cpp [lld-macho][nfc] Eliminate InputSection::Shared 2022-02-03 19:55:42 -05:00
SyntheticSections.h [lld-macho] Add -pagezero_size 2022-02-06 13:15:16 -05: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/mac] Set branchRange a bit more carefully 2021-08-30 12:36:06 -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][nfc] Eliminate InputSection::Shared 2022-02-03 19:55:42 -05:00
Writer.h [MachO] Properly reset global state 2021-10-31 16:14:29 -07:00
ld64-vs-lld.rst [lld-macho] Fix grammar in doc 2022-01-19 23:59:35 -08:00