From: Andrea Corallo <acorallo@gnu.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 63365@debbugs.gnu.org, arash@gnu.org, svraka.andras@gmail.com,
Cyril Arnould <cyril.arnould@outlook.com>
Subject: bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation
Date: Fri, 16 Jun 2023 10:49:13 -0400 [thread overview]
Message-ID: <yp1bkhf8nti.fsf@fencepost.gnu.org> (raw)
In-Reply-To: <831qibu29t.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 16 Jun 2023 13:31:26 +0300")
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Cyril Arnould <cyril.arnould@outlook.com>
>> CC: "eliz@gnu.org" <eliz@gnu.org>, "63365@debbugs.gnu.org"
>> <63365@debbugs.gnu.org>, " akrl@sdf.org" <akrl@sdf.org>,
>> András Svraka <svraka.andras@gmail.com>
>> Date: Fri, 16 Jun 2023 09:04:16 +0000
>>
>> I've been playing around with compiler options. From my findings, the
>>
>> -foptimize-sibling-calls flag breaks the build:
>>
>>
>>
>> ./autogen.sh
>>
>> CFLAGS='-g3 -O1 -gdwarf-2 -foptimize-sibling-calls' \
>>
>> ./configure --with-native-compilation
>>
>> make
>>
>>
>>
>> OTOH, using -O1 with every flag listed under -O2 *but*
>>
>> -foptimize-sibling-calls results in the build succeeding. The following
>>
>> works as well for me:
>>
>>
>>
>> ./autogen.sh
>>
>> CFLAGS='-g3 -O2 -gdwarf-2 -fno-optimize-sibling-calls' \
>>
>> ./configure --with-native-compilation
>>
>> make
>
> Andrea, any reason that this GCC switch should break
> native-compilation?
At this point I start to suspect that this is not strictly related to
native compilation.
The configure flags are used only for our regular C code and not for
Elisp native compilation. So it might be that some kind of
misscompilaiton of our C code is happening only with
--with-native-compilation, but looks to me it's not our compiler or
libgccjit the issue here.
> Does the same problem happen on GNU/Linux?
I tried now on GCC 13.1.1
git clean -xfd && ./autogen.sh
CFLAGS='-g3 -O1 -gdwarf-2 -foptimize-sibling-calls'
./configure --with-native-compilation && make -j16
and have complete bootstrap succesfully on emacs-29 (65f355ea0a3), my
dev machine is still x86_64-pc-linux-gnu.
One idea might be asking GCC to log what optimize-sibling-calls is doing
and see if any of our C function supporting native compilation is
touched by this pass (I believe is called in GCC tree-tailcall).
CFLAGS='-g3 -O1 -gdwarf-2 -foptimize-sibling-calls -fdump-tree-tailr' && make bootstrap
should let GCC dump what this pass is for each C compilation unit, I'd
start looking at the output for comp.c (I've comp.c.045t.tailr1 and comp.c.125t.tailr2).
Hope it helps!
Andrea
next prev parent reply other threads:[~2023-06-16 14:49 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-08 8:16 bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation Arash Esbati
2023-05-08 11:48 ` Eli Zaretskii
2023-05-08 14:36 ` Arash Esbati
2023-05-08 15:13 ` Eli Zaretskii
2023-05-08 19:34 ` Arash Esbati
2023-05-09 5:05 ` Eli Zaretskii
2023-05-09 12:12 ` Arash Esbati
2023-05-09 12:49 ` Eli Zaretskii
2023-05-10 12:37 ` Arash Esbati
2023-05-10 12:48 ` Eli Zaretskii
2023-05-10 14:27 ` Arash Esbati
2023-05-10 16:54 ` Eli Zaretskii
2023-05-10 19:08 ` Eli Zaretskii
2023-05-11 10:06 ` Eli Zaretskii
2024-01-26 13:11 ` Eli Zaretskii
2024-01-26 18:24 ` Arash Esbati
2024-01-26 18:59 ` Eli Zaretskii
2024-01-26 20:33 ` Arash Esbati
2024-02-01 10:39 ` Arash Esbati
2024-02-01 11:02 ` Eli Zaretskii
2024-02-01 11:11 ` Arash Esbati
2024-02-01 11:27 ` Eli Zaretskii
2023-05-26 13:05 ` Arash Esbati
2023-05-26 13:42 ` Eli Zaretskii
2023-05-26 19:21 ` Arash Esbati
2023-05-27 6:00 ` Eli Zaretskii
2023-05-27 10:57 ` Arash Esbati
2023-05-27 11:33 ` Eli Zaretskii
2023-05-27 17:35 ` Arash Esbati
2023-05-28 6:55 ` Eli Zaretskii
2023-06-01 7:31 ` András Svraka
2023-06-01 7:37 ` András Svraka
2023-06-01 8:42 ` Eli Zaretskii
2023-06-01 8:49 ` Andrea Corallo
2023-06-01 15:33 ` András Svraka
2023-06-01 15:30 ` András Svraka
2023-06-01 16:25 ` Eli Zaretskii
2023-06-08 10:21 ` Arash Esbati
2023-06-08 13:19 ` Eli Zaretskii
2023-06-08 14:02 ` Andrea Corallo
2023-06-08 14:18 ` Eli Zaretskii
2023-06-08 14:39 ` Andrea Corallo
2023-06-08 22:08 ` Arash Esbati
2023-06-08 22:27 ` Arash Esbati
2023-06-16 9:04 ` Cyril Arnould
2023-06-16 10:31 ` Eli Zaretskii
2023-06-16 14:49 ` Andrea Corallo [this message]
2023-06-16 14:52 ` Andrea Corallo
2023-06-22 20:34 ` Arash Esbati
2023-06-23 5:32 ` Eli Zaretskii
2023-06-23 11:41 ` Arash Esbati
2023-06-23 12:15 ` Eli Zaretskii
2023-06-23 12:50 ` Arash Esbati
2023-06-24 9:17 ` Deus Max
2023-06-24 9:21 ` Eli Zaretskii
2023-06-24 14:41 ` Deus Max
2023-06-24 15:05 ` Eli Zaretskii
2023-06-25 13:51 ` Andrea Corallo
2023-06-25 15:41 ` Eli Zaretskii
2023-06-25 18:11 ` Andrea Corallo
2023-06-25 18:31 ` Eli Zaretskii
2023-06-26 7:03 ` Andrea Corallo
2023-06-26 22:04 ` Cyril Arnould
2023-06-27 2:30 ` Eli Zaretskii
2023-06-27 19:28 ` Cyril Arnould
2023-06-27 20:22 ` Andrea Corallo
2023-06-28 11:37 ` Eli Zaretskii
2023-06-28 23:16 ` Cyril Arnould
2023-06-29 5:20 ` Eli Zaretskii
2023-06-29 6:36 ` Cyril Arnould
2023-06-29 8:21 ` Andrea Corallo
2023-06-29 9:16 ` bug#63365: AW: " Cyril Arnould
[not found] <AS4PR10MB6110F1445D9658E48521DDD2E358A@AS4PR10MB6110.EURPRD10.PROD.OUTLOOK.COM>
2023-06-20 8:31 ` Andrea Corallo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=yp1bkhf8nti.fsf@fencepost.gnu.org \
--to=acorallo@gnu.org \
--cc=63365@debbugs.gnu.org \
--cc=arash@gnu.org \
--cc=cyril.arnould@outlook.com \
--cc=eliz@gnu.org \
--cc=svraka.andras@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).