Subject: bug#46495: 28.0.50; [native-comp] Build fails for 32bit --with-wide-int

From: Andrea Corallo <[email-masked]>
Date: Mon, 29 Mar 2021 16:15:56 +0000

Eli Zaretskii <[email-masked]> writes:

>> Date: Fri, 26 Mar 2021 14:27:21 +0300
>> From: Eli Zaretskii <[email-masked]>
>> Cc: [email-masked], [email-masked]
>> 
>> One issue left, which I'm pursuing locally, is the one with strange
>> gaps in the C backtraces.  You can see the traces of that on the
>> gdb-patches mailing list.
>
> The GDB experts seem to indicate that the prologue of functions we
> produce is different from the prologue normally produced by GCC from C
> code on x86.  See
>
>   https://sourceware.org/pipermail/gdb-patches/2021-March/177334.html
>
> Is that possible?

Well if this is what you observe it certainly can be.  There might very
well be something in how/what libgccjit generates that is causing this
difference.

> are we doing something that could affect the
> prologue of the natively-compiled Lisp code?

I suspect this is a libgccjit thing, without knowing where the
difference is coming from it's hard to predict if there's a workaround
we can put in place in the Emacs codebase, but I suspect there's not.

If the generated code is correct I think gdb should recognize it
improving its unwinder, otherwise if this is a libgccjit bug we should
open a PR on bugzilla.

Perhaps if the case is the later one can try a simpler testcase to
report it using the test we have in the configure or libgccjit hello
world [1].  This might help also analysing how this different frame is
formed.

Thanks

  Andrea

[1] <https://gcc.gnu.org/onlinedocs/jit/intro/tutorial01.html>