Skip to content

Commit f22b2d4

Browse files
minipli-ossgregkh
authored andcommitted
kbuild: builddeb - avoid recompiles for non-cross-compiles
[ Upstream commit 2452dcf ] Commit e2c3182 ("kbuild: deb-pkg: add pkg.linux-upstream.nokernelheaders build profile") changed how install-extmod-build gets called, making it always rebuild the host programs below scripts/ if HOSTCC wasn't specified with its full triplet on the make command line. That is, apparently, needed to fix up commit f1d8766 ("kbuild: cross-compile linux-headers package when possible") for cross-compiles. However, in the much more common case of non-cross-compile builds this will lead to unnecessary rebuilding of host tools including gcc plugins. This, in turn, will lead to a full kernel rebuild on the next 'make bindeb-pkg' which is unfortunate. Avoid that by only triggering the rebuild of host tools for actual cross-compile builds. Signed-off-by: Mathias Krause <minipli@grsecurity.net> Fixes: e2c3182 ("kbuild: deb-pkg: add pkg.linux-upstream.nokernelheaders build profile") Cc: Masahiro Yamada <masahiroy@kernel.org> Reviewed-by: Nathan Chancellor <nathan@kernel.org> Reviewed-by: Nicolas Schier <nsc@kernel.org> Link: https://patch.msgid.link/20260402145116.1010901-1-minipli@grsecurity.net Signed-off-by: Nicolas Schier <nsc@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 8e3e8c9 commit f22b2d4

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

scripts/package/builddeb

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,13 @@ install_kernel_headers () {
125125
pdir=debian/$1
126126
version=${1#linux-headers-}
127127

128-
CC="${DEB_HOST_GNU_TYPE}-gcc" "${srctree}/scripts/package/install-extmod-build" "${pdir}/usr/src/linux-headers-${version}"
128+
# Override $CC only for cross-compiles, to not unnecessarily rebuild
129+
# scripts/ including plugins, which may lead to a full kernel rebuild.
130+
if [ -n "${CROSS_COMPILE}" ]; then
131+
CC="${DEB_HOST_GNU_TYPE}-gcc" "${srctree}/scripts/package/install-extmod-build" "${pdir}/usr/src/linux-headers-${version}"
132+
else
133+
"${srctree}/scripts/package/install-extmod-build" "${pdir}/usr/src/linux-headers-${version}"
134+
fi
129135

130136
mkdir -p $pdir/lib/modules/$version/
131137
ln -s /usr/src/linux-headers-$version $pdir/lib/modules/$version/build

0 commit comments

Comments
 (0)