From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14571 invoked by alias); 1 Feb 2008 22:39:01 -0000 Received: (qmail 14552 invoked by uid 22791); 1 Feb 2008 22:39:01 -0000 X-Spam-Check-By: sourceware.org Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 01 Feb 2008 22:38:43 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id 97E172A9D45; Fri, 1 Feb 2008 17:38:41 -0500 (EST) Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 75XRse1XAoh2; Fri, 1 Feb 2008 17:38:41 -0500 (EST) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id 5F64F2A9D16; Fri, 1 Feb 2008 17:38:41 -0500 (EST) Received: by joel.gnat.com (Postfix, from userid 1000) id 3CA7CE7ACB; Fri, 1 Feb 2008 14:38:39 -0800 (PST) Date: Fri, 01 Feb 2008 22:39:00 -0000 From: Joel Brobecker To: Mark Kettenis Cc: bauerman@br.ibm.com, luisgpm@linux.vnet.ibm.com, drow@false.org, gdb-patches@sourceware.org Subject: Re: [RFC] Linux-specific ppc32 ABI Message-ID: <20080201223839.GA27578@adacore.com> References: <1199991624.3343.19.camel@gargoyle> <20080111060629.GC12954@adacore.com> <1200066920.26270.9.camel@gargoyle> <20080111155733.GA3240@caradoc.them.org> <1200086736.26270.35.camel@gargoyle> <1201277155.11950.134.camel@localhost.localdomain> <200801261535.m0QFZddH026156@brahms.sibelius.xs4all.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200801261535.m0QFZddH026156@brahms.sibelius.xs4all.nl> User-Agent: Mutt/1.4.2.2i Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2008-02/txt/msg00036.txt.bz2 Hi Mark, > How about the attached diff? Sounds like everyone is happy with the patch you suggested. Thiago just mentioned one nit in your comments (repeated below). Can the patch be checked in? We'd like to have it for the release. Thank you. > Index: ppc-sysv-tdep.c > =================================================================== > RCS file: /cvs/src/src/gdb/ppc-sysv-tdep.c,v > retrieving revision 1.45 > diff -u -p -r1.45 ppc-sysv-tdep.c > --- ppc-sysv-tdep.c 1 Jan 2008 22:53:12 -0000 1.45 > +++ ppc-sysv-tdep.c 26 Jan 2008 15:24:36 -0000 > @@ -129,17 +129,19 @@ ppc_sysv_abi_push_dummy_call (struct gdb > } > else > { > - /* SysV ABI converts floats to doubles before > - writing them to an 8 byte aligned stack location. */ > - argoffset = align_up (argoffset, 8); > + /* The SysV ABI tells us to convert floats to > + doubles before writing them to an 8 byte aligned > + stack location. Unfortunately GCC does not do > + that, and stores floats without into 4 bytes ^^^^^^^ should be removed > + aligned locations without converting them to > + doubles. */ > + > + /* Align to 4 bytes or 8 bytes depending on the type of > + the argument (float or double). */ > + argoffset = align_up (argoffset, len); > if (write_pass) > - { > - char memval[8]; > - convert_typed_floating (val, type, memval, > - builtin_type_ieee_double); > write_memory (sp + argoffset, val, len); > - } > - argoffset += 8; > + argoffset += len; > } > } > else if (TYPE_CODE (type) == TYPE_CODE_FLT -- Joel