[M3devel] Fw: [M3commit] [modula3/cm3] 0d5954: reduce-target-variation
Rodney M. Bates
rodney_bates at lcwb.coop
Wed Jul 5 18:13:53 CEST 2017
On 07/04/2017 02:08 AM, Jay K wrote:
> I'd really like an *option* to make builds far more "deterministic" and "consistent" and "repeatable" from machine to machine, maybe similar-target to similar-target (OpenBSD/x86==Linux/x86==NetBSD/x86==Solaris/x86).
>
>
> That is: I want the default to have full paths all over the place, but an option to reduce paths to something the same across all machines.
>
>
> I want the C backend to by default have a bunch of line numbers to aid debugging, but an option (same option) to omit them.
>
>
> Paths like Compiler.ThisFIle, if they have any slashes, should probably just always be forward.
>
> This might break some workflows around copy/paste them into file.open dialogs on Windows though.
>
> Much of Windows supports forward slashes, and much does not.
>
>
> Maybe "-very-deterministic". Yes this is half joke -- deterministic is thought to be a boolean, and everything should be deterministic, but the definition of deterministic is actually unclear.
>
>
> The "target" in reduce-target-variation isn't clearly the right name for this.
>
> Maybe just reduce-variation or reduce-noise or more-reproducible.
>
>
> This is a step toward a distribution form that isn't target-specific.
>
> One run of the C backend could generate something redistributable to all or many targets.
In this case, we would be taking it on faith that the final C compiler didn't introduce any
nondeterminism that we cared about. But perhaps determinism in our own code is all we are
concerned with.
>
>
> - Jay
>
>
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> *From:* M3commit <m3commit-bounces at elegosoft.com> on behalf of GitHub <noreply at github.com>
> *Sent:* Tuesday, July 4, 2017 6:21 AM
> *To:* m3commit at elegosoft.com
> *Subject:* [M3commit] [modula3/cm3] 0d5954: reduce-target-variation
>
> Branch: refs/heads/reduce-target-variation
> Home: https://github.com/modula3/cm3
> <https://github.com/modula3/cm3>
>
> GitHub - modula3/cm3: Critical Mass Modula-3 <https://github.com/modula3/cm3>
> github.com
> cm3 - Critical Mass Modula-3 ... Clone with HTTPS Use Git or checkout with SVN using the web URL.
>
>
>
> Commit: 0d59546d11641afe3772b73f226c2e90b960d7fc
> https://github.com/modula3/cm3/commit/0d59546d11641afe3772b73f226c2e90b960d7fc
> <https://github.com/modula3/cm3/commit/0d59546d11641afe3772b73f226c2e90b960d7fc>
>
> reduce-target-variation · modula3/cm3 at 0d59546 <https://github.com/modula3/cm3/commit/0d59546d11641afe3772b73f226c2e90b960d7fc>
> github.com
> cm3 - Critical Mass Modula-3
>
>
>
> Author: jaykrell <jay.krell at cornell.edu>
> Date: 2017-07-03 (Mon, 03 Jul 2017)
>
> Changed paths:
> M m3-sys/cm3/src/Main.m3
> M m3-sys/cm3/src/Makefile.m3
> M m3-sys/cminstall/src/config-no-install/cm3cfg.common
> M m3-sys/m3back/src/M3C.m3
> M m3-sys/m3cc/gcc-4.7/gcc/dbxout.c
> M m3-sys/m3cc/gcc-4.7/gcc/dwarf2out.c
> M m3-sys/m3cc/gcc-4.7/gcc/toplev.c
> M m3-sys/m3cc/gcc-4.7/gcc/toplev.h
> M m3-sys/m3cc/gcc/gcc/m3cg/lang.opt
> M m3-sys/m3cc/gcc/gcc/m3cg/parse.c
> M m3-sys/m3front/src/misc/Coverage.m3
> M m3-sys/m3front/src/misc/Host.i3
> M m3-sys/m3front/src/misc/Host.m3
> M m3-sys/m3front/src/misc/M3Header.m3
> M m3-sys/m3front/src/misc/Scanner.m3
> M m3-sys/m3front/src/values/Module.m3
> M m3-sys/m3middle/src/Target.i3
> M scripts/python/pylib.py
>
> Log Message:
> -----------
> reduce-target-variation
>
>
>
>
> _______________________________________________
> M3devel mailing list
> M3devel at elegosoft.com
> https://m3lists.elegosoft.com/mailman/listinfo/m3devel
>
--
Rodney Bates
rodney.m.bates at acm.org
More information about the M3devel
mailing list