From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4053 invoked by alias); 17 May 2003 20:43:19 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 4046 invoked from network); 17 May 2003 20:43:18 -0000 Received: from unknown (HELO sccrmhc03.attbi.com) (204.127.202.63) by sources.redhat.com with SMTP; 17 May 2003 20:43:18 -0000 Received: from lucon.org (12-234-88-5.client.attbi.com[12.234.88.5]) by attbi.com (sccrmhc03) with ESMTP id <2003051720431800300efac9e>; Sat, 17 May 2003 20:43:18 +0000 Received: by lucon.org (Postfix, from userid 1000) id F0A7D2C683; Sat, 17 May 2003 13:43:17 -0700 (PDT) Date: Sat, 17 May 2003 22:02:00 -0000 From: "H. J. Lu" To: Richard Henderson , Andreas Schwab , gcc@gcc.gnu.org Subject: Re: Does gcc violate the ia64 ABI? Message-ID: <20030517134317.B22720@lucon.org> References: <20030516144401.A4222@lucon.org> <20030516152508.A4885@lucon.org> <20030517004318.GA18262@redhat.com> <20030516184522.A7603@lucon.org> <20030517181559.GA18692@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <20030517181559.GA18692@redhat.com>; from rth@redhat.com on Sat, May 17, 2003 at 11:15:59AM -0700 X-SW-Source: 2003-05/txt/msg01669.txt.bz2 On Sat, May 17, 2003 at 11:15:59AM -0700, Richard Henderson wrote: > On Fri, May 16, 2003 at 06:45:22PM -0700, H. J. Lu wrote: > > Gcc can skip gp save/restore across a local call. Right now, gcc > > saves and restores gp across a local call. > > Indeed, but it also tail-calls to non-local functions, so > gcc is going to have a compatibility problem if we change > the ABI. > That is very unfortunate. We have several choices: 1. Do nothing. It is very bad. 2. Fix gcc and use a bit in ELF header to indicate the ABI change. Linker will make sure no mixed .o/.so files. 3. Fix gcc and use a special empty note section to indicate the ABI change. Linker will make sure no mixed .o/.so files. I prefer 3, 2, 1, in that order. BTW, Clause 'd' is in my Sept. 2000 copy of the runtime guide. It may have been there for a long time. We must have missed it somehow. H.J.