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