comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pushface.org>
Subject: Re: Changing SS_Pool
Date: Thu, 17 Nov 2016 09:20:56 +0000
Date: 2016-11-17T09:20:56+00:00	[thread overview]
Message-ID: <ly4m36798n.fsf@pushface.org> (raw)
In-Reply-To: 8756f78b-90d1-4607-83d7-62ebad2ca78c@googlegroups.com

Lucretia <laguest9000@googlemail.com> writes:

> On Wednesday, 16 November 2016 22:11:49 UTC, Lucretia  wrote:
>> Hi,
>> 
>> Is it possible to make SS_Pool be an array of storage_elements
>> instead of just an integer? Seems pointless creating a separate
>> array and having that random integer just because the compiler
>> expects it.
>
> It seems to work, but whether it's legal or not, I'm not so sure.

The declaration is

private
   SS_Pool : Integer;
   --  Unused entity that is just present to ease the sharing of the pool
   --  mechanism for specific allocation/deallocation in the compiler

which I think means either that in a full RTS the ompiler has to do
stuff which it doesn't in a restricted RTS, or that it's a fossil from
some previous design.

I just looked into (a) a build using GNAT GPL 2016, (b) a build using
one of my cortex-gnat-rts runtimes. In (a), ss_pool occupies 4 bytes, in
(b) it's in a discarded input section. Both RTSs are compiled with
-ffunction-sections -fdata-sections, the difference is that in (b) my
project GPR explicity has those two switches in package Builder, and
-Wl,-gc-sections in package Linker. I wonder whether they should be in
the RTS's runtime.xml, so as to be used everywhere? Will ask AdaCore.


  reply	other threads:[~2016-11-17  9:20 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-16 22:11 Changing SS_Pool Lucretia
2016-11-16 22:18 ` Lucretia
2016-11-17  9:20   ` Simon Wright [this message]
2016-11-17 14:03     ` Lucretia
replies disabled

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