In #16472 (moved) we are updating binutils to 2.26.1. We are not updating it to a more recent version due to an issue with reproducible builds on Windows with later binutils versions.
The issue seems to be caused by binutils commit 13e570f80cbfb299a8858ce6830e91a6cb40ab7b (which we revert in #16472 (moved)).
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items 0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items 0
Link issues together to show that they're related.
Learn more.
I have been building using -Wl,-t two times on one machine, and one time on an other one. The builds from the same machine were identical, but different on the second machine.
Comparing the logs from the non maching builds, the main difference was the order of .o files included inside libstdc++.a. It seems that with previous versions of binutils, the order of objects inside a .a file did not affect the output, but it is not the case anymore with more recent versions of binutils.
with previous versions of binutils, the order of objects inside a .a file did not affect the output, but it is not the case anymore with more recent versions of binutils.
Bug or feature for you?
I am now testing a patch to update binutils to 2.31.1.
Please test with the master branch instead, because of https://sourceware.org/ml/binutils/2019-01/msg00013.html and to avoid issues like https://sourceware.org/bugzilla/show_bug.cgi?id=23600.
with previous versions of binutils, the order of objects inside a .a file did not affect the output, but it is not the case anymore with more recent versions of binutils.
Bug or feature for you?
I am now testing a patch to update binutils to 2.31.1.
Please test with the master branch instead, because of https://sourceware.org/ml/binutils/2019-01/msg00013.html and to avoid issues like https://sourceware.org/bugzilla/show_bug.cgi?id=23600.
No, 2.31.1 is fine for now I think (if nothing explodes). We'll want to switch to a newer binutils before 2.32 gets released if possible.
I checked that the linux and windows builds are reproductible on two machines, and the bundles created are running correctly.
Thanks! Testing shows this works for me. What we could do is including the landed libtool patch instead of the mail. The patch is at least on GCC master (commit 494c17dc2bf45b8155fb9a14178ab48f01bc12a8) but not in any release yet.