Skip to contentSkip to conversation

kernel-devsrc: Handle ppc crtsaves.o explictly for now

PATCH In review Richard Purdie 2 participants 3 messages Dec 21, 2014 – Dec 22, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 kernel-devsrc: Handle ppc crtsaves.o explictly for now

Resolve kernel module build failures for qemuppc by including crtsaves.o.

I'm not particularly happy to be doing this, it should perhaps be contained in the kernel-dev package. Until the overlap between kernel-devsrc and kernel-dev is resolved, this at least removed the regressions.

meta/recipes-kernel/linux/kernel-devsrc.bb +8 -0
index 2872f17..1557c27 100644
@@ -46,6 +46,14 @@ do_install() {
         cd ${S}
         find . -type d -name '.git*' -prune -o -type f -print0 | cpio --null -pdlu $kerneldir
         oe_runmake -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean _mrproper_scripts
+
+        # 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
+                mkdir -p $kerneldir/arch/powerpc/lib/
+                cp ${S}/arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o
+        fi
 }
 
 PACKAGES = "kernel-devsrc"
#1 lore raw
Quoted 5 lines · Richard Purdie

Resolve kernel module build failures for qemuppc by including crtsaves.o.

I'm not particularly happy to be doing this, it should perhaps be contained in the kernel-dev package. Until the overlap between kernel-devsrc and kernel-dev is resolved, this at least removed the regressions.

Interesting. I built qemuppc for core-image-kerneldev and core-image-sato and didn't see this.

Are the build steps that triggered this captured in the bug ? Or are they in the mailing list thread ? Either way, I'd like to run them here as part of any follow
on cleanups.

But the patch makes sense, and looks fine to me for the current state.

Bruce

Quoted 29 lines
meta/recipes-kernel/linux/kernel-devsrc.bb +8 -1
index 2872f17..1557c27 100644
@@ -46,6 +46,14 @@ do_install() {
         cd ${S}
         find . -type d -name '.git*' -prune -o -type f -print0 | cpio --null -pdlu $kerneldir
         oe_runmake -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean _mrproper_scripts
+
+        # 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
+                mkdir -p $kerneldir/arch/powerpc/lib/
+                cp ${S}/arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o
+        fi
 }
 
 PACKAGES = "kernel-devsrc"
 
 
--

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Signature · 2 lines
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"
#2 lore raw
Quoted 11 lines · Bruce Ashfield
Quoted 5 lines · Richard Purdie

Resolve kernel module build failures for qemuppc by including crtsaves.o.

I'm not particularly happy to be doing this, it should perhaps be contained in the kernel-dev package. Until the overlap between kernel-devsrc and kernel-dev is resolved, this at least removed the regressions.

Interesting. I built qemuppc for core-image-kerneldev and core-image-sato and didn't see this.

Quoted 6 lines

Are the build steps that triggered this captured in the bug ? Or are they in the mailing list thread ? Either way, I'd like to run them here as part of any follow
on cleanups.

But the patch makes sense, and looks fine to me for the current state.

Reproducer is/was in local.conf:

TEST_IMAGE = "1"
TEST_SUITES = "kernelmodule"

MACHINE=qemuppc bitbake core-image-sato-sdk

which will then build the image, boot it and then try and build a kernel module. I did cheat and disable QT4 when I did it locally.

Cheers,

Richard