commit | 89f305bb91e7b6da34af52a606e6f30e205267f3 | [log] [tgz] |
---|---|---|
author | Nuri Amari <nuriamari@fb.com> | Tue Oct 26 14:25:34 2021 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Tue Oct 26 14:56:00 2021 -0700 |
tree | bf0a5f05badfeb4dfffe4ec527aee116e59bac3d | |
parent | e3306b6e0065005d40e9b10383c4e0d440e9357b [diff] |
Regenerate LC_CODE_SIGNATURE during llvm-objcopy operations **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 GitOrigin-RevId: a299b24712ccd0769ffa0d5b65cbc98211fd4d99
This directory and its subdirectories contain source code for the LLVM Linker, a modular cross platform linker which is built as part of the LLVM compiler infrastructure project.
lld is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt.
In order to make sure various developers can evaluate patches over the same tests, we create a collection of self contained programs.
It is hosted at https://s3-us-west-2.amazonaws.com/linker-tests/lld-speed-test.tar.xz
The current sha256 is 10eec685463d5a8bbf08d77f4ca96282161d396c65bd97dc99dbde644a31610f
.