comp.lang.ada
 help / color / mirror / Atom feed
From: Diogenes <phathax0r@gmail.com>
Subject: Runtime startup code for the GNAT Runtime...and a bit of humble pie.
Date: Mon, 18 Mar 2013 13:59:13 -0700 (PDT)
Date: 2013-03-18T13:59:13-07:00	[thread overview]
Message-ID: <a7ba9221-84a5-4486-9dcc-c4abda92a326@googlegroups.com> (raw)

Managed to get some small apps running with my custom runtime. Things are going 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 control. :->

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 runtime 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 native runtime environment. I'm not porting it, yet. Should I just write the "main" procedure in C and be done with it?

Also, if I want to make it "fast"; instead of linking with crt1.o can I just 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 packages to a Configurable Runtime. Am I reading that right? So no Storage_Pools? 

Better make sure I got this right before I move on to a serious runtime project.

Any advice would be appreciated. Thanks.




             reply	other threads:[~2013-03-18 20:59 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-18 20:59 Diogenes [this message]
2013-03-18 21:14 ` Runtime startup code for the GNAT Runtime...and a bit of humble pie Robert A Duff
2013-03-19  0:07 ` Diogenes
2013-03-19 10:04   ` Brian Drummond
2013-03-19 12:51     ` Simon Clubley
2013-03-19 18:16       ` Ludovic Brenta
2013-03-20  1:05         ` Simon Clubley
2013-03-20 10:13           ` Mike H
2013-03-20 20:44             ` Ludovic Brenta
2013-03-19 21:43       ` Randy Brukardt
2013-03-20  8:24         ` Dmitry A. Kazakov
2013-03-21  0:16           ` Randy Brukardt
2013-03-21 19:08             ` Shark8
2013-03-21 23:34               ` Randy Brukardt
2013-03-22 16:39                 ` Jacob Sparre Andersen
2013-03-23 10:56                   ` Thomas Løcke
2013-03-19 23:13       ` Brian Drummond
2013-03-20  0:54         ` Simon Clubley
2013-03-20 11:50           ` Brian Drummond
2013-03-20 13:18             ` Simon Clubley
2013-03-26 11:04               ` Brian Drummond
2013-03-26 22:38                 ` Simon Clubley
2013-03-27 11:34                   ` Brian Drummond
2013-03-27 14:38                     ` Simon Clubley
2013-03-27 22:58                       ` Brian Drummond
2013-03-20 14:17           ` Lucretia
2013-03-20 15:00             ` Lucretia
2013-03-21 16:39             ` Brian Drummond
2013-03-23  4:35 ` Diogenes
2013-03-26 21:27 ` Diogenes
2013-03-26 21:57   ` Shark8
2013-03-27  0:28     ` Diogenes
2013-03-27  2:27       ` Shark8
2013-03-27 10:05       ` Brian Drummond
2013-03-27 12:23         ` Simon Wright
2013-03-27 19:07   ` Randy Brukardt
2013-03-27 21:10     ` Diogenes
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox