[5.5][clang][Driver] Make multiarch output file basenames reproducible#3483
Closed
keith wants to merge 1 commit intoswiftlang:swift/release/5.5from
Closed
Conversation
When building a multiarch MachO binary, previously the intermediate output file names would contain random characters. On macOS this filename, since it's used when linking, ended up being used as a stable-ish identifier for the adhoc codesignature of the binary, leading to non-reproducible binaries. This change uses the architecture, when available, to create a stable, but unique, basename for the file. Differential Revision: https://reviews.llvm.org/D111269 This fixes FB9727658 (although the linker should still probably be updated to fix other related use cases) (cherry picked from commit 17386cb)
Member
Author
|
@fredriss since you're mentioned as the release manager |
Member
Author
|
This definitely missed the train, this fix is included in 5.6 which shipped with Xcode 13.3 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When building a multiarch MachO binary, previously the intermediate
output file names would contain random characters. On macOS this
filename, since it's used when linking, ended up being used as a
stable-ish identifier for the adhoc codesignature of the binary, leading
to non-reproducible binaries. This change uses the architecture, when
available, to create a stable, but unique, basename for the file.
Differential Revision: https://reviews.llvm.org/D111269
This fixes FB9727658 (although the linker should still probably be
updated to fix other related use cases)
(cherry picked from commit 17386cb)