How to prevent DMD from changing the executable files at each compilation ?

Andre Pany andre at s-e-a-p.de
Sun Sep 29 12:42:38 UTC 2019


On Sunday, 29 September 2019 at 11:15:43 UTC, Ecstatic Coder 
wrote:
> Every time I compile the same code with DMD, I get a slightly 
> different ".exe" file on Windows.
>
> fc /b basil.exe basil_old_1.exe
> 00000118: 9F 55
> 00000119: 8C 89
> 00156554: 9F 55
> 00156555: 8C 89
>
> fc /b basil.exe basil_old_2.exe
> 00000118: 9F 1B
> 00000119: 8C 8A
> 00156554: 9F 1B
> 00156555: 8C 8A
>
> This problem is D specific, as for instance Go will generate 
> the same executable each time.
>
> So before I implement a tool for this, is there an easy way to 
> prevent DMD from "timestamping" its generated binaries, so that 
> they become more "git-friendly" ?

Since 2.077 dmd builds should be reproducible 
https://dlang.org/changelog/2.077.0.html#reproducible_builds

Kind regards
Andre


More information about the Digitalmars-d mailing list