comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pushface.org>
Subject: Re: STM32F4 GNAT Run Time System - roadmap
Date: Wed, 10 Jun 2015 18:47:19 +0100
Date: 2015-06-10T18:47:19+01:00	[thread overview]
Message-ID: <lyd213mp5k.fsf@pushface.org> (raw)
In-Reply-To: 7cf60ab3-065e-48c8-b6b1-b3fe01a088f4@googlegroups.com

jan.de.kruyf@gmail.com writes:

> on the matter of bug 66205:
> -------
>         if not Suppress_Standard_Library_On_Target then
>             WBI ("   Is_Elaborated : Boolean := False;");
>          end if;
> -------
> This ties with the behaviour I get on 4.7.4 
> When Standard_Library is not suppressed it wants to load some Handler
> and initialize a handful of variables. So for mixed language mode with
> minimal runtime and a foreign linker I have to suppress the standard
> library, so 'adainit' purely does the elaboration of the stuff I wrote
> (be it program or runtime) As I said: with it, adainit does a few
> things more.

These bugs were about including finalization in the RTS.

I guess there's some work to be done on exiting a kernel module; whether
that's something that relates to Ada.Finalization is a different matter!

And I'm not clear what Suppress_Standard_Library_On_Target means .. oh,
it's about standard exception data. I had to include it in my RTS
because some packages needed it, but it's only needed if the user code
calls the features involved (e.g. streams, containers).

I think the writeup in [1] is slightly misleading:

 Suppress_Standard_Library : Boolean;

 --  If this flag is True, then the standard library is not included by
 --  default in the executable (see unit System.Standard_Library in file
 --  s-stalib.ads for details of what this includes). This is for example
 --  set True for the Zero Footprint case, where these files should not
 --  be included by default.
 --
 --  This flag has some other related effects:
 --
 --    The generation of global variables in the bind file is suppressed,
 --    with the exception of the priority of the environment task, which
 --    is needed by the Ravenscar run-time.
 --
 --    The generation of exception tables is suppressed for front end
 --    ZCX exception handling (since we assume no exception handling).
 --
 --    The calls to __gnat_initialize and __gnat_finalize are omitted
 --
 --    All finalization and initialization (controlled types) is omitted
 --
 --    The routine __gnat_handler_installed is not imported

At least the part about "All finalization and initialization (controlled
types) is omitted" iw wrong; it just doesn't work!

[1] http://docs.adacore.com/gnathie_ug-docs/html/gnathie_ug/gnathie_ug/the_gnat_configurable_run_time_facility.html


  reply	other threads:[~2015-06-10 17:47 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-09 12:02 STM32F4 GNAT Run Time System - roadmap Simon Wright
2015-06-09 19:44 ` Tero Koskinen
2015-06-12 17:31   ` MIchael Erdmann
2015-06-12 18:19     ` Simon Wright
2015-06-09 20:08 ` jan.de.kruyf
2015-06-10 17:47   ` Simon Wright [this message]
2015-06-10 19:54     ` jan.de.kruyf
2015-06-10 21:11       ` Simon Wright
2015-06-10  8:19 ` jan.de.kruyf
2015-06-10  8:24 ` jan.de.kruyf
2015-06-10 17:55   ` Simon Wright
2015-06-10 19:30     ` jan.de.kruyf
2015-06-10 11:20 ` Brian Drummond
2015-06-10 21:19   ` Simon Wright
2015-06-11 10:10     ` Brian Drummond
2015-06-13 13:21     ` Jedi Tek'Unum
2015-06-13 14:15       ` Dmitry A. Kazakov
2015-06-13 14:55       ` Simon Wright
2015-06-13 17:43         ` Jedi Tek'Unum
2015-12-06 18:34   ` Simon Wright
2015-12-07 10:39     ` Brian Drummond
2016-01-28 20:52       ` Simon Wright
2016-01-30 14:21         ` Brian Drummond
2015-12-07 15:13     ` Jere
2015-12-07 16:31       ` Simon Wright
2015-12-07 16:49       ` Simon Wright
2015-12-07 17:56         ` Jere
2015-12-07 22:02           ` Simon Wright
2015-12-08 14:03             ` Jere
2015-12-08 15:07               ` Tero Koskinen
2015-12-09  1:46                 ` Jere
2015-12-08  2:11     ` Randy Brukardt
2015-12-09 18:46       ` Simon Clubley
2015-12-09 22:47         ` Randy Brukardt
2015-12-10 18:22           ` Simon Clubley
2015-12-11 14:59       ` AI12-0128 (was: STM32F4 GNAT Run Time System - roadmap) Simon Wright
2015-12-11 21:18         ` Randy Brukardt
2015-06-10 15:20 ` STM32F4 GNAT Run Time System - roadmap Patrick Noffke
2015-06-15 19:03 ` Simon Wright
replies disabled

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