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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,b7f354b77ed4878c X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!news.glorb.com!wn12feed!worldnet.att.net!bgtnsc04-news.ops.worldnet.att.net.POSTED!53ab2750!not-for-mail Newsgroups: comp.lang.ada From: anon@anon.org (anon) Subject: Re: runtime systems Reply-To: anon@anon.org (anon) References: <5b8b9ed2-e03b-4f97-8666-9a11a5450a32@w74g2000hsh.googlegroups.com> X-Newsreader: IBM NewsReader/2 2.0 Message-ID: Date: Sun, 04 May 2008 05:57:34 GMT NNTP-Posting-Host: 12.65.204.67 X-Complaints-To: abuse@worldnet.att.net X-Trace: bgtnsc04-news.ops.worldnet.att.net 1209880654 12.65.204.67 (Sun, 04 May 2008 05:57:34 GMT) NNTP-Posting-Date: Sun, 04 May 2008 05:57:34 GMT Organization: AT&T Worldnet Xref: g2news1.google.com comp.lang.ada:21182 Date: 2008-05-04T05:57:34+00:00 List-Id: In <5b8b9ed2-e03b-4f97-8666-9a11a5450a32@w74g2000hsh.googlegroups.com>, emconuk writes: >Hello. > >I would like to find out some more about available Ada runtime >systems. > >I know that Adacore have a runtime system ported to various cross >platforms (but I can't figure out its licensing), and I know about the >other commercial offerings from GHS and Aonix. I'm also aware of >MarteOS and RTEMS as possible non-commericial offerings. > First, for commercial Ada(s). Most Ada vendors are Intel/Mac systems. There are others such as IBM versions which can be use on AIX, Linux, or Windows systems. Now, for non-commericial Ada most programmers use GNAT. For "GNAT Ada 2005" and a number of "GNAT Ada 95" versions, the license is GPL 2 which has been updated to GPL 3 in a number of ports. All ports of the compiler must also be under GPL 2 or 3 and open source only (see "GNAT Technology FAQ" at libre.adacore.com). As for MarteOS and RTEMS OSs they use GNAT as their main language and have ported the existing GNAT RTL to fit their code. But the bootstrap and startup code is still written in C and ASM. License is GPL 2 or 3. > >However, I would like to hear about any other solutions out there. I >used to use xd-ada and it had quite a simple little rts that could be >customised for different hardware platforms. I don't want an OS - I >just want to hear about baremetal runtime systems. > >For example, I really like the look of the latest Gaisler Reasearch >LEON3 processor and perhaps other FPGA soft-cores. Anyone have a non- >commericial Ada rts running on those type of platforms ? > As for a new RTL. The GNAT RTL uses both Ada and interface C routines to link into the OS which must be rewritten. The C code is used because Ada and GNAT does not support conditional compiling. The RTL is only part of the problem the main isuue is the compiler. The GNAT compiler uses a two phases compiler system to generate code. The main compiler program is called GNAT1 and starts in file "gnat1drv.adb" which translates the Ada source code into the target processor assembly code. This is done by GNAT1 first calling the frontend compiler ("Frontend.adb") which is written in Ada (no modification is needed). Then if code is to be generated, GNAT1 calls the Backend routine ("back_end.adb") which in turn calls a C routine (GNAT GIGI) found in file "trans.c" to perform the source code generation for the object computer (major modification is needed to produce code for new processor). (Up to 500K lines of code). Then the second phase is to call the an assembler (GCC "as") to processor the object code for that processor if GNAT1 finishes with no errors (must have or write a ported version of the GCC "as"). These two phases are perform at the request of the GCC "gcc" compiler. So, first look for a GCC C compiler package for the processor that you wish to use. This package should have the GCC C compiler "gcc", an assembler "as" as well as the linker "ln" with libraries. And if your luck you may find an GNAT Ada port or links to an Ada project, there. > >thanks. >Martyn > >