powerpc: Work around gcc's -fno-omit-frame-pointer bug
authorTony Breeds <tony@bakeyournoodle.com>
Tue, 2 Sep 2008 06:50:38 +0000 (16:50 +1000)
committerPaul Mackerras <paulus@samba.org>
Wed, 3 Sep 2008 10:53:34 +0000 (20:53 +1000)
commit7563dc64585324f443f5ac107eb6d89ee813a2d2
treead97560d4280d844ff5a2c0c574962ef4fefa671
parent303996dace16894710a5291327eeb79afdb8ed12
powerpc: Work around gcc's -fno-omit-frame-pointer bug

This bug is causing random crashes
(http://bugzilla.kernel.org/show_bug.cgi?id=11414).

-fno-omit-frame-pointer is only needed on powerpc when -pg is also
supplied, and there is a gcc bug that causes incorrect code generation
on 32-bit powerpc when -fno-omit-frame-pointer is used---it uses stack
locations below the stack pointer, which is not allowed by the ABI
because those locations can and sometimes do get corrupted by an
interrupt.

This ensures that CONFIG_FRAME_POINTER is only selected by ftrace.
When CONFIG_FTRACE is enabled we also pass -mno-sched-epilog to work
around the gcc codegen bug.

Patch based on work by:
Andreas Schwab <schwab@suse.de>
Segher Boessenkool <segher@kernel.crashing.org>

Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/Makefile
arch/powerpc/kernel/Makefile
arch/powerpc/platforms/powermac/Makefile
lib/Kconfig.debug