There was also a PowerPC NT ABI at one point, but since Windows NT on
PowerPC was stillborn, it was removed.

My point was if you are working on the ABI functions, you need to make
sure that the other ABIs (AIX, Darwin) don't get broken by any changes
you make (presumably you will make sure that you don't break the ABI you
are working on).  There are some subtle differences by the way between
the System V (aka Linux) and eABI as well (stack alignment, number of
registers for small data area), but most of those don't show in the ABI
functions you are looking at.

-----Original Message-----
From: Yao Qi qi [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, September 06, 2005 11:14 PM
To: Meissner, Michael
Cc: gcc@gcc.gnu.org
Subject: RE: var_args for rs6000 backend


>From: "Meissner, Michael" <[EMAIL PROTECTED]>
>To: "Yao qi" <[EMAIL PROTECTED]>
>CC: gcc@gcc.gnu.org
>Subject: RE: var_args for rs6000 backend
>Date: Tue, 6 Sep 2005 14:13:56 -0400
>
>And note Yao qi, that there are different ABIs on the rs6000, each of
>which has different conventions (ie, you will need to study the AIX ABI
>as well as the System V/eabi ABIs, and possibly other ABIs that are now
>used).

First, thanks for you suggestions.

Yes, I found there are at least *three* ABIs in
gcc/config/rs6000/rs6000.c,

    205 /* ABI enumeration available for subtarget to use.  */
    206 enum rs6000_abi rs6000_current_abi;

And in gcc/config/rs6000/rs6000.h, I found the defination,

   1223 /* Enumeration to give which calling sequence to use.  */
   1224 enum rs6000_abi {
   1225   ABI_NONE,
   1226   ABI_AIX,                      /* IBM's AIX */
   1227   ABI_V4,                       /* System V.4/eabi */
   1228   ABI_DARWIN                    /* Apple's Darwin (OS X kernel)
*/
   1229 };

I just have to concentrate on ABI_V4 if I work on gcc develoment on 
powerpc-linux, am I right ?
I have traced cc1 and found DEFAULT_ABI in setup_incoming_varargs() is 
ABI_V4.

Best Regards
----------------
Yao Qi
Bejing Institute of Technology

_________________________________________________________________
Don't just search. Find. Check out the new MSN Search! 
http://search.msn.click-url.com/go/onm00200636ave/direct/01/



Reply via email to