[M3devel] compiler switch "reduce target variation"?

Jay K jayk123 at hotmail.com
Tue Jul 4 17:54:52 CEST 2017

Perhaps warnings or errors should be requestable though.

For example in C a warning for __TIME__.

There is a goal in some parts that take a source tree and be able to build
it again on another computer and get identical bytes.

It is good for determining "provenance" -- this is the actual source to those binaries (or
at least one of them -- if you consider comments, there are infinite source variations
that might map to the same binaries).

It is good for build systems with aggressive caching -- change comments, recompile
those sources, get the same objects, "cut off" the graph walk, everything is correct in the cache,
just add another hash for source that maps to object.

 - Jay

From: M3devel <m3devel-bounces at elegosoft.com> on behalf of Hendrik Boom <hendrik at topoi.pooq.com>
Sent: Tuesday, July 4, 2017 2:52 PM
To: m3devel at elegosoft.com
Subject: Re: [M3devel] compiler switch "reduce target variation"?

On Tue, Jul 04, 2017 at 06:34:03AM +0000, Jay K wrote:
> Trying to resume work here..
> Here, I've commited this to a branch:
> https://github.com/modula3/cm3/commit/0d59546d11641afe3772b73f226c2e90b960d7fc

reduce-target-variation · modula3/cm3 at 0d59546<https://github.com/modula3/cm3/commit/0d59546d11641afe3772b73f226c2e90b960d7fc>
cm3 - Critical Mass Modula-3

> There are some unrelated changes I will tease out and commit separately.
> I still believe we should implement this.
> It is a variation of what people call "deterministic builds".

Whn the source code explicitly uses features whose whole purpose is to
vary between builds, then it's quite reasonable for the object code to
vary, even if one asks for a deterministic build.

-- hendrik
M3devel mailing list
M3devel at elegosoft.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20170704/d75d708b/attachment.html>

More information about the M3devel mailing list