From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20728 invoked by alias); 22 Mar 2002 22:01:22 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 20711 invoked from network); 22 Mar 2002 22:01:16 -0000 Received: from unknown (HELO cygnus.com) (205.180.230.5) by sources.redhat.com with SMTP; 22 Mar 2002 22:01:16 -0000 Received: from localhost.redhat.com (cse.cygnus.com [205.180.230.236]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id OAA10341 for ; Fri, 22 Mar 2002 14:01:14 -0800 (PST) Received: by localhost.redhat.com (Postfix, from userid 469) id 59F5A11429; Fri, 22 Mar 2002 17:00:54 -0500 (EST) From: Elena Zannoni MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <15515.43414.171055.15094@localhost.redhat.com> Date: Fri, 22 Mar 2002 14:01:00 -0000 To: gdb-patches@sources.redhat.com Subject: Re: [RFA] PPC ABI compliance fix In-Reply-To: <15515.34258.778318.466752@localhost.redhat.com> References: <15515.34258.778318.466752@localhost.redhat.com> X-Mailer: VM 7.00 under Emacs 20.7.1 X-SW-Source: 2002-03/txt/msg00437.txt.bz2 Elena Zannoni writes: > > Back in November, gcc changed the way structures <= 8 bytes are > returned on the PPC. The change was made to be compliant with the > SVR4 ABI. > > http://gcc.gnu.org/ml/gcc-patches/2001-11/msg01468.html > > The abi specifies that such structures are passed in r3 and r4. > Bigger structures are passed in memory. > > Gcc was passing every structure in memory. The change was made for > embedded targets, but not for natives (PowerPC Linux, NetBSD, and > FreeBSD). > > Of course this change breaks binary compatibility with older gcc's. > Not sure what to do about that, if anything, the case it covers is a > corner case, anyway. > > > Elena > > > 2002-03-21 Elena Zannoni > > * ppc-linux-tdep.c (ppc_sysv_abi_use_struct_convention): New > function. > * ppc-tdep.h (ppc_sysv_abi_use_struct_convention): Export. > * rs6000-tdep.c (rs6000_gdbarch_init): Use different > structure returning convention for SYSV ABI case, but not > for GNU/Linux, FreeBSD, or NetBSD. > Committed. Elena