Re: [PATCH] force -mno-string option on cell
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2007-03-23 19:38:23
On Fri, 2007-03-23 at 13:56 +0100, Segher Boessenkool wrote:
quoted
GCC may generate inline copy loop to handle memcpy() function instead of kernel defined memcpy() with -mstring or -Os. But this inlined version of memcpy() caused an alignment interrupt when copying from SPU local store on PS3. (http://ozlabs.org/pipermail/cbe-oss-dev/2007-March/001348.html) This patch deletes -mstring option on all powerpc and force -mno-string option on Cell.Please split into two patches, the first half (deleting -mstring) we can all agree on and "the other half". What your patch does is setting -mno-string for all files if your kernel is configured to support Cell. It would be better to set this option (and all other options needed, -mno-multiple and -mno-algebraic come to mind, and that last compiler option doesn't even exist yet) unconditionally on the few Cell-specific files that are affected, not on the whole kernel: CFLAGS_whatever.o := -msome-flags It would be even better to not lie to the compiler by telling it it can use the LS area as normal memory, since evidently it cannot :-)
It's fair enough to use -mno-string overall. If the kernel is going to run on cell, performance will suck with string instructions. In fact, I'm not sure they are worth having on anything anyway. Ben.