* [gentoo-dev] [COMMITTED] kernel-build.eclass: handle CTF if enabled
@ 2024-09-03 9:39 Sam James
0 siblings, 0 replies; only message in thread
From: Sam James @ 2024-09-03 9:39 UTC (permalink / raw
To: gentoo-dev; +Cc: dist-kernel, Sam James
genpatches will soon be adding optional CTF debug information support
via a patch. If it's enabled, we need to call a few special make targets
to create and install the CTF information. We also need to avoid stripping
the CTF archive.
Signed-off-by: Sam James <sam@gentoo.org>
---
eclass/kernel-build.eclass | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 10fd0cca2cc5..1fc86c4a2208 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -296,7 +296,13 @@ kernel-build_src_configure() {
kernel-build_src_compile() {
debug-print-function ${FUNCNAME} "${@}"
- emake O="${WORKDIR}"/build "${MAKEARGS[@]}" all
+ local targets=( all )
+
+ if grep -q "CONFIG_CTF=y" "${WORKDIR}/modprep/.config"; then
+ targets+=( ctf )
+ fi
+
+ emake O="${WORKDIR}"/build "${MAKEARGS[@]}" "${targets[@]}"
}
# @FUNCTION: kernel-build_src_test
@@ -337,6 +343,10 @@ kernel-build_src_install() {
targets+=( dtbs_install )
fi
+ if grep -q "CONFIG_CTF=y" "${WORKDIR}/modprep/.config"; then
+ targets+=( ctf_install )
+ fi
+
# Use the kernel build system to strip, this ensures the modules
# are stripped *before* they are signed or compressed.
local strip_args
@@ -430,6 +440,7 @@ kernel-build_src_install() {
mv "build/vmlinux" "${ED}${kernel_dir}/vmlinux" || die
fi
dostrip -x "${kernel_dir}/vmlinux"
+ dostrip -x "${kernel_dir}/vmlinux.ctfa"
fi
# strip empty directories
--
2.46.0
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2024-09-03 9:40 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-03 9:39 [gentoo-dev] [COMMITTED] kernel-build.eclass: handle CTF if enabled Sam James
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox