[cfarm-users] PowerPC 32 bit abi on gcc110.fsffrance.org

Segher Boessenkool segher at kernel.crashing.org
Mon Sep 9 23:32:06 CEST 2019


On Mon, Sep 09, 2019 at 11:16:44PM +0200, Bruno Haible via cfarm-users wrote:
> Paulo César Pereira de Andrade wrote:
> >   When testing on gcc110.fsffrance.org I got confused as there were no
> > function descriptors, and the float abi to call varargs functions did
> > not match.
> 
> Indeed, function descriptors are a difference between the ABIs as well:
> 
> On powerpc-aix and powerpc64-aix, a function pointer is actually a pointer to a
> struct {
>   void* code_address;
>   void* toc_pointer;  /* gets loaded into register r2 */
>   void* static_chain; /* gets loaded into register r11 */
> }.

The third entry is the environment pointer and isn't used normally.

> Likewise on powerpc64-linux (but not on powerpc-linux and
> not on powerpc64-elfv2-linux!).

I think you mean powerpc64le-linux?

(ELFv2 does exist for BE as well, but no distro ships it, and nothing much
is established for it, including its canonical triple.  It cannot be
powerpc64-elfv2-linux though, that would put elfv2 as the vendor field).


Segher


More information about the cfarm-users mailing list