[PATCH 1/3] score: Remove _Stack_Adjust_size()
Gedare Bloom
gedare at rtems.org
Mon Apr 16 15:11:53 UTC 2012
On Mon, Apr 16, 2012 at 5:00 AM, Sebastian Huber
<sebastian.huber at embedded-brains.de> wrote:
> On 04/15/2012 08:05 PM, Gedare Bloom wrote:
>>
>> Where did the original stack size adjustment come from / what was its
>> motivation?
>
>
> The
>
> uint32_t _Stack_Adjust_size(size_t size)
> {
> return size + CPU_STACK_ALIGNMENT;
> }
>
> is there since 1995-05-11 19:39:37. It is probably there since the
> workspace allocator only aligns the memory by CPU_HEAP_ALIGNMENT. The stack
> needs to be aligned by CPU_STACK_ALIGNMENT. Thus if these values are
> arbitrary you have to adjust the allocated memory to fit as a stack. You
> need to allocate at least CPU_STACK_ALIGNMENT - 1 additional bytes to do
> this.
>
>
>> Will this break something that was "fixed" by the
>> previous approach?
>
>
> I think this fixed a non-existing problem. The CPU_HEAP_ALIGNMENT and
> CPU_STACK_ALIGNMENT are roughly the same on all supported architectures.
> Also the requested stack size must be considerable larger than
> CPU_STACK_ALIGNMENT, otherwise you cannot call any functions. Thus it is
> not a problem at all to align the memory.
>
The change seems reasonable (by sight) to me. The problem with
alignment changes is they can break in unpredictable ways :( But we'll
see if anyone ever complains I guess.
>
> --
> Sebastian Huber, embedded brains GmbH
>
> Address : Obere Lagerstr. 30, D-82178 Puchheim, Germany
> Phone : +49 89 18 90 80 79-6
> Fax : +49 89 18 90 80 79-9
> E-Mail : sebastian.huber at embedded-brains.de
> PGP : Public key available on request.
>
> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the devel
mailing list