Yea, __attribute__ should be the way to go - however, I have not found any attribute like msabi or so. It still needs to be implemented in the compiler. Most of the ia32 attributes are ignored anyway.

On Jul 9, 2007, at 12:55 , H.J. Lu wrote:

On Mon, Jul 09, 2007 at 12:48:10PM -0700, Nicolas Alt wrote:
Hi!

On the AMD64 / x86-64Bit architecture, some arguments of a functions
are passed using registers, but there seem to be two different
conventions out there. The standard ABI uses 6 registers, but
Microsoft compilers use only 4. Because of that, code compiled with
gcc cannot call code compiled with a MS compiler without an ugly
wrapper.

Have there been any efforts to make gcc do function calls the MS way?
I guess this would be an important feature for mingw on AMD64.

Gcc supports several different ABIs via __attribute__ in the same
source file for ia32.  I don't see why it shouldn't work on x86-64.


H.J.

Reply via email to