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: AMD64 ABI compatibility


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.


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