Obscure crashes due to gcc 4.9 -O2 => -fisolate-erroneous-paths-dereference

Sebastian Huber sebastian.huber at embedded-brains.de
Thu Feb 19 08:36:32 UTC 2015


On 19/02/15 00:52, Chris Johns wrote:
> On 19/02/2015 7:25 am, Joel Sherrill wrote:
>>
>> Yep. But if all we have is writeable vector tables at 0x0, then it 
>> MIGHT be
>> ok. GCC may not be able to detect.  But on the m68k's without a VBR
>> register the table is always at 0x0.
>
> Yeap ...
>
> https://git.rtems.org/rtems/commit/?id=dd309b10544bfceda968ac847ad34c3d90ca8281 
>
>
> I hit this one when testing on the mc5235. 

This is not a GCC bug. Read/write from/to the 0 address is undefined in 
C. I think the only reliable solution for these kind of operations is to 
write assembly code or do some tricks that may fail with newer GCC 
version or link-time optimization.

See also:

https://git.rtems.org/rtems/commit/?id=95d0c98cac5000da7f4f1fdd52299224b2f94235

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
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