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

From: Andrea Corallo <[email-masked]>
Date: Sat, 06 Mar 2021 19:19:16 +0000

Eli Zaretskii <[email-masked]> writes:

>> From: Andrea Corallo <[email-masked]>
>> Cc: [email-masked], [email-masked]
>> Date: Sat, 06 Mar 2021 18:31:05 +0000
>> 
>> > ;;; subr-x.el --- extra Lisp functions  -*- lexical-binding:t -*-
>> >
>> > (defun internal--build-bindings (bindings)
>> >   "Check and build conditional value forms for BINDINGS."
>> >   (let ((prev-var t))
>> >     (mapcar (lambda (binding)
>> >               (let ((binding (internal--build-binding binding prev-var)))
>> >                 (setq prev-var (car binding))
>> >                 binding))
>> >             bindings)))
>> >
>> > Interestingly, if I remove the first line, there's no crash.  So
>> > lexical-binding has something to do with this.
>> >
>> > I cannot see what could trigger the crash.  The fact that 'binding' is
>> > used both as an argument and as the variable which is bound to the
>> > return value, perhaps?
>> >
>> > Let me know if you want the C reproducer for this minimal file.
>> 
>> Yes please.
>
> Attached below.
>
> When compiled with -O2 and linked against libgccjit, it crashes with
> the following backtrace:

Okay I believe this is clearly a libgccjit bug.  The attached reproducer
is not crashing on my 32bit setup based on a recent GCC trunk.

Could you remind me exactly which libgccjit version are you using?

Thanks

  Andrea