llvm-project/lld/MachO
Jez Ng 9260760235 [lld-macho] Support loading of zippered dylibs
ld64 can emit dylibs that support more than one platform (typically macOS and
macCatalyst). This diff allows LLD to read in those dylibs. Note that this is a
super bare-bones implementation -- in particular, I haven't added support for
LLD to emit those multi-platform dylibs, nor have I added a variety of
validation checks that ld64 does. Until we have a use-case for emitting zippered
dylibs, I think this is good enough.

Fixes PR49597.

Reviewed By: #lld-macho, oontvoo

Differential Revision: https://reviews.llvm.org/D101954
2021-05-06 11:19:40 -04:00
..
Arch [lld-macho] Try to unbreak build 2021-05-05 15:47:14 -04:00
CMakeLists.txt [lld-macho] Initial scaffolding for ARM32 support 2021-04-30 16:17:25 -04:00
Config.h [lld-macho] Implement builtin section renaming 2021-05-03 21:26:51 -07:00
Driver.cpp [lld-macho] Have --reproduce account for path rerooting 2021-05-05 14:41:01 -04:00
Driver.h [lld-macho] Have --reproduce account for path rerooting 2021-05-05 14:41:01 -04:00
DriverUtils.cpp [lld-macho] Have --reproduce account for path rerooting 2021-05-05 14:41:01 -04:00
Dwarf.cpp [lld-macho][NFC] define more strings in section_names:: and segment_names:: 2021-04-27 17:48:45 -07: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
InputFiles.cpp [lld-macho] Support loading of zippered dylibs 2021-05-06 11:19:40 -04:00
InputFiles.h [lld-macho] Support loading of zippered dylibs 2021-05-06 11:19:40 -04:00
InputSection.cpp [lld-macho][NFC] define more strings in section_names:: and segment_names:: 2021-04-27 17:48:45 -07:00
InputSection.h [lld-macho][NFC] define more strings in section_names:: and segment_names:: 2021-04-27 17:48:45 -07:00
LTO.cpp [lld-macho][nfc] Add accessors for commonly-used PlatformInfo fields 2021-04-21 15:43:56 -04:00
LTO.h [lld-macho] Add very basic support for LTO 2020-11-10 12:19:28 -08:00
MachOStructs.h [lld-macho] Add support for arm64_32 2021-04-15 21:16:33 -04:00
MapFile.cpp [lld-macho][nfc] Add accessors for commonly-used PlatformInfo fields 2021-04-21 15:43:56 -04:00
MapFile.h [lld-macho] implement options -map 2021-03-18 10:39:19 -04:00
MergedOutputSection.cpp [lld-macho] Implement builtin section renaming 2021-05-03 21:26:51 -07:00
MergedOutputSection.h [lld-macho] Implement builtin section renaming 2021-05-03 21:26:51 -07: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] Implement builtin section renaming 2021-05-03 21:26:51 -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] Initial groundwork for -bitcode_bundle 2021-04-16 16:47:14 -04:00
OutputSegment.cpp [lld-macho][nfc] Add accessors for commonly-used PlatformInfo fields 2021-04-21 15:43:56 -04:00
OutputSegment.h [lld-macho][NFC] define more strings in section_names:: and segment_names:: 2021-04-27 17:48:45 -07: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-macho] Parse & emit the N_ARM_THUMB_DEF symbol flag 2021-04-30 16:17:26 -04:00
SymbolTable.h [lld-macho] Parse & emit the N_ARM_THUMB_DEF symbol flag 2021-04-30 16:17:26 -04:00
Symbols.cpp [lld-macho] clang-format cleanup 2021-04-06 14:26:13 -04:00
Symbols.h [lld-macho] Parse & emit the N_ARM_THUMB_DEF symbol flag 2021-04-30 16:17:26 -04:00
SyntheticSections.cpp [lld-macho] De-templatize mach_header operations 2021-05-03 18:31:23 -04:00
SyntheticSections.h [lld-macho] De-templatize mach_header operations 2021-05-03 18:31:23 -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] De-templatize mach_header operations 2021-05-03 18:31:23 -04:00
UnwindInfoSection.cpp [lld-macho] Parse & emit the N_ARM_THUMB_DEF symbol flag 2021-04-30 16:17:26 -04:00
UnwindInfoSection.h [lld-macho] Add 32-bit compact unwind support 2021-04-15 21:16:33 -04:00
Writer.cpp [lld-macho] Implement builtin section renaming 2021-05-03 21:26:51 -07:00
Writer.h [lld-macho] De-templatize mach_header operations 2021-05-03 18:31:23 -04:00