mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00
kernel.bbclass, module-base.bbclass: Use CC to form KERNEL_CC
kernel compiler is not special and we currently have it so we want to pass -march and -mtune options as CFLAGS to kernel build so that compiler picks the right subarch flags when compiling assembly files in particular. Otherwise defaults are chosen which may not be right in many case e.g. when compiling kernel for collie machine we should use arch=armv4 but it uses toolchain/as defaults which is armv5te in some case e.g. thumb1 we know that kernel can not be compiled in thumb1 mode so we can provide that information e.g. -marm option through KERNEL_HOST_CC_ARCH variable as we do now (From OE-Core rev: c49f967384ccbfe131bbb33ee518014f3fc4b38f) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
e344f3e7d5
commit
a3ca06c3b4
|
@ -43,3 +43,16 @@ def map_uboot_arch(a, d):
|
|||
|
||||
export UBOOT_ARCH = "${@map_uboot_arch(d.getVar('ARCH', True), d)}"
|
||||
|
||||
# Set TARGET_??_KERNEL_ARCH in the machine .conf to set architecture
|
||||
# specific options necessary for building the kernel and modules.
|
||||
TARGET_CC_KERNEL_ARCH ?= ""
|
||||
HOST_CC_KERNEL_ARCH ?= "${TARGET_CC_KERNEL_ARCH}"
|
||||
TARGET_LD_KERNEL_ARCH ?= ""
|
||||
HOST_LD_KERNEL_ARCH ?= "${TARGET_LD_KERNEL_ARCH}"
|
||||
TARGET_AR_KERNEL_ARCH ?= ""
|
||||
HOST_AR_KERNEL_ARCH ?= "${TARGET_AR_KERNEL_ARCH}"
|
||||
|
||||
KERNEL_CC = "${CC} ${HOST_CC_KERNEL_ARCH}"
|
||||
KERNEL_LD = "${LD} ${HOST_LD_KERNEL_ARCH}"
|
||||
KERNEL_AR = "${AR} ${HOST_AR_KERNEL_ARCH}"
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
inherit linux-kernel-base module_strip
|
||||
|
||||
PROVIDES += "virtual/kernel"
|
||||
DEPENDS += "virtual/${TARGET_PREFIX}gcc kmod-native virtual/${TARGET_PREFIX}gcc${KERNEL_CCSUFFIX}"
|
||||
DEPENDS += "virtual/${TARGET_PREFIX}gcc kmod-native"
|
||||
|
||||
# we include gcc above, we dont need virtual/libc
|
||||
INHIBIT_DEFAULT_DEPS = "1"
|
||||
|
@ -37,20 +37,6 @@ KERNEL_PRIORITY ?= "${@int(d.getVar('PV',1).split('-')[0].split('+')[0].split('.
|
|||
|
||||
KERNEL_RELEASE ?= "${KERNEL_VERSION}"
|
||||
|
||||
KERNEL_CCSUFFIX ?= ""
|
||||
KERNEL_LDSUFFIX ?= ""
|
||||
|
||||
# Set TARGET_??_KERNEL_ARCH in the machine .conf to set architecture
|
||||
# specific options necessary for building the kernel and modules.
|
||||
#FIXME: should be this: TARGET_CC_KERNEL_ARCH ?= "${TARGET_CC_ARCH}"
|
||||
TARGET_CC_KERNEL_ARCH ?= ""
|
||||
HOST_CC_KERNEL_ARCH ?= "${TARGET_CC_KERNEL_ARCH}"
|
||||
TARGET_LD_KERNEL_ARCH ?= ""
|
||||
HOST_LD_KERNEL_ARCH ?= "${TARGET_LD_KERNEL_ARCH}"
|
||||
|
||||
KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH}${TOOLCHAIN_OPTIONS}"
|
||||
KERNEL_LD = "${HOST_PREFIX}ld${KERNEL_LDSUFFIX} ${HOST_LD_KERNEL_ARCH}${TOOLCHAIN_OPTIONS}"
|
||||
|
||||
# Where built kernel lies in the kernel tree
|
||||
KERNEL_OUTPUT ?= "arch/${ARCH}/boot/${KERNEL_IMAGETYPE}"
|
||||
KERNEL_IMAGEDEST = "boot"
|
||||
|
|
|
@ -7,22 +7,6 @@ export CROSS_COMPILE = "${TARGET_PREFIX}"
|
|||
|
||||
export KERNEL_VERSION = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion')}"
|
||||
KERNEL_OBJECT_SUFFIX = ".ko"
|
||||
KERNEL_CCSUFFIX = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-ccsuffix')}"
|
||||
KERNEL_LDSUFFIX = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-ldsuffix')}"
|
||||
KERNEL_ARSUFFIX = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-arsuffix')}"
|
||||
|
||||
# Set TARGET_??_KERNEL_ARCH in the machine .conf to set architecture
|
||||
# specific options necessary for building the kernel and modules.
|
||||
TARGET_CC_KERNEL_ARCH ?= ""
|
||||
HOST_CC_KERNEL_ARCH ?= "${TARGET_CC_KERNEL_ARCH}"
|
||||
TARGET_LD_KERNEL_ARCH ?= ""
|
||||
HOST_LD_KERNEL_ARCH ?= "${TARGET_LD_KERNEL_ARCH}"
|
||||
TARGET_AR_KERNEL_ARCH ?= ""
|
||||
HOST_AR_KERNEL_ARCH ?= "${TARGET_AR_KERNEL_ARCH}"
|
||||
|
||||
KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH}"
|
||||
KERNEL_LD = "${HOST_PREFIX}ld${KERNEL_LDSUFFIX} ${HOST_LD_KERNEL_ARCH}"
|
||||
KERNEL_AR = "${HOST_PREFIX}ar${KERNEL_ARSUFFIX} ${HOST_AR_KERNEL_ARCH}"
|
||||
|
||||
# kernel modules are generally machine specific
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
|
Loading…
Reference in New Issue
Block a user