This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH 0/9] PowerPC64 ELFv2 ABI support.
- From: Alan Modra <amodra at gmail dot com>
- To: "Joseph S. Myers" <joseph at codesourcery dot com>
- Cc: binutils at sourceware dot org, powerabi at power dot org
- Date: Thu, 31 Oct 2013 18:17:47 +1030
- Subject: Re: [PATCH 0/9] PowerPC64 ELFv2 ABI support.
- Authentication-results: sourceware.org; auth=none
- References: <20131030021905 dot GC20756 at bubble dot grove dot modra dot org> <Pine dot LNX dot 4 dot 64 dot 1310301718370 dot 22878 at digraph dot polyomino dot org dot uk>
On Wed, Oct 30, 2013 at 05:25:25PM +0000, Joseph S. Myers wrote:
> On Wed, 30 Oct 2013, Alan Modra wrote:
>
> > This patch series makes the changes necessary in binutils to support
> > the updated PowerPC64 ABI, which we're calling ELFv2. Two major
> > changes from the previous ABI are
>
> Is there an actual ABI document for this (or one with the old/new
> variations tagged appropriately like in the 32-bit unified ABI)?
There is, but it's not ready for general release yet, I think.
> Are things changing that don't affect binutils (such as long double format
> as suggested for little-endian in
> <https://sourceware.org/ml/libc-alpha/2013-10/msg00597.html> - or the
Long double is remaining as is for the time being, but I believe the
intent is to change to ieee128 at some point in the future. More than
anything, it was time and resource constraints that prevented us
changing immediately.
> places where the function calling ABI is based on accidents of how GCC
> assigned machine modes to structures, rather than being anything that was
> particularly logically designed)?
The new ABI generally keeps the same conventions as the old one,
except that homgenous floating point or vector aggregates passed by
value will be passed in registers, and returned in registers if they
fit into 8 or fewer register. We'll also return other structs up to a
certains size in general purpose registers. So, yes, we'll be keeping
some accidents.
--
Alan Modra
Australia Development Lab, IBM