From: Ludovic Brenta on 26 Nov 2009 04:18 Today on osnews.com's front page an innocuous phrase caught my attention so I followed the links... http://genode.org/documentation/release-notes/9.11#section-19 "At Genode Labs, we are exploring the use of the Spark subset of Ada to implement security-critical code and use Genode as development platform. For this reason, we have added support for executing freestanding Ada code on Genode." -- Ludovic Brenta.
From: Peter Hermann on 26 Nov 2009 05:10 Ludovic Brenta <ludovic(a)ludovic-brenta.org> wrote: > Today on osnews.com's front page an innocuous phrase caught my > attention so I followed the links... (-: www.ihr.uni-stuttgart.de/forschung/ada/resources_on_ada/ :-) thank you
From: AdaMagica on 26 Nov 2009 09:08 Hm, later on this page it says "Elaboration is not performed". How can then Ada code work at all?
From: Ludovic Brenta on 26 Nov 2009 10:45 AdaMagica wrote on comp.lang.ada: > Hm, later on this page it says "Elaboration is not performed". How can > then Ada code work at all? By restricting the compilation units in the program to only Pure and Preelaborated units, I suppose. -- Ludovic Brenta.
From: nfeske on 26 Nov 2009 10:47 Hello, as a developer of Genode, I am happy about the response to our Ada- related addition. As stated in the release notes, the current integration of Ada support is mainly geared towards using Genode as an experimentation platform for developing Spark sub programs. It is just the first step. If more people outside the current Genode developer community show interest in this particular topic, we will be happy to extend the Ada support as needed. On Nov 26, 3:08 pm, AdaMagica <christoph.gr...(a)eurocopter.com> wrote: > Hm, later on this page it says "Elaboration is not performed". How can > then Ada code work at all? The mentioned limitation refers to package initializations normally performed by the startup code generated by gnatbind, specifically the 'ada_init' function. The current use case for Ada on Genode is to use Spark for creating type and utility packages with free-standings functions called from C code. Because such packages have no internal state and no begin-end block, we can omit gnatbind for now. However, should the need for elaborating packages in the right order arise in the future, support for calling gnatbind will be added to the build environment. In short, the solution comes down to calling gnatmake with the '-c -b' arguments, adding the generated startup code to the program, and actually calling 'adainit'. Best regards Norman
|
Pages: 1 Prev: What makes a procedure call 'dispatching' in Ada? Next: Mike Yoder |