Subject: Re: bug#48061: Unexpected result from a native-compiled function

From: Alan Mackenzie <[email-masked]>
Date: Wed, 28 Apr 2021 09:19:09 +0000

Hello, Andrea.

On Tue, Apr 27, 2021 at 21:03:05 +0000, Andrea Corallo wrote:
> Andrea Corallo via "Bug reports for GNU Emacs, the Swiss army knife of
> text editors" <[email-masked]> writes:

[ .... ]

> >> After the indicated line (0x26595), when 0x0 (nil) is in rax (i.e. the
> >> `eq' function has returned nil) the result of the function should be
> >> here-BOM, i.e. r13.  There is no instruction

> >>     mov %r13,%rax

> >> to effect this return.  Instead, rax is still holding nil, and this is
> >> falsely returned.

> > Hi Alan,

> > thanks for investigating this!  I had a quick look and I think I see
> > what's the issue, I'll follow up when I've the fix.

> Hi Alan,

> looking at the intermediate representation of this interesting function
> I've fixed a bug, I can't prove it solves your issue as I've no
> reproducer tho.

> Could you try if as of 4e1e0b9dec this is solved?  If is not the case
> could you provide a reproducer so I'll not disturb next time until is
> solved :)

The bug fix does indeed fix my problem.  :-)  My test case now runs to
the end without error, and I had a look at the disassembly too, in which
I no longer see the problem from yesterday.

I'm closing the bug with this post.

Thanks!

> Thanks

>   Andrea

-- 
Alan Mackenzie (Nuremberg, Germany).