From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 9E6DB385801D; Fri, 2 Feb 2024 10:33:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9E6DB385801D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1706870036; bh=s2Iwk7JBdJAxbQYmPoNekkdgWrpHtMDV2DhzIfeBqhY=; h=From:To:Subject:Date:In-Reply-To:References:From; b=w4M9s/AgjvsQ0ADZ/TxxTbffk8Wv+y5GQcTRx3960mLvRZMjCqHVQySD75jnFACF5 4Cou1RqNrSHIqy/CSKr1ADDNdj3AiN7Inz1fwTKjC+t29Olst0ojEfzfyiR52OuuUa 1BIl1ObiteX4ojcoKYSBjC+IbJuNlA0F4OsFB5qE= From: "hubicka at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug ipa/97119] Top level option to disable creation of IPA symbols such as .localalias is desired Date: Fri, 02 Feb 2024 10:33:50 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: ipa X-Bugzilla-Version: 10.2.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: hubicka 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=3D97119 --- Comment #7 from Jan Hubicka --- Local aliases are created by ipa-visibility pass. Most common case is that function is declared inline but ELF superposition rules say that the symbol= can be overwritten by a different library. Since GCC knows that all implementaitons must be equivalent, it can force calls within DSO to be dir= ect. I am not quite sure how this confuses stack unwinding on Solaris? For live patching, if you want to patch inline function, one definitely nee= ds to look for places it has been inlined to. However in the situation the function got offlined, I think live patching should just work, since it will place jump in the beggining of function body. The logic for creating local aliases is in ipa-visibility.cc. Adding comma= nd line option to control it is not hard. There are other transformations we do there - like breaking up comdat groups and other things. part aliases are controlled by -fno-partial-inlining, isra by -fno-ipa-sra. There is also ipa-cp controlled by -fno-ipa-prop. We also do alises as part of openMP offlining and LTO partitioning that are kind of mandatory (there is no way to produce correct code without them).=