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