Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sort all wildcarded object files for reproducibility #217

Closed
wants to merge 1 commit into from

Conversation

dkg
Copy link
Contributor

@dkg dkg commented Oct 17, 2018

Without this sort, the linker may assemble the final object files in
the order in which their source files are found in the filesystem (or
however make chooses to interpret the $(wildcard ...) function).

By sorting the results lexicographically, we aim to assemble
byte-identical output files, regardless of the filesystem order or
other possible non-determinism introduced by make.

(i've applied this patch to the debian packaging of libreswan between versions 3.27-3 and 3.27-4; results: 3.27-3 is non-deterministically unreproducible, and 3.27-4 appears to be reliably reproducible)

Without this sort, the linker may assemble the final object files in
the order in which their source files are found in the filesystem (or
however make chooses to interpret the $(wildcard ...) function).

By sorting the results lexicographically, we aim to assemble
byte-identical output files, regardless of the filesystem order or
other possible non-determinism introduced by make.
@letoams
Copy link
Member

letoams commented Oct 23, 2018

merged, thanks!

@letoams letoams closed this Oct 23, 2018
libreswan pushed a commit that referenced this pull request Oct 23, 2018
Without this sort, the linker may assemble the final object files in
the order in which their source files are found in the filesystem (or
however make chooses to interpret the $(wildcard ...) function).

By sorting the results lexicographically, we aim to assemble
byte-identical output files, regardless of the filesystem order or
other possible non-determinism introduced by make.

This resolves #217

Signed-off-by: Paul Wouters <pwouters@redhat.com>
@dkg dkg deleted the reproducibility branch May 24, 2019 21:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants