This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] Linux-specific ppc32 ABI


> Date: Sat, 26 Jan 2008 18:18:17 +0000 (UTC)
> From: "Joseph S. Myers" <joseph@codesourcery.com>
> 
> On Sat, 26 Jan 2008, Mark Kettenis wrote:
> 
> > > > GCC (XLC as well) doesn't promote floats to doubles and does not align
> > > > them to 8 bytes in the stack. Actually, it just aligns the prototyped
> > > > float parameters to 4 bytes in the stack.
> > 
> > So both compilers are buggy.
> 
> They would be buggy if they were targetting PowerPC Solaris from 1995 and 
> if the 1995 ABI from Sun is an accurate description of the ABI on that 
> system in the first place.  They are not targetting that OS, they are 
> targetting OSes where the 1995 document is only indicative guidance to a 
> predecessor of the ABIs in use on those OSes.

Well, I'd be surprised if this particular deviation from the 1995
document (which is pretty much a corner case) was a deliberate
deviation.  I'm not suggesting the bug should be fixed though, so I
guess I should have called it a feature ;)

> > > > This is something that needs to be improved in the ABI text.
> > 
> > Well, I suppose you can change it, but I wouldn't call it an
> > improvement.  Who controls the 32-bit PowerPC SystemV ABI these days?
> 
> The Power.org ABI working group, which is working on producing a 
> copyright-clean document (so not using any of the Sun text), copyrights to 
> be assigned to the Linux Foundation, describing the ABIs (both hard and 
> soft float, and E500 and Altivec extensions) as they are in use today for 
> both GNU/Linux and bare-metal (EABI) targets (GNU/Linux and EABI differ in 
> the default for -maix-struct-return, and in the default size of long 
> double, but are otherwise the same at the function-call level).

Thanks for the clarification.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]