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 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,cc3c5a58c46ea9c4 X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit X-Received: by 10.180.95.3 with SMTP id dg3mr1242868wib.4.1364343983848; Tue, 26 Mar 2013 17:26:23 -0700 (PDT) Path: p18ni19746wiv.0!nntp.google.com!feeder1.cambriumusenet.nl!feed.tweaknews.nl!85.12.40.138.MISMATCH!xlned.com!feeder5.xlned.com!newsfeed.xs4all.nl!newsfeed1.news.xs4all.nl!xs4all!border4.nntp.ams.giganews.com!border2.nntp.ams.giganews.com!border2.nntp.dca.giganews.com!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsgate.cuhk.edu.hk!goblin1!goblin.stu.neva.ru!eternal-september.org!feeder.eternal-september.org!mx05.eternal-september.org!.POSTED!not-for-mail From: Brian Drummond Newsgroups: comp.lang.ada Subject: Re: Runtime startup code for the GNAT Runtime...and a bit of humble pie. Date: Tue, 19 Mar 2013 10:04:33 +0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: <21ad4ef7-0e4a-40ba-ac3f-fe21018c7bd9@googlegroups.com> Mime-Version: 1.0 Injection-Date: Tue, 19 Mar 2013 10:04:33 +0000 (UTC) Injection-Info: mx05.eternal-september.org; posting-host="da745e888d4a5182b5fda6212bbb0a63"; logging-data="3868"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19TS0ZHezcbfOSjtPUMdtCrlhsYzjaEseY=" User-Agent: Pan/0.139 (Sexual Chocolate; GIT bf56508 git://git.gnome.org/pan2) Cancel-Lock: sha1:766muPM6TTenpPpcP9bGefbH1Lg= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Date: 2013-03-19T10:04:33+00:00 List-Id: On Mon, 18 Mar 2013 17:07:40 -0700, Diogenes wrote: > The more I google around the docs and forums, the more people I find > asking this same set of questions... > > So maybe this should be just a general "Build your own Runtime thread". > Since most of us can get it to work, we just don't seem to be able to do > it well. And that really is the difference between a pro and an amatuer. > > The GNAT docs provide plenty of information to "get it working". But > there aren't any primers devoted to this subject specifically. > > The most frequent questions I'm coming across are related to proper > startup/shutdown code and people scratching their heads wondering just > how much(or how little) of the standard runtime they should include in > their runtime library. There was an email just today on gcc-help@gnu.org with part of the picture - in the thread entitled "Controlling ld and as with backend" on how to configure the start.s and end.s subroutines, using the "config/t- " files. My own view is that for a minimal Ada RTS, they should do as little as possible unlike the crt.o stuff and that the standard packages' initialisation parts should add whatever is necessary for their inclusion. But this is only a view; I am just beginning down this path (with the TI MSP430 processor, see msp430ada on sourceforge) where the C startup does a lot with e.g. the watchdog timer that is unnecessary if the Ada application decides to turn it off... So I am interested in other views and good documents, should you find any! - Brian