public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Build reproducibility of gcc @ NixOS
@ 2021-04-02  3:55 Arthur Gautier
  2021-04-02  9:07 ` Tadeus Prastowo
  0 siblings, 1 reply; 6+ messages in thread
From: Arthur Gautier @ 2021-04-02  3:55 UTC (permalink / raw)
  To: gcc

Dear GCC development team,

We've been trying to build reproducibly the minimal NixOS image, and
gcc was one of the last issues we had.
We found that disabling profiled bootstrap compilation of GCC allowed
us to get a reproducible build of gcc.
Our efforts can be followed here: https://github.com/NixOS/nixpkgs/pull/112928

But I measured disabling this optimization to cost around 7-12%
depending on the build.
Because of this performance regression, we're trying to find a middle
ground. Ideally we'd like to keep the performance of gcc as untouched
as possible (even if that costs us on compilation time of gcc itself).

Compiling gcc twice on the same machine gets us the same output, but
compiling on a different architecture gets us a different result.
Reading the documentation, it would seem that autoprofiledback
bootstrap would use machine metrics and injects them in the build (and
we don't use autoprofiledback), But I would not expect the stagetrain
of profiledbootstrap to do that.
I tried disabling concurrency of the stagetrain without luck.

It feels like I'm missing something.
Would anyone have any idea what could inject the host's behavior here?

Thank you for your help!

Best,
-- 
Arthur

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-04-03  0:15 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-02  3:55 Build reproducibility of gcc @ NixOS Arthur Gautier
2021-04-02  9:07 ` Tadeus Prastowo
2021-04-02 15:04   ` Arthur Gautier
2021-04-02 16:32     ` Tadeus Prastowo
2021-04-02 16:45       ` Arthur Gautier
2021-04-03  0:14         ` Tadeus Prastowo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).