GNU bug report logs -
#63365
30.0.50; GCC 13.1 breaks building Emacs with native-compilation
Previous Next
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
Message #140 received at 63365 <at> debbugs.gnu.org (full text, mbox):
> From: Arash Esbati <arash <at> gnu.org>
> Cc: Andrea Corallo <acorallo <at> gnu.org>, cyril.arnould <at> outlook.com,
> 63365 <at> debbugs.gnu.org, svraka.andras <at> gmail.com
> Date: Fri, 23 Jun 2023 13:41:10 +0200
>
> 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
This might mean that the problem happens when byte-compiling *.el
files -- in the tarball all the *.elc files are already present. What
happens if you remove the *.elc files from the release tarball, and
then try building it?
> > 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?
In a nutshell, it bloats the code (due to excessive inlining), with no
real effect on speed. The inner loops in Emacs are very large, and
thus the techniques used by -O3 to speed up code (loop unrolling etc.)
don't really work. Moreover, they could make things worse because the
larger loops might no longer fit into the L1 cache of the CPU.
The -O3 is well suited to speed up relatively simple algorithms with
tight loops. Emacs has very few of those, in the places that matter
for observable performance.
This bug report was last modified 1 year and 2 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.