This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: var_args for rs6000 backend



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/



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]