From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Re: How can I get this data into the .data section of the binary?
Date: Thu, 18 Jun 2020 12:55:47 +0300 [thread overview]
Message-ID: <hl0s14FsgcgU1@mid.individual.net> (raw)
In-Reply-To: <rcel2a$4hp$1@franka.jacob-sparre.dk>
On 2020-06-18 5:55, Randy Brukardt wrote:
> "Luke A. Guest" <laguest@archeia.com> wrote in message
> news:rcaicd$ifh$1@gioia.aioe.org...
> ...
>> According to 10.2.1 it should be possible:
>>
>> is important that programs be able to declare data structures that
>> are link-time initialized with aggregates, string_literals, and
>> concatenations thereof. etc.
[snip]
> The better question is why you care?
[snip]
> (The situation can be different on a bare machine, of course.)
As I've posted in this thread two cases where I have needed things like
this, here are my reasons for needing them, just for the record.
For background, both cases occurred in bare-machine systems in which the
entire SW is stored in EEPROM and is then entirely copied to RAM for
execution, _including_ the code and read-only (constant) data.
For my case of the large constant array, we needed to save RAM space,
and did not want to spend RAM _both_ for the elaboration code that
initialized the array (larger than the array itself) and for the array.
If we had not discovered the positional-association method, we would
have had to define the array in assembly language, which would have
required _many_ Export pragmas in the Ada source.
For my case of the constant version-identifier string, the customer
required the executable SW image (in EEPROM) to contain a version
identifier at a fixed address. This is a very common requirement in this
domain. Of course it can be implemented in many ways (directly in the
linker command script, for example), but I was pleased to be able to do
it in Ada with the Linker_Section pragma.
--
Niklas Holsti
niklas holsti tidorum fi
. @ .
next prev parent reply other threads:[~2020-06-18 9:55 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-16 11:31 How can I get this data into the .data section of the binary? Luke A. Guest
2020-06-16 11:37 ` Luke A. Guest
2020-06-16 11:50 ` J-P. Rosen
2020-06-16 12:36 ` Luke A. Guest
2020-06-16 12:45 ` Luke A. Guest
2020-06-16 12:56 ` J-P. Rosen
2020-06-16 12:59 ` Luke A. Guest
2020-06-16 13:29 ` J-P. Rosen
2020-06-16 13:44 ` Luke A. Guest
2020-06-18 2:55 ` Randy Brukardt
2020-06-18 9:55 ` Niklas Holsti [this message]
2020-06-21 3:55 ` Randy Brukardt
2020-06-21 6:55 ` Niklas Holsti
2020-06-16 13:52 ` Mark Lorenzen
2020-06-16 14:08 ` Luke A. Guest
2020-06-16 13:03 ` Luke A. Guest
2020-06-16 14:14 ` Niklas Holsti
2020-06-16 14:25 ` Dmitry A. Kazakov
2020-06-16 14:32 ` Niklas Holsti
2020-06-16 14:42 ` Luke A. Guest
2020-06-16 15:21 ` Dmitry A. Kazakov
2020-06-16 15:43 ` Luke A. Guest
2020-06-16 16:11 ` Dmitry A. Kazakov
2020-06-16 14:40 ` Luke A. Guest
2020-06-16 18:19 ` Tero Koskinen
2020-06-17 12:37 ` Luke A. Guest
2020-06-17 14:01 ` Niklas Holsti
2020-06-17 15:17 ` Luke A. Guest
2020-09-03 10:32 ` c+
2020-09-13 13:36 ` patelchetan1111992
2020-09-19 14:08 ` erchetan33
2020-09-28 11:36 ` yhumina stir
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox