summaryrefslogtreecommitdiff
path: root/meta/classes/kernel.bbclass
diff options
context:
space:
mode:
authorDarren Hart <dvhart@linux.intel.com>2011-08-16 21:16:53 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-08-17 15:46:16 +0100
commit2e83e6755441cb14bd907d306974338c15173189 (patch)
tree2a2e726ea45572411ea2b4c197e1cb2cd3901bd5 /meta/classes/kernel.bbclass
parentc8cdfcd2fe06593d8523b94c33920a607429004a (diff)
downloadopenembedded-core-2e83e6755441cb14bd907d306974338c15173189.tar.gz
openembedded-core-2e83e6755441cb14bd907d306974338c15173189.tar.bz2
openembedded-core-2e83e6755441cb14bd907d306974338c15173189.zip
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 <dvhart@linux.intel.com> CC: Bruce Ashfield <bruce.ashfield@windriver.com> CC: Tom Zanussi <tom.zanussi@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/kernel.bbclass')
-rw-r--r--meta/classes/kernel.bbclass7
1 files changed, 7 insertions, 0 deletions
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 \