Subject: Re: bug#46256: [feature/native-comp] AOT eln files ignored if run from build tree

From: Andrea Corallo <[email-masked]>
Date: Thu, 04 Mar 2021 20:11:27 +0000

Eli Zaretskii <[email-masked]> writes:

> I have a question about the build process of the native-comp branch:
>
> Say I bootstrapped a fresh checkout without NATIVE_FULL_AOT=1, and I
> now have a subdirectory under the native-lisp/ directory populated
> with the *.eln files of the Lisp files we preload.
>
> Now I make some change in Emacs that modifies the ABI hash, and
> rebuild.  The previous subdirectory of native-lisp/ is no longer
> valid; if I modify some of the preloaded Lisp files, a new .eln file
> is produced in a new subdirectory of native-lisp/.  But now that new
> subdirectory has only the *.eln files for those Lisp files I modified
> _after_ the ABI-changing change.  Which means most of the preloaded
> files do not have *.eln files in the native-lisp/ subdirectory that
> corresponds to the latest ABI.  Does this mean Emacs now falls back to
> using *.elc files when it produces the emacs.pdmp file?

Yes, I think so.  ATM if the ABI hash is modified something like 'make
bootstrap' is needed to re-build all .eln.

  Andrea