summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2023-06-24 10:23:07 +0300
committerEli Zaretskii <eliz@gnu.org>2023-06-24 10:23:07 +0300
commit679e9d7c56e2296e3a218290d941e28002bf7722 (patch)
tree7ce0f554446f23711759fd21fdd5f14fc59fb0c9 /etc
parentfdc1a12ed1a2ceaebf21ec68752e85dd4527ceab (diff)
downloademacs-679e9d7c56e2296e3a218290d941e28002bf7722.tar.gz
; Mention MinGW64 GCC 13.1 problems in PROBLEMS
* etc/PROBLEMS: Mention the problems building with MinGW64 GCC 13.1. (Bug#63365)
Diffstat (limited to 'etc')
-rw-r--r--etc/PROBLEMS33
1 files changed, 33 insertions, 0 deletions
diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index e5baa8ee18a..80b3b9945c4 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -3422,6 +3422,39 @@ See
https://lists.gnu.org/r/emacs-devel/2010-07/msg01266.html
+*** Building the MS-Windows port with native compilation fails
+
+This is known to happen when using MinGW64 GCC 13.1, and seems to
+affect byte-compilation: the built Emacs crashes while byte-compiling
+some Lisp files. (This doesn't happen when building a release
+tarball, because all the Lisp files are already byte-compiled there,
+but then Emacs could crash later when you use it to byte-compile your
+or third-party Lisp packages.)
+
+The reason seems to be specific to MS-Windows or the MinGW64 port of
+GCC 13.1, and is somehow related to optimizations in this GCC version.
+There are several known workarounds:
+
+ . Use non-default optimization flags. For example, configuring the
+ build like this will avoid the problem:
+
+ CFLAGS='-O1 -gdwarf-4 -g3' ./configure ...
+
+ (replace the ellipsis "..." with the rest of 'configure' options
+ and arguments).
+
+ . Prevent GCC from performing a specific optimization:
+
+ CFLAGS='-O2 -gdwarf-4 -g3 -fno-optimize-sibling-calls' ./configure ...
+
+ This is actually a variant of the previous workaround, except that
+ it allows you to have almost the full set of optimizations used by
+ -O2.
+
+ . Downgrade to GCC 12.x.
+
+ . Build Emacs without native compilation.
+
*** Building the native MS-Windows port fails due to unresolved externals
The linker error messages look like this: