From: "Bruce Ashfield" <bruce.ashfield@gmail.com>
To: richard.purdie@linuxfoundation.org
Cc: openembedded-core@lists.openembedded.org
Subject: [PATCH v2] kernel: relocate copy of module.lds to module compilation task
Date: Tue, 17 Nov 2020 23:56:33 -0500 [thread overview]
Message-ID: <20201118045633.47396-1-bruce.ashfield@gmail.com> (raw)
From: Bruce Ashfield <bruce.ashfield@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.ashfield@gmail.com>
---
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
next reply other threads:[~2020-11-18 4:56 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-18 4:56 Bruce Ashfield [this message]
2020-11-18 5:26 ` [OE-core] [PATCH v2] kernel: relocate copy of module.lds to module compilation task Khem Raj
2020-11-30 7:38 ` Nicolas Dechesne
2020-11-30 13:24 ` Bruce Ashfield
2020-11-30 14:36 ` Steve Sakoman
2020-11-30 15:33 ` Steve Sakoman
2020-11-30 16:45 ` Nicolas Dechesne
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201118045633.47396-1-bruce.ashfield@gmail.com \
--to=bruce.ashfield@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=richard.purdie@linuxfoundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox