From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Rask Ingemann Lambertsen" To: "GCC mailing list" Subject: Re: GCC and NT DDK - still problems Date: Thu, 30 Sep 1999 18:02:00 -0000 Message-ID: <1331.925T1002T10093630@kampsax.k-net.dk> References: X-SW-Source: 1999-09n/msg00493.html Message-ID: <19990930180200.inneKv63GakupJBw19H4YLZuSAu3eEex9wAIAy-R2Ic@z> Den 13-Sep-99 08:37:26 skrev Pavel Pisa;research student følgende om "GCC and NT DDK - still problems": > But I have stuck on "fastcall" calling convention. > It is register calling convention used in VC 6.0 > and NT Kernel. It is similar to attrib((regparms(2))) > but uses another order of registers. You are not alone with that sort of problem. There are similiar problems calling AmigaOS system (and shared library) functions from GCC. Over time, the following three solutions have been used (in cronologic order): 1. A link library of stub functions (written in assembler languague or generated by other means) which convert between the calling conventions. 2. Header files defining inline functions with inline assembler code. 3. Header files defining preprocessor macros which expand to local functions (a GCC extension) containing inline assembler code. Regards, /¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯T¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\ | Rask Ingemann Lambertsen | E-mail: mailto:rask@kampsax.k-net.dk | | Registered Phase5 developer | WWW: http://www.gbar.dtu.dk/~c948374/ | | A4000, 866 kkeys/s (RC5-64) | "ThrustMe" on XPilot, ARCnet and IRC | | To err is human, but to really mess things up you need a computer. |