comp.lang.ada
 help / color / mirror / Atom feed
From: Ludovic Brenta <ludovic@ludovic-brenta.org>
Subject: Re: How do I go about creating a minimal GNAT runtime?
Date: Sun, 25 Jan 2009 03:13:12 -0800 (PST)
Date: 2009-01-25T03:13:12-08:00	[thread overview]
Message-ID: <3eff96d5-50ff-4cd2-84ad-ab5e8342aaaa@p23g2000prp.googlegroups.com> (raw)
In-Reply-To: eb511600-6446-4bad-b859-0d7444416a4c@d36g2000prf.googlegroups.com

On Jan 24, 9:47 pm, Lucretia <lucret...@lycos.co.uk> wrote:
> Hi (again),
>
> It's been a while, but I'm coming back to my Ada kernel again. I've
> been messing with my helo_world_kernel which I built using no runtime
> (seehttp://www.archeia.comfor more info).
>
> Having just spoken to Ludovic on #Ada, he pointed out that the gnat
> tools can use a basic cross tool set, like the ones I have built
> myself (again, see the above link). My toolset comprises of a gnat1
> compiler and a gnatbind for my targets. I found that it does work
> using the --GCC and --GNATBIND flags, and I need to make sure the
> cross tools and the host tools are of the same GCC version otherwise
> GNAT throws up ALI format errors.

That sounds reasonable. gnatmake (a host tool) reads the .ali files to
decide what it needs to recompile. Then it calls the cross compiler
(cross gcc), which produces new .o and .ali files, and then the cross
binder (gnatbind).

I'm not entirely sure whether gnatlink is a host-only tool, or if you
need a cross version of it. In any case you do need a cross ld.

> The thing is, I've been trying to enable exceptions, but keep coming
> across big problems in that the runtime requires features that are
> being restricted, such as returning aggregates and assigning
> composites, returning unconstrained objects which requires the
> secondary stack. So, what I really need to know is, how do I create a
> runtime which is restricted in this way for bare hw access?

I don't know the relationship (if any) between exception propagation,
exception handling and the secondary stack. Xavier Grave does :)

Have you had a look at the OS Lovelace sources? OS Lovelace supports
exceptions in th kernel; it does that by building a minimal, patched,
GNAT runtime into the kernel.

--
Ludovic Brenta.



  reply	other threads:[~2009-01-25 11:13 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-24 20:47 How do I go about creating a minimal GNAT runtime? Lucretia
2009-01-25 11:13 ` Ludovic Brenta [this message]
2009-01-25 11:18   ` Ludovic Brenta
2009-01-25 14:00     ` Lucretia
2009-01-25 14:00   ` Lucretia
2009-01-25 19:43     ` Ludovic Brenta
2009-01-25 20:30 ` xavier grave
2009-01-26  6:52 ` anon
2009-01-26 21:36 ` anon
2009-02-10  2:34 ` Exceptions (was Re: How do I go about creating a minimal GNAT runtime?) anon
2009-02-16  1:41 ` How do I go about creating a minimal GNAT runtime? Hibou57 (Yannick Duchêne)
2009-02-21  9:11 ` Dimonax
2009-02-21 16:41   ` anon
2009-02-21 21:14     ` Dimonax
2009-02-22  1:36       ` anon
2009-02-27 23:42   ` Randy Brukardt
2009-03-01  1:12     ` Dimonax
2009-03-01 19:13       ` anon
2009-03-02 22:07         ` Randy Brukardt
2009-03-03  2:00           ` anon
2009-03-03 22:23             ` lucretia
2009-03-04  0:03               ` anon
2009-03-11 12:54   ` gautier_niouzes
replies disabled

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