llvm-project/lld/MachO
Jez Ng d32e32500f [lld-macho] Fix segment filesize calculation
The previous approach of adding up the file sizes of the
component sections ignored the fact that the sections did not have to be
contiguous in the file. As such, it was underestimating the true size.

I discovered this issue because `codesign` checks whether `__LINKEDIT`
extends to the end of the file. Since we were underestimating segment
sizes, this check failed.

Reviewed By: #lld-macho, compnerd

Differential Revision: https://reviews.llvm.org/D84574
2020-07-28 10:02:19 -07:00
..
Arch [lld-macho] Partial support for weak definitions 2020-07-24 15:55:25 -07:00
CMakeLists.txt [lld] Fix shared library build by adding the missing dependency. 2020-06-08 16:12:58 -04:00
Config.h [lld-macho] Support lookup of dylibs in frameworks 2020-07-26 12:46:46 -07:00
Driver.cpp [lld-macho] Support -filelist 2020-07-28 10:02:19 -07:00
Driver.h [lld-macho] Specify the complete set of command-line options for ld64 2020-06-15 12:50:20 -07:00
ExportTrie.cpp [lld-macho] Partial support for weak definitions 2020-07-24 15:55:25 -07:00
ExportTrie.h [lld-macho] Use export trie instead of symtab when linking against dylibs 2020-05-09 20:56:22 -07:00
InputFiles.cpp [lld-macho] Partial support for weak definitions 2020-07-24 15:55:25 -07:00
InputFiles.h lld: remove old test support path 2020-06-16 15:57:58 -07:00
InputSection.cpp [lld-macho] Ensure __bss sections we output have file offset of zero 2020-06-17 20:41:28 -07:00
InputSection.h [lld-macho] Ensure __bss sections we output have file offset of zero 2020-06-17 20:41:28 -07:00
MachOStructs.h [lld-macho] Ensure reads from nlist_64 structs are aligned when necessary 2020-06-02 13:19:38 -07:00
MergedOutputSection.cpp [lld-macho] Handle alignment correctly when merging InputSections 2020-06-17 20:41:28 -07:00
MergedOutputSection.h [lld-macho] Refactor segment/section creation, sorting, and merging 2020-06-21 17:13:59 -07:00
Options.td [lld-macho] Ignore -dependency_info and its argument 2020-07-24 15:55:27 -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] Refactor segment/section creation, sorting, and merging 2020-06-21 17:13:59 -07:00
OutputSegment.cpp [lld-macho] Refactor segment/section creation, sorting, and merging 2020-06-21 17:13:59 -07:00
OutputSegment.h [lld-macho] Refactor segment/section creation, sorting, and merging 2020-06-21 17:13:59 -07:00
SymbolTable.cpp [lld-macho] Partial support for weak definitions 2020-07-24 15:55:25 -07:00
SymbolTable.h [lld-macho] Partial support for weak definitions 2020-07-24 15:55:25 -07:00
Symbols.cpp [lld-macho] Set __PAGEZERO size to 4GB 2020-06-02 13:19:38 -07:00
Symbols.h [lld-macho] Partial support for weak definitions 2020-07-24 15:55:25 -07:00
SyntheticSections.cpp [lld-macho] Partial support for weak definitions 2020-07-24 15:55:25 -07:00
SyntheticSections.h [lld-macho] Support binding dysyms to any section 2020-07-02 21:21:01 -07:00
Target.cpp Reland D75382 "[lld] Initial commit for new Mach-O backend" 2020-04-02 12:03:43 -07:00
Target.h [lld-macho] Support binding dysyms to any section 2020-07-02 21:21:01 -07:00
Writer.cpp [lld-macho] Fix segment filesize calculation 2020-07-28 10:02:19 -07:00
Writer.h [lld-macho] Extend SyntheticSections to cover all segment load commands 2020-04-27 12:58:12 -07:00