From 893acbf19588ab35d6969d37069f74903fbf9f05 Mon Sep 17 00:00:00 2001 From: Ting Liu Date: Wed, 9 Oct 2013 07:33:08 +0000 Subject: [PATCH] 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 --- meta-fsl-ppc/recipes-kernel/asf/asf_git.bb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) 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 -- 2.40.1