From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.4 required=5.0 tests=AC_FROM_MANY_DOTS,BAYES_00 autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,95dad97c56f9de95 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-09-25 07:05:14 PST Path: archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!newsfeeds.belnet.be!news.belnet.be!news-x2.support.nl!news-x.support.nl!psinet-eu-nl!psiuk-p4!uknet!psiuk-n!news.pace.co.uk!nh.pace.co.uk!not-for-mail From: "Marin David Condic" Newsgroups: comp.lang.ada Subject: Re: Curiousity: pragma No_Run_Time for Gnat Date: Tue, 25 Sep 2001 10:00:45 -0400 Organization: Posted on a server owned by Pace Micro Technology plc Message-ID: <9oq2mf$9as$1@nh.pace.co.uk> References: <9oo006$fdf$1@nh.pace.co.uk> <9oo7ne$145d$1@ns.felk.cvut.cz> <9ooa2p$j91$1@nh.pace.co.uk> <9opbv7$1vg1$1@ns.felk.cvut.cz> NNTP-Posting-Host: dhcp-200-133.miami.pace.co.uk X-Trace: nh.pace.co.uk 1001426447 9564 136.170.200.133 (25 Sep 2001 14:00:47 GMT) X-Complaints-To: newsmaster@news.cam.pace.co.uk NNTP-Posting-Date: 25 Sep 2001 14:00:47 GMT X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Xref: archiver1.google.com comp.lang.ada:13327 Date: 2001-09-25T14:00:47+00:00 List-Id: "Sergey Koshcheyev" wrote in message news:9opbv7$1vg1$1@ns.felk.cvut.cz... > > While I was doing a web search to find out what you meant (I think I > understand the idiom now), I found several webpages providing Round Tuits to > people who need them :-) > Sorry. Kind of an American-English-ism that I should have realized might not be obvious to a more international croud. Nevertheless, you seem to have figured it out, so we're O.K. :-) > > I don't know exactly what you mean by "pure" x86 code. What you get from the > compiler on x86 is a 32-bit executable in the platform-specific executable > format (ELF on Linux, PE on Win32) which isn't linked to GNAT libraries, > though I think it may be linked dynamically to the C library. Linker > switch -nostdlib can be used to overcome this and get a completely > stand-alone executable (tested on Linux). Another linker switch can be used > to link the C library in statically (also tested on Linux). GNAT doesn't > insert any BIOS calls in the generated code when pragma No_Run_Time is used. > What I mean by "pure" (probably a misuse since the term usually refers to reentrant code) is that what I would like as output is a collection of instructions that rely only on the Intel x86 processor. (Or, if one were targeting MIPS, PowerPC, whatever,... instructions for that particular target processor) If I understand the PC architecture correctly, code can be generated that will create interrupts that the BIOS will pick up and utilize as a kind of subroutine - the ISR accomplishing some kind of I/O operation, etc. If one is saying "Well, maybe I don't have a BIOS or I don't have this particular BIOS - maybe I've just got an Intel processor with some specialized hardware & I want to make code that doesn't assume any BIOS or OS or DLLs or anything..." then the question is will the compiler make appropriate code that (after passage through the correct linker, etc.) can run on such a machine? I suppose what I'm wondering is can the use of the No_Run_Time pragma cause the Gnat compiler to be suitable as an embedded compiler? It doesn't matter if you don't get full-up Ada - just that you get embeddable code or compiler errors for any feature that might not be embeddable. (I can live with a subset of Ada if the compiler tells me when I can't do something.) Presumably, one could then implement the low-level operations needed by full-up Ada (create your own runtime) so long as you could find out what mechanisms the compiler used to get the required services from its own runtime. MDC -- Marin David Condic Senior Software Engineer Pace Micro Technology Americas www.pacemicro.com Enabling the digital revolution e-Mail: marin.condic@pacemicro.com Web: http://www.mcondic.com/