From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 333373858C52; Fri, 13 May 2022 21:13:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 333373858C52 From: "sam at gentoo dot org" To: gcc-bugs@gcc.gnu.org Subject: [Bug lto/105600] New: ICE with LTO when building Mumble from git on arm64 Date: Fri, 13 May 2022 21:13:17 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: lto X-Bugzilla-Version: 12.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: sam at gentoo dot org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter cc target_milestone Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 May 2022 21:13:17 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D105600 Bug ID: 105600 Summary: ICE with LTO when building Mumble from git on arm64 Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto Assignee: unassigned at gcc dot gnu.org Reporter: sam at gentoo dot org CC: marxin at gcc dot gnu.org Target Milestone: --- Reported this downstream at https://bugs.gentoo.org/843974 initially. Apologies for not being able to give more information yet. I'm familiar with reducing "normal" ICEs but I'm getting stuck with how to get more info beca= use of LTO. One issue is it seems like I can't find a way to keep all the temporary fil= es required. The bug seems similar to bug 102067 (same stacktrace?). ICE occurs when building Mumble from their git repo (https://github.com/mumble-voip/mumble) at 4f50172c5c8bc7c425efb350377106d3e83a7e79. Needs LTO. Occurs on arm64 with GCC 11.3.0 and GCC 12.1.0. I've reduced it down to: ``` $ /usr/bin/c++ -freport-bug -flto=3D99 -o /dev/null -O2 -fsanitize=3Dundefi= ned -O3 -DNDEBUG -Wl,-z,relro -Wl,-z,now /root/mumble/build/src/tests/TestSettingsJSONSerialization/CMakeFiles/TestS= ettingsJSONSerialization.dir/TestSettingsJSONSerialization.cpp.o /root/mumble/build/src/tests/TestSettingsJSONSerialization/../../mumble/CMa= keFiles/mumble_client_object_lib.dir/JSONSerialization.cpp.o during IPA pass: icf lto1: internal compiler error: Segmentation fault 0xb13af3 crash_signal /usr/src/debug/sys-devel/gcc-12.1.0/gcc-12.1.0/gcc/toplev.cc:322 0xdc3e64 varpool_node::get_constructor() /usr/src/debug/sys-devel/gcc-12.1.0/gcc-12.1.0/gcc/varpool.cc:300 0x15b8f53 ipa_icf::sem_variable::equals(ipa_icf::sem_item*, hash_map, ipa_icf::sem_item*> >&) /usr/src/debug/sys-devel/gcc-12.1.0/gcc-12.1.0/gcc/ipa-icf.cc:1695 0x15b9f67 ipa_icf::sem_item_optimizer::subdivide_classes_by_equality(bool) /usr/src/debug/sys-devel/gcc-12.1.0/gcc-12.1.0/gcc/ipa-icf.cc:2732 0x15c0683 ipa_icf::sem_item_optimizer::execute() /usr/src/debug/sys-devel/gcc-12.1.0/gcc-12.1.0/gcc/ipa-icf.cc:2464 0x15c1d6f ipa_icf_driver /usr/src/debug/sys-devel/gcc-12.1.0/gcc-12.1.0/gcc/ipa-icf.cc:3600 0x15c1d6f ipa_icf::pass_ipa_icf::execute(function*) /usr/src/debug/sys-devel/gcc-12.1.0/gcc-12.1.0/gcc/ipa-icf.cc:3647 Please submit a full bug report, with preprocessed source. Please include the complete backtrace with any bug report. See for instructions. lto-wrapper: fatal error: /usr/bin/c++ returned 1 exit status compilation terminated. /usr/lib/gcc/aarch64-unknown-linux-gnu/12.1.0/../../../../aarch64-unknown-l= inux-gnu/bin/ld: error: lto-wrapper failed collect2: error: ld returned 1 exit status ``` What more information do you need? I can give access to the environment if required. Cheers.=