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