7563dc6458
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>
22 lines
782 B
Makefile
22 lines
782 B
Makefile
CFLAGS_bootx_init.o += -fPIC
|
|
|
|
ifdef CONFIG_FTRACE
|
|
# Do not trace early boot code
|
|
CFLAGS_REMOVE_bootx_init.o = -pg -mno-sched-epilog
|
|
endif
|
|
|
|
obj-y += pic.o setup.o time.o feature.o pci.o \
|
|
sleep.o low_i2c.o cache.o pfunc_core.o \
|
|
pfunc_base.o udbg_scc.o udbg_adb.o
|
|
obj-$(CONFIG_PMAC_BACKLIGHT) += backlight.o
|
|
obj-$(CONFIG_CPU_FREQ_PMAC) += cpufreq_32.o
|
|
obj-$(CONFIG_CPU_FREQ_PMAC64) += cpufreq_64.o
|
|
# CONFIG_NVRAM is an arch. independant tristate symbol, for pmac32 we really
|
|
# need this to be a bool. Cheat here and pretend CONFIG_NVRAM=m is really
|
|
# CONFIG_NVRAM=y
|
|
obj-$(CONFIG_NVRAM:m=y) += nvram.o
|
|
# ppc64 pmac doesn't define CONFIG_NVRAM but needs nvram stuff
|
|
obj-$(CONFIG_PPC64) += nvram.o
|
|
obj-$(CONFIG_PPC32) += bootx_init.o
|
|
obj-$(CONFIG_SMP) += smp.o
|