From: Darren Hart Date: Wed, 17 Aug 2011 04:16:53 +0000 (-0700) Subject: kernel: restore crtsavres.o to enable building external modules on powerpc X-Git-Tag: 2011-1~309 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=2e83e6755441cb14bd907d306974338c15173189;p=openembedded-core.git kernel: restore crtsavres.o to enable building external modules on powerpc Fixes [YOCTO #1276] As of Linux kernel version 3.0.1, and much earlier, the make clean target removes arch/powerpc/lib/crtsavres.o. As this object is present in KBUILD_LDFLAGS_MODULE, it is required to build external modules, and should therefor not be removed by make clean. While I do not advocate fixing buggy kernels in the generic kernel classes, we should probably account for this one in kernel.bbclass as it affects such a long list of kernel versions. Signed-off-by: Darren Hart CC: Bruce Ashfield CC: Tom Zanussi Signed-off-by: Richard Purdie --- diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 7dc9cc6e42..386b05e57a 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -159,6 +159,13 @@ kernel_do_install() { find $kerneldir -path $kerneldir/scripts -prune -o -name "*.[csS]" -exec rm '{}' \; find $kerneldir/Documentation -name "*.txt" -exec rm '{}' \; + # As of Linux kernel version 3.0.1, the clean target removes + # arch/powerpc/lib/crtsavres.o which is present in + # KBUILD_LDFLAGS_MODULE, making it required to build external modules. + if [ ${ARCH} = "powerpc" ]; then + cp arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o + fi + # Remove the following binaries which cause strip errors # during do_package for cross-compiled platforms bin_files="arch/powerpc/boot/addnote arch/powerpc/boot/hack-coff \