emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to make aot native-compilation and pdmp creation reproduceable


From: Eli Zaretskii
Subject: Re: How to make aot native-compilation and pdmp creation reproduceable
Date: Mon, 09 Oct 2023 19:28:36 +0300

> From: Björn Bidar <bjorn.bidar@thaodan.de>
> Cc: gerd.moellmann@gmail.com,  emacs-devel@gnu.org
> Date: Mon, 09 Oct 2023 19:06:41 +0300
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> From: Björn Bidar <bjorn.bidar@thaodan.de>
> >> Cc: Eli Zaretskii <eliz@gnu.org>,  emacs-devel@gnu.org
> >> Date: Mon, 09 Oct 2023 18:25:42 +0300
> >> 
> >> > - Executable and pdmp change with every build, independent of
> >> >   native-comp?
> >> yes
> >
> > You build each time in the exact same directory?  That is, remove the
> > source tree, recreate it again in the same place under the same name,
> > and then rebuild?
> 
> The builder is recreated on each build. Obs sets up a fresh install in
> each worker with just the packages required and nothing else but those
> and the package sources.

I don't think this answers my question.  Are the absolute file names
of each file in the source tree exactly identical in all the builds,
including all the leading directories?  If not, that can explain some
differences.

> > I see that you use "make -j4", what happens if you don't use the -j4
> > option (i.e. build in a deterministic sequential order)?
> 
> How should that make a difference?

"make -j4" can compile files in different order, so when file1.el is
byte-compiled and 'require's file2.el, file2.el may or may not be
already byte-compiled, so byte-compilation of file1.el may load
file2.el or file2.elc, thus producing some differences.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]