Question about function call stack
Emmanuel Pacaud
emmanuel.pacaud@free.fr
Sat Jan 21 10:55:00 GMT 2006
Le mercredi 18 janvier 2006 à 17:28 -0500, Meissner, Michael a écrit :
> No, you can never make that assumption. Every different port of GCC
> uses a different calling sequence. Sometimes switches will change the
> calling sequence. Some ABI's will pass nothing in registers (i386
> classic), some will pass the first few arguments in certain registers
> depending on the type of the arguments, some will pass some things on
> the stack and other things in registers.
>
> The standard way to write your program is to convert it to use stdarg.h,
> and use va_arg to get at the arguments. Be sure that the variable
> argument function is properly declared, since some ports have different
> calling sequences for functions with a fixed number of arguments and
> with a variable number.
Thanks you all for the answers.
Since there was no hope to make current code portable, I've changed it
to something more conventional.
Emmanuel.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Ceci est une partie de message num?riquement sign?e
URL: <https://gcc.gnu.org/pipermail/gcc-help/attachments/20060121/95b8e7ff/attachment-0001.sig>
More information about the Gcc-help
mailing list