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
next prev parent 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