]> code.ossystems Code Review - openembedded-core.git/commitdiff
kernel: restore crtsavres.o to enable building external modules on powerpc
authorDarren Hart <dvhart@linux.intel.com>
Wed, 17 Aug 2011 04:16:53 +0000 (21:16 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 17 Aug 2011 14:46:16 +0000 (15:46 +0100)
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>
meta/classes/kernel.bbclass

index 7dc9cc6e424c2662dbdb0604f35063898a04f5af..386b05e57ad4a23e736b5ffdafba414a21cf0189 100644 (file)
@@ -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 \