On Tue, Nov 22, 2005 at 11:39:28AM +0000, Maciej W. Rozycki wrote: > > > 'Fraid not: the -g option only adds debug info to the object file, it > > > shouldn't alter the generated code. Using -O0 will certainly store > > > everything on the stack, but it also won't be "with otherwise optimized > > > code". > > > > And the kernel won't build without optimization - but that's FAQ since > > 10 years. > > Well, with "__attribute__((always_inline))" available and actually used > already, perhaps this requirement could be relaxed nowadays... There were functions in the network stack that intensionally were declared extern inline to make sure the compiler won't be able to outline that function unnoticed. I just grepped for it and can't find it anymore, must be a relativly recent improvment. We also rely on the compiler eleminating calls to certain functions entirely, for example to __xchg_called_with_bad_pointer(). Ralf