> > 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