comp.lang.ada
 help / color / mirror / Atom feed
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
       .      @       .

  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