[meta-ti] [PATCH v2] linux-omap-psp 2.6.32: fix am37x-evm failing build
Vladimir Zapolskiy
vladimir_zapolskiy at mentor.com
Mon Jul 30 12:56:53 PDT 2012
Hi,
any comments about the issue? Should I firstly create a bug in
http://bugzilla.yoctoproject.org, if I want to fix the problem?
With best wishes,
Vladimir
On 24.07.2012 13:34, Vladimir Zapolskiy wrote:
> This change adds an additional patch to the Linux kernel to avoid a
> compilation time problem with recent toolchains:
>
> Error: selected processor does not support ARM mode `smc #0'
>
> With recent toolchains the `smc #0' instruction may be used either in
> assembler sources without .arch directive, or `.arch_extension sec' shall
> precede it.
>
> Signed-off-by: Vladimir Zapolskiy<vladimir_zapolskiy at mentor.com>
> ---
> Changes from v1 to v2:
> * instead of exclusion of problematic pathes this version fixes them,
> one more patch is added
>
> ...7-add-explicit-.arch_extension-into-assem.patch | 59 ++++++++++++++++++++
> recipes-kernel/linux/linux-omap-psp_2.6.32.bb | 1 +
> 2 files changed, 60 insertions(+)
> create mode 100644 recipes-kernel/linux/linux-omap-psp-2.6.32/0001-ARM-sysfs_v7-add-explicit-.arch_extension-into-assem.patch
>
> diff --git a/recipes-kernel/linux/linux-omap-psp-2.6.32/0001-ARM-sysfs_v7-add-explicit-.arch_extension-into-assem.patch b/recipes-kernel/linux/linux-omap-psp-2.6.32/0001-ARM-sysfs_v7-add-explicit-.arch_extension-into-assem.patch
> new file mode 100644
> index 0000000..438605f
> --- /dev/null
> +++ b/recipes-kernel/linux/linux-omap-psp-2.6.32/0001-ARM-sysfs_v7-add-explicit-.arch_extension-into-assem.patch
> @@ -0,0 +1,59 @@
> +From 9ef8994ca43905bfee6af59e0fb0cedde9872f6c Mon Sep 17 00:00:00 2001
> +From: Vladimir Zapolskiy<vladimir_zapolskiy at mentor.com>
> +Date: Mon, 23 Jul 2012 22:18:29 +0300
> +Subject: [PATCH] ARM: sysfs_v7: add explicit .arch_extension into assembler
> + code
> +
> +The change fixes a compilation problem with binutils-2.21 or higher:
> +
> + Error: selected processor does not support ARM mode `smc #0'
> +
> +With recent toolchains the `smc #0' instruction may be used either in
> +assembler sources without .arch directive, or `.arch_extension sec' shall
> +precede it.
> +
> +Signed-off-by: Vladimir Zapolskiy<vladimir_zapolskiy at mentor.com>
> +---
> + arch/arm/kernel/Makefile | 1 +
> + arch/arm/kernel/sysfs_v7.c | 6 ++++++
> + 2 files changed, 7 insertions(+)
> +
> +diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile
> +index ee20134..bb3bc7e 100644
> +--- a/arch/arm/kernel/Makefile
> ++++ b/arch/arm/kernel/Makefile
> +@@ -39,6 +39,7 @@ obj-$(CONFIG_KGDB) += kgdb.o
> + obj-$(CONFIG_ARM_UNWIND) += unwind.o
> + obj-$(CONFIG_HAVE_TCM) += tcm.o
> + obj-$(CONFIG_CPU_V7_SYSFS) += sysfs_v7.o
> ++CFLAGS_sysfs_v7.o :=$(call as-instr,.arch_extension sec,-DREQUIRES_SEC=1)
> +
> + obj-$(CONFIG_CRUNCH) += crunch.o crunch-bits.o
> + AFLAGS_crunch-bits.o := -Wa,-mcpu=ep9312
> +diff --git a/arch/arm/kernel/sysfs_v7.c b/arch/arm/kernel/sysfs_v7.c
> +index 5ed32fb..d357b52 100644
> +--- a/arch/arm/kernel/sysfs_v7.c
> ++++ b/arch/arm/kernel/sysfs_v7.c
> +@@ -78,6 +78,9 @@ static ssize_t aux_ctl_store(struct sys_device *dev,
> + val&= ~2;
> + asm ("mov r0, %0 \n\t"
> + "mov r12, #3 \n\t"
> ++#ifdef REQUIRES_SEC
> ++ ".arch_extension sec\n\t"
> ++#endif
> + "smc #0 \n\t"
> + :: "r"(val) : "r0", "r12");
> +
> +@@ -109,6 +112,9 @@ static ssize_t l2_aux_ctl_store(struct sys_device *dev,
> + SETBITS(val, 0xbc00000, new);
> + asm ("mov r0, %0 \n\t"
> + "mov r12, #2 \n\t"
> ++#ifdef REQUIRES_SEC
> ++ ".arch_extension sec\n\t"
> ++#endif
> + "smc #0 \n\t"
> + :: "r"(val) : "r0", "r12");
> +
> +--
> +1.7.10
> +
> diff --git a/recipes-kernel/linux/linux-omap-psp_2.6.32.bb b/recipes-kernel/linux/linux-omap-psp_2.6.32.bb
> index 61fc24f..2cfad0c 100644
> --- a/recipes-kernel/linux/linux-omap-psp_2.6.32.bb
> +++ b/recipes-kernel/linux/linux-omap-psp_2.6.32.bb
> @@ -139,6 +139,7 @@ SRC_URI += "git://arago-project.org/git/projects/linux-omap3.git;protocol=git;br
> file://0001-PSP-3.0.1.6-kernel-source-patched-with-OCF-Linux.patch \
> file://porches.patch \
> file://0001-cgroupfs-create-sys-fs-cgroup-to-mount-cgroupfs-on.patch \
> + file://0001-ARM-sysfs_v7-add-explicit-.arch_extension-into-assem.patch \
> file://defconfig"
>
> SRC_URI_append_beagleboard = " file://logo_linux_clut224.ppm \
More information about the meta-ti
mailing list