[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
Loading
Please register or sign in to comment