gcc compiler bug (sparc, ppc)
Sergei Organov
osv at javad.com
Wed May 23 13:52:51 UTC 2007
Joel Sherrill <joel.sherrill at oarcorp.com> writes:
> Ralf Corsepius wrote:
[...]
>> IMO, this is bad advice, these ain't no volatiles.
>>
> Not in the general sense but this looks remarkably like the RTEMS chain code
> and the intent there was very simple. The code was originally in assembly
> language and we really meant each memory load or store to occur.
>
> I would go so far as to assert that most of the RTEMS SuperCore and
> APIs are written with this intent. It was written as C that is just
> marginally above assembly language. RTEMS generally has very simple C
> statements.
Do you suggest to declare all core RTEMS variables volatile? ;)
Anyway, how is it relevant provided this case is most probably just a
GCC bug? Moreover, the bug apparently even does not bite in normal -O2
builds, so there is no reason to search for a dirty tricks to overcome
the bug.
As for the RTEMS chain code, IMHO it should be replaced with a
straightforward implementation anyway. I recall I've removed similar
tricks during rework of the heap management code, and nobody even
noticed that, I think.
-- Sergei.
More information about the users
mailing list