Sender: bill AT taniwha DOT tssc DOT co DOT nz Message-ID: <3752415C.3645C239@taniwha.tssc.co.nz> Date: Mon, 31 May 1999 19:59:24 +1200 From: Bill Currie X-Mailer: Mozilla 4.05 [en] (X11; I; Linux 2.2.6 i486) MIME-Version: 1.0 To: djgpp-workers AT delorie DOT com CC: "Mark E." Subject: Re: gcc 3.0 References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp-workers AT delorie DOT com Eli Zaretskii wrote: > > On Thu, 27 May 1999, Mark E. wrote: > > > > But if GCC supports something like __attribute__((interrupt)), then I > > > agree we should go for that. I'm not privy enough to GCC/EGCS > > > developments to know whether in fact such an attribute exists. > > > > > > > It does for several targets. > > That's good news. > > > Would this be something that would work the same for all x86 targets? > > Probably not. At least the wrapper code is DPMI- and DJGPP-specific > in some of its aspects. I think. I'm currently working on __attribute__((naked)) for *ALL* egcs ports. This will produce functions that have *NO* entry or exit code (main code only), not even a `ret', I believe. Of course, the programmer will be required to supply the appropriate code via asm statements. Ideal for interrupt functions (especially in cross platform code), and probably library startup code (eg .init in elf). I've actually got most of the work done, I just have to figure out where exactly to put the tests for nakedness and not emit the prolog/epilog code. Bill -- Leave others their otherness.