Ralf Baechle wrote:My understanding is that with gcc-3.4 that __asm__ __volatile__ does not protect against dead code removal. If the code is not dead __volatile__ works as documented, but dead code removal still happens.
On Fri, Feb 13, 2004 at 03:20:27PM +0100, Maciej W. Rozycki wrote:
2. It changes inline-assembly function prologues to be embedded within theIt is possible that gcc changes one of the registers before save_static
functions, which makes them a bit safer as they can now explicitly refer
to the "regs" struct and assures the code won't be removed or reordered.
and I can't imagine there's a reliable way to fix this in the inline
version.
As long as __asm__ __volatile__ works as documented, this can't happen.
David Daney.