llvm-project/lld/test/MachO
Jez Ng 98210796e1 [lld-macho] Make __LINKEDIT sections contiguous
codesign (or more specifically libstuff) checks that each section in
__LINKEDIT ends where the next one starts -- no gaps are permitted. This
diff achieves it by aligning every section's start and end points to
WordSize.

Remarks: ld64 appears to satisfy the constraint by adding padding bytes
when generating the __LINKEDIT data, e.g. by emitting BIND_OPCODE_DONE
(which is a 0x0 byte) repeatedly. I think the approach this diff takes
is a bit more elegant, but I'm not sure if it's too restrictive. In
particular, it assumes padding always uses the zero byte. But we can
revisit this later.

Reviewed By: #lld-macho, compnerd

Differential Revision: https://reviews.llvm.org/D84718
2020-07-30 14:30:07 -07:00
..
Inputs ld64.lld: Make janky support for tbd files actually work sometimes 2020-07-02 15:31:21 -04:00
invalid [lld-macho] Support __dso_handle for C++ 2020-07-30 14:28:41 -07:00
arch.s [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00
archive.s [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00
bss.s [lld-macho] Make sure ZeroFill sections are at the end of their segments 2020-07-01 19:39:29 -07:00
dso-handle.s [lld-macho] Support __dso_handle for C++ 2020-07-30 14:28:41 -07:00
dylib.s [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00
dylink-lazy.s [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00
dylink.s [lld-macho] Support binding dysyms to any section 2020-07-02 21:21:01 -07:00
entry-symbol.s [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00
export-trie.s [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00
fat-arch.s [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00
filelist.s [lld-macho] Support -filelist 2020-07-28 10:02:19 -07:00
framework.s [lld-macho] Support lookup of dylibs in frameworks 2020-07-26 12:46:46 -07:00
headerpad.s [lld-macho] Implement -headerpad 2020-07-30 14:29:31 -07:00
link-search-order.s [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00
linkedit-contiguity.s [lld-macho] Make __LINKEDIT sections contiguous 2020-07-30 14:30:07 -07:00
load-commands.s [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00
local-got.s [lld-macho] Implement -headerpad 2020-07-30 14:29:31 -07:00
no-exports-dylib.s [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00
order-file.s [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00
platform-version.test [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00
relocations.s [lld-macho] Implement -headerpad 2020-07-30 14:29:31 -07:00
resolution.s [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00
search-paths-darwin.test [lld-macho] Add missing search-paths-darwin.test 2020-06-17 20:51:26 -07:00
search-paths.test [lld-macho] Handle framework search path, alongside library search path 2020-06-17 20:41:28 -07:00
section-headers.s [lld-macho] Fix segment filesize calculation 2020-07-28 10:02:19 -07:00
section-merge.s [lld-macho] Handle alignment correctly when merging InputSections 2020-06-17 20:41:28 -07:00
segments.s [lld-macho] Fix segment filesize calculation 2020-07-28 10:02:19 -07:00
silent-ignore.test [lld-macho] Ignore -dependency_info and its argument 2020-07-24 15:55:27 -07:00
static-link.s [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00
stub-link.s [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00
sub-library.s [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00
subsections-section-relocs.s [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00
subsections-symbol-relocs.s [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00
symbol-order.s [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00
symtab.s [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00
weak-definition-direct-fetch.s [lld-macho] Partial support for weak definitions 2020-07-24 15:55:25 -07:00
weak-definition-indirect-fetch.s [lld-macho] Partial support for weak definitions 2020-07-24 15:55:25 -07:00
weak-definition-order.s [lld-macho] Partial support for weak definitions 2020-07-24 15:55:25 -07:00
weak-definition-over-dysym.s [lld-macho] Partial support for weak definitions 2020-07-24 15:55:25 -07:00
x86-64-reloc-signed.s [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00
x86-64-reloc-unsigned.s [lld-macho] Avoid explicit -arch in tests by defaulting to x86-64 2020-06-17 20:41:27 -07:00