var_args for rs6000 backend

Yao Qi qi qiyaobit@hotmail.com
Wed Sep 7 03:14:00 GMT 2005


>From: "Meissner, Michael" <michael.meissner@amd.com>
>To: "Yao qi" <qiyaobit@hotmail.com>
>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/



More information about the Gcc mailing list