This is an archive of the discontinued LLVM Phabricator instance.

[clang][Driver] Make multiarch output file basenames reproducible
ClosedPublic

Authored by keith on Oct 6 2021, 1:44 PM.

Details

Summary

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.

Diff Detail

Event Timeline

keith created this revision.Oct 6 2021, 1:44 PM
keith requested review of this revision.Oct 6 2021, 1:44 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 6 2021, 1:44 PM
Herald added a subscriber: cfe-commits. · View Herald Transcript
keith updated this revision to Diff 377674.Oct 6 2021, 1:45 PM

Remove debug comment

This revision is now accepted and ready to land.Oct 7 2021, 10:55 AM
keith updated this revision to Diff 377983.Oct 7 2021, 1:01 PM

Fix format

keith updated this revision to Diff 378796.Oct 11 2021, 2:19 PM

Fix slashes for windows

keith updated this revision to Diff 379570.Oct 13 2021, 5:46 PM

Fix windows test paths

This revision was landed with ongoing or failed builds.Oct 19 2021, 2:09 PM
This revision was automatically updated to reflect the committed changes.