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/