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

From: Andy Moreton <[email-masked]>
Date: Thu, 04 Mar 2021 21:30:33 +0000

On Thu 04 Mar 2021, Eli Zaretskii wrote:

> 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?

Also, if you build out-of-tree for two different targets, the .elc files
are built for the first one, but the second target tree does not have a
native-lisp directory, and no eln files are built.

Both of these problems show that the build does not have the correct
dependencies yet.

    AndyM