Strict aliasing and chains revisited

Sebastian Huber sebastian.huber at embedded-brains.de
Tue Oct 26 06:49:55 UTC 2010


On 10/26/2010 07:15 AM, Chris Johns wrote:
> On 25/10/10 6:19 AM, Till Straumann wrote:
>> On 10/25/2010 12:38 AM, Sebastian Huber wrote:
>>> On 10/21/2010 05:42 PM, Till Straumann wrote:
>>>> On 10/21/2010 12:51 AM, Sebastian Huber wrote:
>>>>> On 10/21/2010 01:49 AM, Till Straumann wrote:
>>>
>>> typedef union {
>>> struct {
>>> Chain_Node Node;
>>> Chain_Node *fill;
>>> } Head;
>>>
>>> struct {
>>> Chain_Node *fill;
>>> Chain_Node Node;
>>> } Tail;
>>> } __attribute__ ((packed)) Chain_Control;
>>>
> 
> I have also similar solution. I have not had email for the last few days
> due to average networks while travelling.
> 
> Why the packed attribute ?

In the thread from 2006

http://www.rtems.com/ml/rtems-users/2006/november/msg00096.html

some said that this my be necessary on some architectures to guarantee the
overlapping.  I am not sure about this.  We may omit the packed attribute and
see what the test suites say.

> 
>>> Test suites pass on ARM, MIPS and SPARC. One problem with this change
>>> is that
>>> the field names change, and this may break applications which use this
>>> internal
>>> API.
>>>
>> This can also be seen as an advantage since it exposes
>> violations of the alias rule.
>>
> 
> Agreed. I have cleaned up the const bits of the API and fixing all the
> broken bits. Sebastian, I did this while on the road and without email
> access and so did not know you had a solution. What should we do ?

You may have a look at

https://www.rtems.org/bugzilla/show_bug.cgi?id=1711

It should be quite similar to your fixes.  Can you please check in what you prefer?

> 
> Also is 4.10 ok ?
> 
> Chris

Maybe we should discard the 4.10 branch and use the current CVS head as a new
4.10 branch starting point after these changes.  My feeling is that the current
CVS head is pretty stable.

-- 
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 users mailing list