comp.lang.ada
 help / color / mirror / Atom feed
From: Brian Drummond <brian@shapes.demon.co.uk>
Subject: Re: Runtime startup code for the GNAT Runtime...and a bit of humble pie.
Date: Tue, 19 Mar 2013 23:13:13 +0000 (UTC)
Date: 2013-03-19T23:13:13+00:00	[thread overview]
Message-ID: <kiare9$nfp$1@dont-email.me> (raw)
In-Reply-To: ki9n00$b1$1@dont-email.me

On Tue, 19 Mar 2013 12:51:12 +0000, Simon Clubley wrote:

> On 2013-03-19, Brian Drummond <brian@shapes.demon.co.uk> wrote:
>>
>> 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-
>><target>" 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!
>>
>>
> I would like to offer one take on this which has not been mentioned yet
> and that is the issue of reliability of the resulting system as a whole.
> 
> One of the reasons to use Ada over, say C, is for the increased
> reliability of the code. However, what if the ported Ada RTS actually
> results in more unreliable code because of issues the person porting the
> RTS did not fully understand or was simply was not aware of ?

There's a germ of truth in this in that many more man-hours have already 
been spent polishing up C library functions and (in some environments) RTS 
- re-using that where it exists can save time and avoid traps.

But I don't think you're arguing that - if you had to write some bare 
metal stuff of your own - C would be a better language for the job. On 
the contrary, where you have to start from scratch, Ada gives you much 
better tools.

So C comes into play NOT for bare metal programming, but to avoid it 
where you can re-use someone else's effort. Right?

- Brian



  parent reply	other threads:[~2013-03-19 23:13 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-18 20:59 Runtime startup code for the GNAT Runtime...and a bit of humble pie Diogenes
2013-03-18 21:14 ` 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 [this message]
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