[meta-freescale] [meta-fsl-ppc][PATCH] lttng-modules: build as 64-bit kernel module on e6500

b40290 at freescale.com b40290 at freescale.com
Thu Dec 12 23:47:44 PST 2013


From: Chunrong Guo <B40290 at freescale.com>

   *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: Chunrong Guo <B40290 at freescale.com>
---
 recipes-kernel/lttng/lttng-modules_2.3.3.bbappend |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)
 create mode 100644 recipes-kernel/lttng/lttng-modules_2.3.3.bbappend

diff --git a/recipes-kernel/lttng/lttng-modules_2.3.3.bbappend b/recipes-kernel/lttng/lttng-modules_2.3.3.bbappend
new file mode 100644
index 0000000..0452d7c
--- /dev/null
+++ b/recipes-kernel/lttng/lttng-modules_2.3.3.bbappend
@@ -0,0 +1,21 @@
+PRINC := "${@int(PRINC) + 1}"
+
+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', ''))
+}
+
-- 
1.7.5.4




More information about the meta-freescale mailing list