Hi! On Sat, Sep 07, 2019 at 05:47:45PM -0300, Paulo César Pereira de Andrade via cfarm-users wrote: > Just testing for hopefully soon new release of GNU Lightning, I noticed > now when building with -m32 it appears to have a different abi that I > could not find any description searching on google; probably I did not > search enough.. > > If I recall correctly, previously it did work almost identically to > the 64 bit abi, but last time I tested powerpc 32 bit abi was like 2 > years ago, still on gcc110.fsfrance.org. Previously I believe it had > Fedora installed, now it is a recent/updated CentOS 7. > > It does not define _CALL_ELF, and is very close to _CALL_ELF == 2. With > minor changes to lightning, all integer operations work as long as not > involving varargs functions. On some quick checks could not understand > the changes to varargs and float registers.
[segher@gcc1-power7 gcc]$ :|gcc -E -dM -|grep CALL #define _CALL_AIXDESC 1 #define _CALL_LINUX 1 #define _CALL_AIX 1 #define _CALL_ELF 1 That is the powerpc64-linux ABI, also knows as ELFv1. This is close to the (much newer) ELFv2 ABI, but there are some important differences: it has a smaller size minimum stack frame, it doesn't have function descriptors everywhere, it uses homogeneous aggregates. Either way, this is not what you want: you want a 32-bit ABI. Which is: [segher@gcc1-power7 gcc]$ :|gcc -E -dM -m32 -|grep CALL #define _CALL_SYSV 1 That is the powerpc-linux ABI. > If you can, please give me some hints of a description of the abi. I'm not sure what you want to know? *All* PowerPC ABIs are quite similar, if you don't look very deeply. Segher _______________________________________________ cfarm-users mailing list [email protected] https://lists.tetaneutral.net/listinfo/cfarm-users
