![]() 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> |
||
---|---|---|
.. | ||
alloc.c | ||
checksum_32.S | ||
checksum_64.S | ||
copy_32.S | ||
copypage_64.S | ||
copyuser_64.S | ||
crtsavres.S | ||
devres.c | ||
div64.S | ||
dma-noncoherent.c | ||
locks.c | ||
Makefile | ||
mem_64.S | ||
memcpy_64.S | ||
rheap.c | ||
sstep.c | ||
string.S | ||
usercopy_64.c |