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-Thread: a07f3367d7,cc3c5a58c46ea9c4,start X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit X-Received: by 10.224.72.199 with SMTP id n7mr12234513qaj.5.1363640353915; Mon, 18 Mar 2013 13:59:13 -0700 (PDT) X-Received: by 10.49.49.193 with SMTP id w1mr1469154qen.3.1363640353855; Mon, 18 Mar 2013 13:59:13 -0700 (PDT) Path: k8ni188qas.0!nntp.google.com!dd2no2376606qab.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Mon, 18 Mar 2013 13:59:13 -0700 (PDT) Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=172.0.242.94; posting-account=-WG8VgoAAAAlWewKFi0J7zSTMYXZyyK3 NNTP-Posting-Host: 172.0.242.94 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Runtime startup code for the GNAT Runtime...and a bit of humble pie. From: Diogenes Injection-Date: Mon, 18 Mar 2013 20:59:13 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Date: 2013-03-18T13:59:13-07:00 List-Id: Managed to get some small apps running with my custom runtime. Things are g= oing well, for a hack job. Because that's what I have right now, a hack job= . Calling my little project here the "HackTime" runtime, because apparently= I'm not doing it the "proper" way. So I figure I'd best eat a little humble pie before my hacks grow out of co= ntrol. :-> For the moment I'm just doing a custom shaved down runtime for my platform = (Debian stable). Enough to get familiar with the innards of the GNAT runtim= e and the GNAT compiler toolchain. I can get it to start using a linker script, but this isn't exactly elegant= . So what IS the proper way to link in startup code for just a simple nativ= e runtime environment. I'm not porting it, yet. Should I just write the "ma= in" procedure in C and be done with it? Also, if I want to make it "fast"; instead of linking with crt1.o can I jus= t override the calls to the C Library with direct calls to the Linux kernel= ? Such as overriding "adainit" with a call to "execve()". Furthermore...for system.ads...just to be certain, I should be able modify = most settings defined in targparm.ads without totally breaking the system. = Yes? Also...the docs seem to indicate that we can't add Ada.Finalization package= s to a Configurable Runtime. Am I reading that right? So no Storage_Pools?= =20 Better make sure I got this right before I move on to a serious runtime pro= ject. Any advice would be appreciated. Thanks.