da3de6df33
GCC 4.4.x looks to be adding support for generating out-of-line register saves/restores based on: http://gcc.gnu.org/ml/gcc-patches/2008-04/msg01678.html This breaks the kernel if we enable CONFIG_CC_OPTIMIZE_FOR_SIZE. To fix this we add the use the save/restore code from gcc and simplified it down for our needs (integer only). Additionally, we have to link this code into each module. The other solution was to add EXPORT_SYMBOL() which meant going through the trampoline which seemed nonsensical for these out-of-line routines. Finally, we add some checks to prom_init_check.sh to ignore the out-of-line save/restore functions. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
26 lines
628 B
Makefile
26 lines
628 B
Makefile
#
|
|
# Makefile for ppc-specific library files..
|
|
#
|
|
|
|
ifeq ($(CONFIG_PPC64),y)
|
|
EXTRA_CFLAGS += -mno-minimal-toc
|
|
endif
|
|
|
|
ifeq ($(CONFIG_PPC_MERGE),y)
|
|
obj-y := string.o alloc.o \
|
|
checksum_$(CONFIG_WORD_SIZE).o
|
|
obj-$(CONFIG_PPC32) += div64.o copy_32.o crtsavres.o
|
|
obj-$(CONFIG_HAS_IOMEM) += devres.o
|
|
endif
|
|
|
|
obj-$(CONFIG_PPC64) += copypage_64.o copyuser_64.o \
|
|
memcpy_64.o usercopy_64.o mem_64.o string.o
|
|
obj-$(CONFIG_XMON) += sstep.o
|
|
obj-$(CONFIG_KPROBES) += sstep.o
|
|
obj-$(CONFIG_NOT_COHERENT_CACHE) += dma-noncoherent.o
|
|
|
|
ifeq ($(CONFIG_PPC64),y)
|
|
obj-$(CONFIG_SMP) += locks.o
|
|
endif
|
|
|
|
obj-$(CONFIG_PPC_LIB_RHEAP) += rheap.o
|