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=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,7a27b8f727dd1e47 X-Google-Attributes: gid103376,public Path: controlnews3.google.com!postnews1.google.com!not-for-mail From: rolf.ebert_nospam_@gmx.net (Rolf Ebert) Newsgroups: comp.lang.ada Subject: Re: GNAT and no runtime Date: 26 May 2004 00:46:26 -0700 Organization: http://groups.google.com Message-ID: <46b8b50a.0405252346.5eefc74f@posting.google.com> References: NNTP-Posting-Host: 195.27.231.129 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1085557586 19262 127.0.0.1 (26 May 2004 07:46:26 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 26 May 2004 07:46:26 +0000 (UTC) Xref: controlnews3.google.com comp.lang.ada:843 Date: 2004-05-26T00:46:26-07:00 List-Id: JCS wrote in message news:... > Hi, > > I'm trying to create a toy-OS in Ada and I'm still in the very begining > yet. The project sounds ambitious, but it can be a lot of fun. I cannot answer your detailed questions. I once had a look at the GNAT runtime, too. A good starting point is the private part of system.ads and the corresponding explanations in targparm.ads. Start slowly putting more and more things to your runtime. You almost certainly already have system.ads and some dummy (i.e. empty) libgnat.a. That is needed even in the case of No_Runtime. You can easily add things like a-uncconv, s-stoele, interface, s-maccod. They all just need to be present at compile time, but aren't needed at link time (OK, the .ali's are, not the .o). I highly recommend the free book "A Detailed Description of the GNU Ada Run Time" at http://www.iuma.ulpgc.es/users/jmiranda/gnat-rts/index.htm. Things have changed a bit in gcc-3.4, but that are details. Replace the pragma restriction (No_Runtime) in gnat.adc by all the detailed restrictions that you can find. Then remove the restriction that you don't want to enforce anymore and see what runtime support is needed and add it to your project. HTH Rolf