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 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,a287efecf9b6c0d7 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news2.google.com!news3.google.com!feeder1.cambriumusenet.nl!feed.tweaknews.nl!193.201.147.78.MISMATCH!feeder.news-service.com!85.214.198.2.MISMATCH!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Simon Clubley Newsgroups: comp.lang.ada 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) Organization: A noiseless patient Spider Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Injection-Date: Thu, 10 Feb 2011 19:46:30 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="4pjzwDT2MPp9AkNxUo/C4Q"; logging-data="11076"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19HT2MQ5sGnyp+rW0Naiyfc2qfX2w77aFY=" User-Agent: slrn/0.9.8.1 (VMS/Multinet) Cancel-Lock: sha1:c6/PMJZCXS24W2z/KdXFmZFrzsA= Xref: g2news2.google.com comp.lang.ada:18201 Date: 2011-02-10T19:46:30+00:00 List-Id: On 2011-02-10, Yannick Duch�ne 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