On Mon, 23 Nov 2009, Jakub Jelinek wrote: > On Thu, Nov 19, 2009 at 08:01:57PM +0100, Thomas Gleixner wrote: > > Just compiled with -mincoming-stack-boundary=4 and the problem goes > > away as gcc now thinks that the incoming stack is already 16 byte > > aligned. But that might break code which actually uses SSE > > Please don't do this, lying to the compiler is just going to result in > wrong-code sooner or later, with the above switch gcc will assume the > incoming stack is 16-byte aligned (which is not true in the ix86 kernel) > and could very well e.g. optimize away code that looks at > alignment of stack variables etc.
Right. I gave up the idea pretty fast. But in the current situation we are forced to lie to the compiler in some way. Forcing -mtune=generic when the function graph tracer is enabled seems to be a halfways sane work around. Thanks, tglx