diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-09-02 15:12:41 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-09-03 08:51:57 +0100 |
commit | 36035d2eb0ef9208c009b0a54e232cdfa5f7d6fe (patch) | |
tree | 23c89d9fd0e81c5364948555343769c7c575e996 /meta/classes-recipe/kernel.bbclass | |
parent | af03e804360547b79fa9b2d0c783ff0aa69abd23 (diff) | |
download | poky-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.bbclass | 13 |
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 |
238 | KERNEL_EXTRA_ARGS ?= "" | 238 | KERNEL_EXTRA_ARGS ?= "" |
239 | 239 | ||
240 | EXTRA_OEMAKE = " HOSTCC="${BUILD_CC}" HOSTCFLAGS="${BUILD_CFLAGS}" HOSTLDFLAGS="${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}"" | 240 | EXTRA_OEMAKE += ' CC="${KERNEL_CC}" LD="${KERNEL_LD}"' |
241 | EXTRA_OEMAKE += " HOSTCXX="${BUILD_CXX}" HOSTCXXFLAGS="${BUILD_CXXFLAGS}" PAHOLE=false" | 241 | EXTRA_OEMAKE += ' HOSTCC="${BUILD_CC}" HOSTCFLAGS="${BUILD_CFLAGS}" HOSTLDFLAGS="${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}"' |
242 | EXTRA_OEMAKE += ' HOSTCXX="${BUILD_CXX}" HOSTCXXFLAGS="${BUILD_CXXFLAGS}" PAHOLE=false' | ||
242 | 243 | ||
243 | KERNEL_ALT_IMAGETYPE ??= "" | 244 | KERNEL_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 | ||
600 | KERNEL_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" | 601 | KERNEL_CONFIG_COMMAND ?= "oe_runmake_call -C ${S} O=${B} olddefconfig || oe_runmake -C ${S} O=${B} oldnoconfig" |
601 | 602 | ||
602 | python check_oldest_kernel() { | 603 | python 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 | ||
636 | do_savedefconfig() { | 637 | do_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 | } |
640 | do_savedefconfig[nostamp] = "1" | 641 | do_savedefconfig[nostamp] = "1" |
641 | addtask savedefconfig after do_configure | 642 | addtask savedefconfig after do_configure |