comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP>
Subject: Re: GCC and cross compiling Ada, was: Re: avr-ada ubuntu cross-compiler build failed
Date: Thu, 10 Feb 2011 19:46:30 +0000 (UTC)
Date: 2011-02-10T19:46:30+00:00	[thread overview]
Message-ID: <ij1fam$aq4$1@news.eternal-september.org> (raw)
In-Reply-To: op.vqo5y70nule2fv@garhos

On 2011-02-10, Yannick Duch�ne <yannick_duchene@yahoo.fr> wrote:
> I could not tell about the runtime in that context, however, for  
> exceptions, I could suggest you use sjlj (SetJump/LongJump), which is the  
> most portable I believe, as it relies on a standard C feature. But I am  
> pretty you've already looked at this, so this may not really help.
>
> For CPU support, there should not be any trouble, as producing machine  
> instructions is not the worst part of compilation environment.
>

If you are referring to my multi-lib comment, the issue here is that
multi-lib support in GCC requires a different version of the support
libraries to be built by GCC (one version for each multi-lib variant
specified) and the Ada build infrastructure within GCC was not capable
of handling that in the past. This is a problem which was been worked
on the last time I checked.

> Yes, the runtime may be an issue? but, the environment should have a POSIX  
> API, isn't it ? (most of industrial/laboratory or non-mainstream  
> environments do)
>

Yes and No.

When using a environment like RTEMS, this support is already built into
GCC and RTEMS itself.

However, when you are writing code to run on bare metal, you have to
provide the low level RTL infrastructure yourself.

AVR-Ada gets around this by supplying a minimal RTL (which is correctly
described by it's authors as been more like a compile time library instead
of a RTL :-)).

From the AVR-Ada wiki:

	The provided Ada run time system (RTS) is for the most part not even
	a run time system. It is more a compile time system :-). Most files in
	the RTS are only needed at compile time. As a consequence we don't yet
	have support for exceptions nor for tasking (multi-threading).

(URL: http://sourceforge.net/apps/mediawiki/avr-ada/index.php?title=Status )

In my case, I am thinking about running Ada code on a bare metal ARM7TDMI
board and I am not yet fully sure what all the issues are which I will 
encounter.

Simon.

-- 
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world



  reply	other threads:[~2011-02-10 19:46 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-05 17:30 avr-ada ubuntu cross-compiler build failed Adrianr
2011-02-06 20:28 ` Yannick Duchêne (Hibou57)
2011-02-08  9:24 ` Yannick Duchêne (Hibou57)
2011-02-10 12:18   ` GCC and cross compiling Ada, was: " Simon Clubley
2011-02-10 12:53     ` Simon Clubley
2011-02-10 17:10     ` Yannick Duchêne (Hibou57)
2011-02-10 19:46       ` Simon Clubley [this message]
2011-02-11 12:51 ` Adrianr
2011-02-11 15:13   ` Brian Drummond
2011-02-11 18:16     ` Simon Wright
2011-02-11 18:44       ` Brian Drummond
2011-02-12 13:27         ` Simon Wright
2011-02-12 17:49           ` Brian Drummond
2011-02-12 21:45             ` Simon Wright
2011-02-12  6:46 ` Jacob Sparre Andersen
2011-02-12 17:03   ` Adrianr
replies disabled

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