From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 88E373858D38; Tue, 16 Jan 2024 09:22:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 88E373858D38 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1705396949; bh=CQ83KKxoGsyahqne/M2/Kk4utHT8ZYKoZ5xpkuVwtTs=; h=From:To:Subject:Date:In-Reply-To:References:From; b=yXV5B5XkGYnY18OAi/++gJhEwzt0PcDZi0JicEcydqSi/v8qW0PMX3PEUQbB6mJ7r e1xNWPlCUP95FV9+wF5Iu4vCtE4KIcS7IFuPVc+k8lrMRszmN4SvcxMEbI1eCxhtrz iv4ZbwwjP/7XduDuNFXMSCqr/MwDYKTQrP/nW3oI= From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug libgcc/113403] [14 Regression] __builtin_nested_func_ptr_created, __builtin_nested_func_ptr should be dynamically linked by default Date: Tue, 16 Jan 2024 09:22:29 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libgcc X-Bugzilla-Version: 14.0 X-Bugzilla-Keywords: ABI X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P1 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 14.0 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=3D113403 --- Comment #11 from Jakub Jelinek --- (In reply to Iain Sandoe from comment #10) > it is an optimisation, yes - but as Richi points out, if we change this it > will affect ABI - so it is ideal to do this before the first release that > includes it? >=20 >=20 > - IIUC Jakub's suggestion: > - remove the functions from libgcc.a Not necessarily, just maybe. We do that thing with libgcc_eh.a (unwinder is in libgcc_eh.a and libgcc_s.= so.1 and not in libgcc.a). Or put it in libgcc_eh.a and libgcc_s.so.1? It is not unwinder, but shares the central registry property with it. > - add a spec to gcc/gcc.cc like=20 > %{!static:%(!static-libgcc:%(ftrampoline-impl=3Dheap: -shared-libgcc }}} Either that, or do something like cp/g++spec.cc does with shared_libgcc. Whatever works.=