summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-09-02 15:12:41 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-09-16 17:53:22 +0100
commit9df448f8437e8f23a81ca5e15f0387f5f2073e08 (patch)
tree44b5a431d523975165eea4482e2c2e234ce86922 /meta
parent1cee07e8e94fe72df8ca0be4043f64de599fad5a (diff)
downloadpoky-9df448f8437e8f23a81ca5e15f0387f5f2073e08.tar.gz
kernel: Always set CC and LD for the kernel build
It as been bothering me a bit that we don't set CC and LD consistently for the kernel make calls and this can lead to interesting bugs as the kernel increases in complexity. Add them to EXTRA_OEMAKE so they're always passed in. This makes everything slightly more consistent and less likely to break in future. (From OE-Core rev: 0872e11ede2469a7d176c791395b139158bd22a3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit afe8c318843e4033dcc07e4f10198df241d8e4f6) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/kernel.bbclass13
1 files changed, 7 insertions, 6 deletions
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index c29bd3d5f3..aca03fc071 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -231,8 +231,9 @@ UBOOT_LOADADDRESS ?= "${UBOOT_ENTRYPOINT}"
231# Some Linux kernel configurations need additional parameters on the command line 231# Some Linux kernel configurations need additional parameters on the command line
232KERNEL_EXTRA_ARGS ?= "" 232KERNEL_EXTRA_ARGS ?= ""
233 233
234EXTRA_OEMAKE = " HOSTCC="${BUILD_CC}" HOSTCFLAGS="${BUILD_CFLAGS}" HOSTLDFLAGS="${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}"" 234EXTRA_OEMAKE += ' CC="${KERNEL_CC}" LD="${KERNEL_LD}"'
235EXTRA_OEMAKE += " HOSTCXX="${BUILD_CXX}" HOSTCXXFLAGS="${BUILD_CXXFLAGS}" PAHOLE=false" 235EXTRA_OEMAKE += ' HOSTCC="${BUILD_CC}" HOSTCFLAGS="${BUILD_CFLAGS}" HOSTLDFLAGS="${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}"'
236EXTRA_OEMAKE += ' HOSTCXX="${BUILD_CXX}" HOSTCXXFLAGS="${BUILD_CXXFLAGS}" PAHOLE=false'
236 237
237KERNEL_ALT_IMAGETYPE ??= "" 238KERNEL_ALT_IMAGETYPE ??= ""
238 239
@@ -375,7 +376,7 @@ kernel_do_compile() {
375 use_alternate_initrd=CONFIG_INITRAMFS_SOURCE=${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio 376 use_alternate_initrd=CONFIG_INITRAMFS_SOURCE=${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio
376 fi 377 fi
377 for typeformake in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do 378 for typeformake in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do
378 oe_runmake ${typeformake} CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} $use_alternate_initrd 379 oe_runmake ${typeformake} ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
379 done 380 done
380} 381}
381 382
@@ -407,7 +408,7 @@ do_compile_kernelmodules() {
407 bbnote "KBUILD_BUILD_TIMESTAMP: $ts" 408 bbnote "KBUILD_BUILD_TIMESTAMP: $ts"
408 fi 409 fi
409 if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then 410 if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then
410 oe_runmake -C ${B} ${PARALLEL_MAKE} modules CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} 411 oe_runmake -C ${B} ${PARALLEL_MAKE} modules ${KERNEL_EXTRA_ARGS}
411 412
412 # Module.symvers gets updated during the 413 # Module.symvers gets updated during the
413 # building of the kernel modules. We need to 414 # building of the kernel modules. We need to
@@ -591,7 +592,7 @@ sysroot_stage_all () {
591 : 592 :
592} 593}
593 594
594KERNEL_CONFIG_COMMAND ?= "oe_runmake_call -C ${S} CC="${KERNEL_CC}" LD="${KERNEL_LD}" O=${B} olddefconfig || oe_runmake -C ${S} O=${B} CC="${KERNEL_CC}" LD="${KERNEL_LD}" oldnoconfig" 595KERNEL_CONFIG_COMMAND ?= "oe_runmake_call -C ${S} O=${B} olddefconfig || oe_runmake -C ${S} O=${B} oldnoconfig"
595 596
596python check_oldest_kernel() { 597python check_oldest_kernel() {
597 oldest_kernel = d.getVar('OLDEST_KERNEL') 598 oldest_kernel = d.getVar('OLDEST_KERNEL')
@@ -629,7 +630,7 @@ kernel_do_configure() {
629 630
630do_savedefconfig() { 631do_savedefconfig() {
631 bbplain "Saving defconfig to:\n${B}/defconfig" 632 bbplain "Saving defconfig to:\n${B}/defconfig"
632 oe_runmake -C ${B} LD='${KERNEL_LD}' savedefconfig 633 oe_runmake -C ${B} savedefconfig
633} 634}
634do_savedefconfig[nostamp] = "1" 635do_savedefconfig[nostamp] = "1"
635addtask savedefconfig after do_configure 636addtask savedefconfig after do_configure