summaryrefslogtreecommitdiffstats
path: root/meta/classes-recipe/kernel.bbclass
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-03 08:51:57 +0100
commit36035d2eb0ef9208c009b0a54e232cdfa5f7d6fe (patch)
tree23c89d9fd0e81c5364948555343769c7c575e996 /meta/classes-recipe/kernel.bbclass
parentaf03e804360547b79fa9b2d0c783ff0aa69abd23 (diff)
downloadpoky-36035d2eb0ef9208c009b0a54e232cdfa5f7d6fe.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: afe8c318843e4033dcc07e4f10198df241d8e4f6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes-recipe/kernel.bbclass')
-rw-r--r--meta/classes-recipe/kernel.bbclass13
1 files changed, 7 insertions, 6 deletions
diff --git a/meta/classes-recipe/kernel.bbclass b/meta/classes-recipe/kernel.bbclass
index 3463179395..0d3533363d 100644
--- a/meta/classes-recipe/kernel.bbclass
+++ b/meta/classes-recipe/kernel.bbclass
@@ -237,8 +237,9 @@ UBOOT_LOADADDRESS ?= "${UBOOT_ENTRYPOINT}"
237# Some Linux kernel configurations need additional parameters on the command line 237# Some Linux kernel configurations need additional parameters on the command line
238KERNEL_EXTRA_ARGS ?= "" 238KERNEL_EXTRA_ARGS ?= ""
239 239
240EXTRA_OEMAKE = " HOSTCC="${BUILD_CC}" HOSTCFLAGS="${BUILD_CFLAGS}" HOSTLDFLAGS="${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}"" 240EXTRA_OEMAKE += ' CC="${KERNEL_CC}" LD="${KERNEL_LD}"'
241EXTRA_OEMAKE += " HOSTCXX="${BUILD_CXX}" HOSTCXXFLAGS="${BUILD_CXXFLAGS}" PAHOLE=false" 241EXTRA_OEMAKE += ' HOSTCC="${BUILD_CC}" HOSTCFLAGS="${BUILD_CFLAGS}" HOSTLDFLAGS="${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}"'
242EXTRA_OEMAKE += ' HOSTCXX="${BUILD_CXX}" HOSTCXXFLAGS="${BUILD_CXXFLAGS}" PAHOLE=false'
242 243
243KERNEL_ALT_IMAGETYPE ??= "" 244KERNEL_ALT_IMAGETYPE ??= ""
244 245
@@ -381,7 +382,7 @@ kernel_do_compile() {
381 use_alternate_initrd=CONFIG_INITRAMFS_SOURCE=${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio 382 use_alternate_initrd=CONFIG_INITRAMFS_SOURCE=${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio
382 fi 383 fi
383 for typeformake in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do 384 for typeformake in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do
384 oe_runmake ${typeformake} CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} $use_alternate_initrd 385 oe_runmake ${typeformake} ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
385 done 386 done
386} 387}
387 388
@@ -413,7 +414,7 @@ do_compile_kernelmodules() {
413 bbnote "KBUILD_BUILD_TIMESTAMP: $ts" 414 bbnote "KBUILD_BUILD_TIMESTAMP: $ts"
414 fi 415 fi
415 if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then 416 if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then
416 oe_runmake -C ${B} ${PARALLEL_MAKE} modules CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} 417 oe_runmake -C ${B} ${PARALLEL_MAKE} modules ${KERNEL_EXTRA_ARGS}
417 418
418 # Module.symvers gets updated during the 419 # Module.symvers gets updated during the
419 # building of the kernel modules. We need to 420 # building of the kernel modules. We need to
@@ -597,7 +598,7 @@ sysroot_stage_all () {
597 : 598 :
598} 599}
599 600
600KERNEL_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" 601KERNEL_CONFIG_COMMAND ?= "oe_runmake_call -C ${S} O=${B} olddefconfig || oe_runmake -C ${S} O=${B} oldnoconfig"
601 602
602python check_oldest_kernel() { 603python check_oldest_kernel() {
603 oldest_kernel = d.getVar('OLDEST_KERNEL') 604 oldest_kernel = d.getVar('OLDEST_KERNEL')
@@ -635,7 +636,7 @@ kernel_do_configure() {
635 636
636do_savedefconfig() { 637do_savedefconfig() {
637 bbplain "Saving defconfig to:\n${B}/defconfig" 638 bbplain "Saving defconfig to:\n${B}/defconfig"
638 oe_runmake -C ${B} LD='${KERNEL_LD}' savedefconfig 639 oe_runmake -C ${B} savedefconfig
639} 640}
640do_savedefconfig[nostamp] = "1" 641do_savedefconfig[nostamp] = "1"
641addtask savedefconfig after do_configure 642addtask savedefconfig after do_configure