From c111b692ccac0d1d281407ea03c79a6fe07ded14 Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Tue, 17 Nov 2020 23:56:33 -0500 Subject: kernel: relocate copy of module.lds to module compilation task There were two copies of this patch floating around, and the merged variant has the copy in the wrong place. module.lds is only created during modules_prepare, and that target is not invoked during our main build of the kernel. We aren't about to change the kernel build (there's no need), so we move the copy into the compile_kernelmodules task. After that runs, we have module.lds availble to copy. This has been tested against clean kernel + out of tree module builds, and the dependencies are correct that the file is copied before the out of tree module build starts. (From OE-Core rev: d9e327063f63193186822d958706081d64ec8139) Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie (cherry picked from commit 7d94f9209ebaaf59ea001239a889dd7f928a0e7c) Signed-off-by: Anuj Mittal Signed-off-by: Richard Purdie --- meta/classes/kernel.bbclass | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 22c92381c0..6fffcac07f 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -383,6 +383,10 @@ do_compile_kernelmodules() { # other kernel modules and will look at this # file to do symbol lookups cp ${B}/Module.symvers ${STAGING_KERNEL_BUILDDIR}/ + # 5.10+ kernels have module.lds that we need to copy for external module builds + if [ -e "${B}/scripts/module.lds" ]; then + install -Dm 0644 ${B}/scripts/module.lds ${STAGING_KERNEL_BUILDDIR}/scripts/module.lds + fi else bbnote "no modules to compile" fi @@ -486,7 +490,6 @@ do_shared_workdir () { # Copy files required for module builds cp System.map $kerneldir/System.map-${KERNEL_VERSION} [ -e Module.symvers ] && cp Module.symvers $kerneldir/ - [ -e scripts/module.lds ] && install -Dm 0644 scripts/module.lds $kerneldir/scripts/module.lds cp .config $kerneldir/ mkdir -p $kerneldir/include/config cp include/config/kernel.release $kerneldir/include/config/kernel.release -- cgit v1.2.3-54-g00ecf