GNU bug report logs - #63365
30.0.50; GCC 13.1 breaks building Emacs with native-compilation

Previous Next

Package: emacs;

Reported by: Arash Esbati <arash <at> gnu.org>

Date: Mon, 8 May 2023 08:17:02 UTC

Severity: normal

Tags: moreinfo

Merged with 65727

Found in version 30.0.50

Done: Andrea Corallo <acorallo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Arash Esbati <arash <at> gnu.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 63365 <at> debbugs.gnu.org, Andrea Corallo <acorallo <at> gnu.org>, svraka.andras <at> gmail.com, cyril.arnould <at> outlook.com
Subject: bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation
Date: Fri, 23 Jun 2023 13:41:10 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

> 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.

Fair enough.

> Meanwhile, I'd like to consider a PROBLEMS entry about this, if that's
> needed.  Do I understand correctly that -fno-optimize-sibling-calls is
> needed for successful building of Emacs 29.0.92 using MinGW64 GCC 13.1?

I'm not tracking 29 branch closely, but from my brief testing:

 • Emacs builds when running
   $ ./configure --with-native-compilation && make
   on the pretest tarball from
   https://alpha.gnu.org/gnu/emacs/pretest/emacs-29.0.92.tar.xz

 • Emacs doesn't build out of local git repo when running
   $ git switch emacs-29
   $ git clean -fdx
   $ ./autogen.sh
   $ ./configure --with-native-compilation && make

 • Emacs builds out of local git repo when running
   $ git switch emacs-29
   $ git clean -fdx
   $ ./autogen.sh
   $ CFLAGS='-g3 -O2 -gdwarf-2 -fno-optimize-sibling-calls' \
     ./configure --with-native-compilation && make

> If so, I think we should have this in PROBLEMS.

If others can reproduce my experience, then it probably makes sense.

> Also, why are you using -O3?  That is not recommended when building
> Emacs.

I wasn't aware of that.  Can you elaborate why -O3 isn't recommended?
Or any pointer where I can read about it?

> (But I understand that -foptimize-sibling-calls is in -O2, not just in
> -O3, and so -fno-optimize-sibling-calls is needed even if using -O2,
> right?)

Correct, this is also what I read from this page and my experience so
far[1].

Best, Arash

Footnotes:
[1]  https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Optimize-Options.html




This bug report was last modified 1 year and 1 day ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.