forked from OSchip/llvm-project
![]() **Context:** This is a second attempt at introducing signature regeneration to llvm-objcopy. In this diff: https://reviews.llvm.org/D109840, a script was introduced to test the validity of a code signature. In this diff: https://reviews.llvm.org/D109803 (now reverted), an effort was made to extract the signature generation behavior out of LLD into a common location for use in llvm-objcopy. In this diff: https://reviews.llvm.org/D109972 it was decided that there was no appropriate common location and that a small amount of duplication to bring signature generation to llvm-objcopy would be better. This diff introduces this duplication. **Summary** Prior to this change, if a LC_CODE_SIGNATURE load command was included in the binary passed to llvm-objcopy, the command and associated section were simply copied and included verbatim in the new binary. If rest of the binary was modified at all, this results in an invalid Mach-O file. This change regenerates the signature rather than copying it. The code_signature_lc.test test was modified to include the yaml representation of a small signed MachO executable in order to effectively test the signature generation. Reviewed By: alexander-shaposhnikov, #lld-macho Differential Revision: https://reviews.llvm.org/D111164 |
||
---|---|---|
.. | ||
COFF | ||
ELF | ||
MachO | ||
wasm | ||
BitcodeStripOpts.td | ||
CMakeLists.txt | ||
CommonConfig.h | ||
CommonOpts.td | ||
ConfigManager.cpp | ||
ConfigManager.h | ||
InstallNameToolOpts.td | ||
MultiFormatConfig.h | ||
ObjcopyOpts.td | ||
StripOpts.td | ||
llvm-objcopy.cpp | ||
llvm-objcopy.h |