hi Steve and Bruce,

On Wed, Nov 18, 2020 at 5:56 AM Bruce Ashfield <bruce.ashfi...@gmail.com> wrote:
>
> From: Bruce Ashfield <bruce.ashfi...@gmail.com>
>
> 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 <bruce.ashfi...@gmail.com>


Can we get this patch into dunfell? This is fixing a bug for BSP using
5.10+ kernel, so I believe this is important for LTS. I haven't
attempted to backport it yet.. but let me know if you need help with
the backport.

> ---
>
> v2:
>
> I had done my test builds on a branch that didn't actually contain my
> change, hence why 5.8 builds where blowing up.
>
> I switched to the if [ ] model, since that doesn't run afoul of the
> exit handler. I do find it curious that the compile task behaves so
> differently than the install ones (even with set +e, I couldn't use
> the [ ] method.
>
> Anyway, this is tested against 5.8 and 5.10 + eternal module builds
>
> Bruce
>
>  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 ccd74e61e8..8b28ee626f 100644
> --- a/meta/classes/kernel.bbclass
> +++ b/meta/classes/kernel.bbclass
> @@ -391,6 +391,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
> @@ -494,7 +498,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 (#145079): 
https://lists.openembedded.org/g/openembedded-core/message/145079
Mute This Topic: https://lists.openembedded.org/mt/78334430/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to