[PATCH v3] score: PR1607: Add and use CPU_SIZEOF_POINTER

Sebastian Huber sebastian.huber at embedded-brains.de
Thu Nov 8 10:47:20 UTC 2012

On 11/08/2012 11:33 AM, Ralf Corsepius wrote:
> On 11/08/2012 11:02 AM, Sebastian Huber wrote:
>> On 11/08/2012 10:33 AM, Ralf Corsepius wrote:
>>> On 11/08/2012 09:27 AM, Sebastian Huber wrote:
>>>> Add and use new CPU port define CPU_SIZEOF_POINTER.  It must be an
>>>> integer literal that can be used by the assembler.  This value will be
>>>> used to calculate offsets of structure members.  These offsets will be
>>>> used in assembler code.
>>>> The size of a pointer is part of the application binary interface (ABI)
>>>> and thus independent of the actual programming language.  The compiler
>>>> will provide defines to determine the current ABI.  We use these defines
>>>> to select the appropriate CPU_SIZEOF_POINTER value.
>>>> Static assertions in the new file "cpukit/score/src/percpuasm.c" will
>>>> ensure that the value of CPU_SIZEOF_POINTER is consistent with the
>>>> current compiler settings.  Also the offset values used by assembler
>>>> code are verfied.
>> [...]
>>> It's just a random accident it appears to work for some targets.
>> [...]
>> In particular I am interested to know how you justify "random accident" if
>> you look at the static assertions.
> random accident here means: You didn't notice your design's flaw, because your
> "usual cases" do not exhibit this behavior.
> The static_assert is just a naive sillyness - It's just absurd.

These static assertions ensure that the CPU_SIZEOF_POINTER value is correct on 
all current CPU ports for all supported ABIs at compile time.

Where do you see a naive silliness here?

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