[Bug 263271] lang/gcc11: After switching to LTO bootstrap, build of editors/emacs-devel fails with segmentation fault if NATIVECOMP option enabled
- Reply: bugzilla-noreply_a_freebsd.org: "maintainer-approval requested: [Bug 263271] lang/gcc11: After switching to LTO bootstrap, build of editors/emacs-devel fails with segmentation fault if NATIVECOMP option enabled : [Attachment 233223] Patch file"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 263271] lang/gcc11: After switching to LTO bootstrap, build of editors/emacs-devel fails with segmentation fault if NATIVECOMP option enabled"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 263271] lang/gcc11: Add upstream patch to fix bug of libgccgit"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 263271] lang/gcc11: Add upstream patch to fix bug of libgccgit"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 263271] lang/gcc11: Add upstream patch to fix bug of libgccgit"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 263271] lang/gcc11: Add upstream patch to fix bug of libgccgit"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 263271] lang/gcc11: Add upstream patch to fix bug of libgccgit"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 263271] lang/gcc11: Add upstream patch to fix bug of libgccgit"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 263271] lang/gcc11: Add upstream patch to fix bug of libgccgit"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 263271] lang/gcc11: Add upstream patch to fix bug of libgccgit"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 263271] lang/gcc11: Add upstream patch to fix bug of libgccgit"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 14 Apr 2022 05:32:44 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263271
Bug ID: 263271
Summary: lang/gcc11: After switching to LTO bootstrap, build of
editors/emacs-devel fails with segmentation fault if
NATIVECOMP option enabled
Product: Ports & Packages
Version: Latest
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: Individual Port(s)
Assignee: ports-bugs@FreeBSD.org
Reporter: yasu@freebsd.org
CC: emacs@FreeBSD.org, pkubaj@FreeBSD.org,
toolchain@FreeBSD.org
1. Since 28.x Emacs supports native compilation.
1.1. While byte compilation converts source code of emacs lisp to byte code
independent from HW and/or OS, native compilation converts it to native code of
the platform on which Emacs runs.
1.2. Emacs uses libgccgit of GCC to do native compilation.
1.3. Emacs provides two ways for native compilation. One is just-in-time way
that is done first time when source file (.el) is loaded. The other is explict
way that is done by invoking emacs lisp function that do native compilation.
2. Native compilation is enabled when Emacs is built
2.1. It is enabled by passing '--with-native-compilation' option to configure
script.
2.2. At the moment, it is off by default.
2.3. The way is also provided to native compile and install all emacs lisp
files included in source tree.
3. NATIVECOMP option was added to editors/emacs-devel in June 2021.
3.1. It is off by default.
3.2. If it is enabled, all .el files included in source archive are native
compiled and installed.
3.3. Currently lang/gcc11 is used to support native compilation as there is a
note as following in the document of GCC 10 and before:
"Note that libgccjit is currently of “Alpha” quality; the APIs are not yet set
in stone, and they shouldn’t be used in production yet."
4. With the latest ports tree build of editors/emacs-devel fails if NATIVECOMP
option is enabled.
4.1. It fails with segmantation fault of emacs while native compiling
'emoji.el' as following.
https://people.freebsd.org/~yasu/poudriere/data/logs/bulk/130amd64-default-emacs/2022-04-12_17h00m39s/logs/emacs-devel-nox-29.0.50.20220331_1,2.log
4.2 I faced the failure when I updated ports tree from ports 9aa49f27ffd0
(committed on April 7) to ports 7f2e164a4b3b (committed on April 12).
4.3. According to the result of `git bisect`, the build failure happens with
following commit and after.
----------------------------------------------------------------------
commit 2f6be9fb8281
Author: Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: Mon Apr 11 10:46:01 2022 +0000
Commit: Piotr Kubaj <pkubaj@FreeBSD.org>
CommitDate: Mon Apr 11 10:46:01 2022 +0000
lang/gcc11: switch gcc11 to LTO bootstrap
lang/gcc11-devel with LTO builds fine on the cluster, switch lang/gcc11 as
well.
----------------------------------------------------------------------
5. The cause of the build failure seems to be bug of lang/gcc11 about LTO
5.1 If I revert the commit above then build completes successfully.
5.2. I modified Makefile of editors/emacs-devel so it uses lang/gcc12-devel.
Then build completes successfully.
5.3. I also modified the Makefile so it uses lang/gcc11-devel. In this case
build fails with same error. Next, I updated lang/gcc11-devel to the 20220409
snapshot of GCC 11.2.1. Then build completes successfully.
--
You are receiving this mail because:
You are on the CC list for the bug.