From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id A50F23858C60; Fri, 2 Dec 2022 15:05:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A50F23858C60 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1669993550; bh=nR7Pq8SKRbW3dEP9qzovF4MJdcclSYyRJxmbmByEaL4=; h=From:To:Subject:Date:In-Reply-To:References:From; b=qYE3Z1p7C3l/tbe/+DDMunGzPqnEH4rRU3MU39I+CpTgJ3wZ0dx4kkFZyD6ZiGWN9 7evoG9Ligq5q+BGDkh+RAKyGUF7hAxYF3vFe/zvsvrNBeFyboG96/lX2MWSTjsMMvz ffEpdsVHcNW1qQTvBq3MY1tH9EZu9ZWIP6h1TbBk= From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug bootstrap/107950] partial LTO linking of libbackend.a: gcc/gcc-rich-location.cc:207: undefined reference to `range_label_for_type_mismatch::get_text(unsigned int) const' Date: Fri, 02 Dec 2022 15:05:50 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: bootstrap X-Bugzilla-Version: 13.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: NEW 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: Message-ID: In-Reply-To: References: 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 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D107950 --- Comment #2 from Richard Biener --- I wonder why the linker complains? Isn't this like t.h class X { foo (); bar (); baz (); }; and splitting the foo/bar/baz implementations to three TUs and then linking two of them partially? That is, it looks like we reference the vtable but don't emit it here or we end up with an ODR violation because somehow LTO thinks it can privatize some of it?=