Subject: bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation

From: Andrea Corallo <[email-masked]>
Date: Sun, 25 Jun 2023 09:51:13 -0400

Eli Zaretskii <[email-masked]> writes:

>> From: Arash Esbati <[email-masked]>
>> Cc: "[email-masked]" <[email-masked]>,  "[email-masked]"
>>  <[email-masked]>,  " [email-masked]" <[email-masked]>,
>>   András Svraka
>>  <[email-masked]>
>> Date: Thu, 22 Jun 2023 22:34:48 +0200
>> 
>> Many thanks for digging into this.  I can confirm that Emacs builds with
>> -fno-optimize-sibling-calls in CFLAGS.  I have a script which (now)
>> does:
>> 
>>   CFLAGS='-O3 -g0 -pipe -fno-optimize-sibling-calls' \
>>   ./configure ...
>> 
>> and it works again.
>> 
>> Now the question is: Is this considered a GCC bug and we should close
>> this report as notabug?
>
> AFAIR, last Andrea looked into this he was surprised by this finding
> and didn't understand how -foptimize-sibling-calls could cause such
> problems.  I hope Andrea will come up with some tests for you guys to
> provide more information, so he does eventually understand the
> cause(s).  I don't think we can in good faith claim this is a GCC bug
> before we understand the problem better.

Unfortunatelly I've trouble thinking to such a test.  

Maybe someone should compare the two binaries (with and without
-foptimize-sibling-calls) to understand which compilation unit (and
which function) differs in details.  Hopefully this could help us to
pinkpoint the function causing the issue?  Once that is done it's more
easy to understand what the compiler is doing.

Thanks

  Andrea