This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: AMD64 ABI compatibility
- From: Kai Tietz <Kai dot Tietz at onevision dot com>
- To: Jan Hubicka <hubicka at ucw dot cz>
- Cc: Dave Korn <dave dot korn at artimi dot com>, gcc at gcc dot gnu dot org, "'Nicolas Alt'" <nalt at apple dot com>
- Date: Tue, 10 Jul 2007 14:43:47 +0200
- Subject: Re: AMD64 ABI compatibility
> > On 09 July 2007 20:48, 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.
> >
> >
> > Does -mregparm=4 do what you want?
>
> Windows and GCC ABIs are on x86-64 more different than that (they was
> historically developed in parallel). GCC 4.3 will support attribute for
> this calling convention contributed by Kai Tiez and Richard Henderson,
> but before that there is not much to do...
Note: My name is Kai Tietz ;) not Tiez
I think, it isn't to hard introducing this attributes to the AMD64 abi's.
What names should we use for it? I suggest "x86_64_ms" and "x86_64_linux".
Is this ok for you.
Cheers,
i.A. Kai Tietz
| (\_/) This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| (")_(") world domination.
------------------------------------------------------------------------------------------
OneVision Software Entwicklungs GmbH & Co. KG
Dr.-Leo-Ritter-StraÃe 9 - 93049 Regensburg
Tel: +49.(0)941.78004.0 - Fax: +49.(0)941.78004.489 - www.OneVision.com
Commerzbank Regensburg - BLZ 750 400 62 - Konto 6011050
Handelsregister: HRA 6744, Amtsgericht Regensburg
KomplementÃrin: OneVision Software Entwicklungs Verwaltungs GmbH
Dr.-Leo-Ritter-StraÃe 9 â 93049 Regensburg
Handelsregister: HRB 8932, Amtsgericht Regensburg - GeschÃftsfÃhrer:
Ulrike DÃhler, Manuela Kluger