[ros-dev] Optimized Build News

Mike Nordell tamlin at algonet.se
Mon Jan 24 12:13:42 CET 2005


Alex Ionescu wrote:

> > 4) Browsing some registry keys in regedit causes regedit to crash.
> >
> Err, this is because GCC is extremly stupid. It loads a stack structure
> into ebx, and then the callback code becomes jmp(%ebx).

Could you elaborate. I didn't quite follow in what function/context it loads
ebx, and what function it jumps from/to, and where ebx wasn't what it was
assumed to be.

> The problem is that it restores protected registers before doing the
> jmp, so ebx is reset to it's value before the function is called...
>
> I guess this needs to be made __volatile,

It's just "volatile" (no leading underscores since it's a C keyword, not a
language extension).

/Mike



More information about the Ros-dev mailing list