Ada Language Support in sparc-rtems-gdb

Per Dalgas Jakobsen pdj at knaldgas.dk
Fri Sep 24 16:04:16 UTC 2004


>> Hmm, I have test-builded the 3.4.x series with C and Ada support on a
>> i386-Linux system, and of 3.4.1 Ada passed the ACATS tests with flying
>> colors (that goes for 3.4.2 as well - I don't know about the latest 3.4.3
>> prereleases though).
> I.e. you probably built a native GNAT using a previously installed very
> recent GCC.

I used the gnat-3.14p for Debian to compile these versions.


>>  However I must admit that I have not checked which
>> tests are actually included/excluded from the tests, but Ada is
definitely
>> buildable and runnable.
> Try cross-building GNAT.

Yep, that'll be the next *shiver*...
I think the first I will try is a Cygwin/Linux crosschain (both for i386 - I
know this is a pretty "prudent" cross, but still...).


> With GCC versions between 3.0 and ~3.2 this was only possible applying a
> couple of nasty building tricks.
>
> Since some time around gcc-3.2.0 through gcc-3.4.0 (I haven't tried
> 3.4.[1|2|3pre] cross-build gnatlib has been impossible, because GNAT
> mixes up target and build-host configuration, i.e. in general,
> cross-building GNAT has been (is?) impossible.
>
> However, on some build-hosts cross-building to some targets (in
> particular cross-building to linux-targets) succeeds by random accident,
> because, build-host and target resemble sufficiently.
> For RTEMS this does not apply.
>
> Since gcc-3.3.x, cross-building GNAT failed because GNAT's configuration
> was trying to use the native tools for cross-building. In some
> situations (e.g. when building for different but similar OSes for same
> architecture, e.g. i686-cygwin -> i386-rtems), this succeeds, bogusly
> giving you the impression building succeeds, despite almost everything
> inside and underneath is broken.

You are just full of "good" news ;-)
I guess I will just have to see what turns up...

Any reliable emulators that are able to run under Windows or i386/Linux,
emulating a "good" cross-target, that you can recommend? It should "simply"
be able to execute the ACATS, when the time comes.


> Finally there is the infamous (GNAT-1) dependency of building GNAT
> (Build GNAT requires to have native GNAT installed which is no older tha
> the version to be build - 1).
> I for one have not been able to build Joel's rtems-gnat-toolchains for
> ages (I am currently using FC2) and therefore have not been able to test
> any RTEMS/Ada related code in RTEMS sources.

At least that dependency seems to have been solved - I remember one bug I
found and solved regarding this issue a couple of months back, but I believe
many others have been resolved as well.


> The cause for all this is the GNAT configuration and Makefiles being
> used in GCC to be fundamentally bugged and broken. Having tried to help
> the FSF/GNAT maintainers to fix this, had not been the most pleasant
> experience of my life.

Hmmm, that does not sound too reassuring :-/
Any hints or "mine-fields" I should know about?

Best regards
Per




More information about the users mailing list