From: Ting Liu Date: Wed, 9 Oct 2013 07:33:08 +0000 (+0000) Subject: asf: build as 64-bit kernel module on e6500 X-Git-Tag: 2.1~534^2~227 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=893acbf19588ab35d6969d37069f74903fbf9f05;p=meta-freescale.git asf: build as 64-bit kernel module on e6500 e6500 is built with 32b rootfs/64b kernel, build asf as 64bit too. Fix the below build issue on e6500 core: | DEBUG: Executing shell function do_make_scripts | make: Entering directory `.../tmp/sysroots/t4240qds/usr/src/kernel' | CC scripts/mod/empty.o | scripts/mod/empty.c:1:0: error: -mcmodel not supported in this configuration | make[2]: *** [scripts/mod/empty.o] Error 1 | make[1]: *** [scripts/mod] Error 2 | make: *** [scripts] Error 2 Signed-off-by: Ting Liu --- diff --git a/meta-fsl-ppc/recipes-kernel/asf/asf_git.bb b/meta-fsl-ppc/recipes-kernel/asf/asf_git.bb index 6a6917fa..e3fa8962 100644 --- a/meta-fsl-ppc/recipes-kernel/asf/asf_git.bb +++ b/meta-fsl-ppc/recipes-kernel/asf/asf_git.bb @@ -14,6 +14,25 @@ S = "${WORKDIR}/git/asfmodule" EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} KERNEL_PATH=${STAGING_KERNEL_DIR}" +python () { + ma = d.getVar("DISTRO_FEATURES", True) + arch = d.getVar("OVERRIDES", True) + + # the : after the arch is to skip the message on 64b + if not "multiarch" in ma and "e6500:" in arch: + raise bb.parse.SkipPackage("Building the kernel for this arch requires multiarch to be in DISTRO_FEATURES") + + promote_kernel = d.getVar('BUILD_64BIT_KERNEL') + + if promote_kernel == "1": + d.setVar('KERNEL_CC_append', ' -m64') + d.setVar('KERNEL_LD_append', ' -melf64ppc') + + error_qa = d.getVar('ERROR_QA', True) + if 'arch' in error_qa: + d.setVar('ERROR_QA', error_qa.replace(' arch', '')) +} + do_install(){ mkdir -p ${D}/usr/driver/asf cp -rf ${S}/bin/full ${D}/usr/driver/asf