Hi Bruce

On Tue, Nov 17, 2020 at 6:06 AM Bruce Ashfield <[email protected]> wrote:
>
> From: Bruce Ashfield <[email protected]>
>
> 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.
>
> Signed-off-by: Bruce Ashfield <[email protected]>
> ---
>
> This is just a fixup to the patch [kernel: provide module.lds for out of
> tree builds in v5.10+], which v1 merged instead of v2.
>
> Build tested locally.
>
>  meta/classes/kernel.bbclass | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> index ccd74e61e8..af4c891de4 100644
> --- a/meta/classes/kernel.bbclass
> +++ b/meta/classes/kernel.bbclass
> @@ -391,6 +391,7 @@ do_compile_kernelmodules() {
>                 # other kernel modules and will look at this
>                 # file to do symbol lookups
>                 cp ${B}/Module.symvers ${STAGING_KERNEL_BUILDDIR}/
> +               [ -e ${B}/scripts/module.lds ] && install -Dm 0644 
> ${B}/scripts/module.lds ${STAGING_KERNEL_BUILDDIR}/scripts/module.lds

This change fails the task if file does not exist

make: Leaving directory
'/mnt/b/yoe/master/build/tmp/work/raspberrypi4_64-yoe-linux/linux-raspberrypi/1_5.4.72+gitAUTOINC+5d52d9eea9_154de7bbd5-r0/linux-raspberrypi4_64-standard-build'
WARNING: 
/mnt/b/yoe/master/build/tmp/work/raspberrypi4_64-yoe-linux/linux-raspberrypi/1_5.4.72+gitAUTOINC+5d52d9eea9_154de7bbd5-r0/temp/run.do_compile_kernelmodules.1515902:175
exit 1 from '[ -e
/mnt/b/yoe/master/build/tmp/work/raspberrypi4_64-yoe-linux/linux-raspberrypi/1_5.4.72+gitAUTOINC+5d52d9eea9_154de7bbd5-r0/linux-raspberrypi4_64-standard-build/scripts/module.lds
]'
WARNING: Backtrace (BB generated script):
        #1: main,
/mnt/b/yoe/master/build/tmp/work/raspberrypi4_64-yoe-linux/linux-raspberrypi/1_5.4.72+gitAUTOINC+5d52d9eea9_154de7bbd5-r0/temp/run.do_compile_kernelmodules.1515902,
line 175

however if I change the above fragment to


if [ -f ${B}/scripts/module.lds ]; then
  install -Dm 0644 ${B}/scripts/module.lds
${STAGING_KERNEL_BUILDDIR}/scripts/module.lds
fi

it works well.

and note I have used -f instead of -e since that appropriate check but
it does not matter if we use -e or -f it fails in same
way with the check you proposed.
>         else
>                 bbnote "no modules to compile"
>         fi
> @@ -494,7 +495,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
> --
> 2.19.1
>
>
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#144771): 
https://lists.openembedded.org/g/openembedded-core/message/144771
Mute This Topic: https://lists.openembedded.org/mt/78316114/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to