Patchwork [RFC] conf/machine/include/arm add extra MACHINEOVERRIDES like x86 does

login
register
mail settings
Submitter Martin Jansa
Date Dec. 7, 2011, 6:04 p.m.
Message ID <1323281084-30590-1-git-send-email-Martin.Jansa@gmail.com>
Download mbox | patch
Permalink /patch/16409/
State Accepted
Commit e3e1fef27345e2ea923b76b1e6bcb9cd5572cec6
Headers show

Comments

Martin Jansa - Dec. 7, 2011, 6:04 p.m.
* motivated by this NAK
  http://patchwork.openembedded.org/patch/15777/
  and today's discussion on #yocto I hope it's worth it to send this RFC

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta/conf/machine/include/arm/arch-armv4.inc  |    1 +
 meta/conf/machine/include/arm/arch-armv5.inc  |    1 +
 meta/conf/machine/include/arm/arch-armv6.inc  |    1 +
 meta/conf/machine/include/arm/arch-armv7.inc  |    1 +
 meta/conf/machine/include/arm/arch-armv7a.inc |    1 +
 5 files changed, 5 insertions(+), 0 deletions(-)
Martin Jansa - Dec. 8, 2011, 3:48 p.m.
On Wed, Dec 07, 2011 at 07:04:44PM +0100, Martin Jansa wrote:
> * motivated by this NAK
>   http://patchwork.openembedded.org/patch/15777/
>   and today's discussion on #yocto I hope it's worth it to send this RFC

FWIW some armv6/armv7a overrides are already used in oe-core 

meta/conf/bitbake.conf:QEMU_OPTIONS_armv6   = "-cpu arm1136"
meta/conf/bitbake.conf:QEMU_OPTIONS_armv7a   = "-cpu cortex-a8"
meta/recipes-devtools/python/python_2.7.2.bb:TARGET_CC_ARCH_append_armv6 = " -D__SOFTFP__"
meta/recipes-devtools/python/python_2.7.2.bb:TARGET_CC_ARCH_append_armv7a = " -D__SOFTFP__"
meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb:EXTRA_OECONF_armv7a = " --enable-neon "
meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb:do_compile_prepend_armv7a () {

And also armv6-vfp
meta/recipes-qt/qt4/qt4-embedded_4.7.4.bb:QT_CONFIG_FLAGS_append_armv6-vfp = " -no-neon "
meta/recipes-qt/qt4/qt4-x11-free_4.7.4.bb:QT_CONFIG_FLAGS_append_armv6-vfp = " -no-neon "

Cheers,
Martin Jansa - Dec. 13, 2011, 8:10 a.m.
On Wed, Dec 07, 2011 at 07:04:44PM +0100, Martin Jansa wrote:
> * motivated by this NAK
>   http://patchwork.openembedded.org/patch/15777/
>   and today's discussion on #yocto I hope it's worth it to send this RFC

ping?
Richard Purdie - Dec. 13, 2011, 12:31 p.m.
On Wed, 2011-12-07 at 19:04 +0100, Martin Jansa wrote:
> * motivated by this NAK
>   http://patchwork.openembedded.org/patch/15777/
>   and today's discussion on #yocto I hope it's worth it to send this RFC
> 
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
>  meta/conf/machine/include/arm/arch-armv4.inc  |    1 +
>  meta/conf/machine/include/arm/arch-armv5.inc  |    1 +
>  meta/conf/machine/include/arm/arch-armv6.inc  |    1 +
>  meta/conf/machine/include/arm/arch-armv7.inc  |    1 +
>  meta/conf/machine/include/arm/arch-armv7a.inc |    1 +
>  5 files changed, 5 insertions(+), 0 deletions(-)

Merged to master, thanks.

I assume you'll follow up and tweak the overrides in OE-Core to match
this?

Cheers,

Richard
Khem Raj - Dec. 13, 2011, 8:01 p.m.
On Thu, Dec 8, 2011 at 7:48 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
>
> meta/recipes-devtools/python/python_2.7.2.bb:TARGET_CC_ARCH_append_armv6 = " -D__SOFTFP__"
> meta/recipes-devtools/python/python_2.7.2.bb:TARGET_CC_ARCH_append_armv7a = " -D__SOFTFP__"

hmmm will this work if we have armv7-a + hard float ABI ?

> meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb:EXTRA_OECONF_armv7a = " --enable-neon "
Koen Kooi - Dec. 15, 2011, 9:29 a.m.
Op 13 dec. 2011, om 21:01 heeft Khem Raj het volgende geschreven:

> On Thu, Dec 8, 2011 at 7:48 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
>> 
>> meta/recipes-devtools/python/python_2.7.2.bb:TARGET_CC_ARCH_append_armv6 = " -D__SOFTFP__"
>> meta/recipes-devtools/python/python_2.7.2.bb:TARGET_CC_ARCH_append_armv7a = " -D__SOFTFP__"
> 
> hmmm will this work if we have armv7-a + hard float ABI ?

Or a better question: is it still needed or is ffi still broken?


> 
>> meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb:EXTRA_OECONF_armv7a = " --enable-neon "
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Martin Jansa - Dec. 15, 2011, 1:06 p.m.
On Thu, Dec 15, 2011 at 10:29:17AM +0100, Koen Kooi wrote:
> 
> Op 13 dec. 2011, om 21:01 heeft Khem Raj het volgende geschreven:
> 
> > On Thu, Dec 8, 2011 at 7:48 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
> >> 
> >> meta/recipes-devtools/python/python_2.7.2.bb:TARGET_CC_ARCH_append_armv6 = " -D__SOFTFP__"
> >> meta/recipes-devtools/python/python_2.7.2.bb:TARGET_CC_ARCH_append_armv7a = " -D__SOFTFP__"
> > 
> > hmmm will this work if we have armv7-a + hard float ABI ?
> 
> Or a better question: is it still needed or is ffi still broken?

What exactly was the issue? I didn't have this override since starting
shr-core and I haven't noticed any issues with python/libffi on
nokia900.

Regards,
Koen Kooi - Dec. 15, 2011, 3:03 p.m.
Op 15 dec. 2011, om 14:06 heeft Martin Jansa het volgende geschreven:

> On Thu, Dec 15, 2011 at 10:29:17AM +0100, Koen Kooi wrote:
>> 
>> Op 13 dec. 2011, om 21:01 heeft Khem Raj het volgende geschreven:
>> 
>>> On Thu, Dec 8, 2011 at 7:48 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
>>>> 
>>>> meta/recipes-devtools/python/python_2.7.2.bb:TARGET_CC_ARCH_append_armv6 = " -D__SOFTFP__"
>>>> meta/recipes-devtools/python/python_2.7.2.bb:TARGET_CC_ARCH_append_armv7a = " -D__SOFTFP__"
>>> 
>>> hmmm will this work if we have armv7-a + hard float ABI ?
>> 
>> Or a better question: is it still needed or is ffi still broken?
> 
> What exactly was the issue? I didn't have this override since starting
> shr-core and I haven't noticed any issues with python/libffi on
> nokia900.

It breaks at runtime when you try to use it, but I forget which module triggers it. I suspect numpy, maybe philip remembers it.

Patch

diff --git a/meta/conf/machine/include/arm/arch-armv4.inc b/meta/conf/machine/include/arm/arch-armv4.inc
index c014d20..a09c323 100644
--- a/meta/conf/machine/include/arm/arch-armv4.inc
+++ b/meta/conf/machine/include/arm/arch-armv4.inc
@@ -4,6 +4,7 @@  ARMPKGARCH ?= "armv4"
 
 TUNEVALID[armv4] = "Enable instructions for ARMv4"
 TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "armv4", "-march=armv4${ARMPKGSFX_THUMB}", "", d)}"
+MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "armv4", ":armv4", "" ,d)}"
 
 require conf/machine/include/arm/arch-arm.inc
 require conf/machine/include/arm/feature-arm-thumb.inc
diff --git a/meta/conf/machine/include/arm/arch-armv5.inc b/meta/conf/machine/include/arm/arch-armv5.inc
index 55cbe03..fd3490f 100644
--- a/meta/conf/machine/include/arm/arch-armv5.inc
+++ b/meta/conf/machine/include/arm/arch-armv5.inc
@@ -5,6 +5,7 @@  ARMPKGARCH ?= "armv5"
 TUNEVALID[armv5] = "Enable instructions for ARMv5"
 TUNE_CONFLICTS[armv5] = "armv4"
 TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "armv5", "-march=armv5${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}", "", d)}"
+MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "armv5", ":armv5", "" ,d)}"
 
 ARMPKGSFX_DSP = "${@bb.utils.contains("TUNE_FEATURES", [ "armv5", "dsp" ], "e", "", d)}"
 
diff --git a/meta/conf/machine/include/arm/arch-armv6.inc b/meta/conf/machine/include/arm/arch-armv6.inc
index 9f2e9ac..da8274e 100644
--- a/meta/conf/machine/include/arm/arch-armv6.inc
+++ b/meta/conf/machine/include/arm/arch-armv6.inc
@@ -5,6 +5,7 @@  ARMPKGARCH ?= "armv6"
 TUNEVALID[armv6] = "Enable instructions for ARMv6"
 TUNE_CONFLICTS[armv6] = "armv4 armv5"
 TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "armv6", "-march=armv6", "", d)}"
+MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "armv6", ":armv6", "" ,d)}"
 
 require conf/machine/include/arm/arch-armv5-dsp.inc
 
diff --git a/meta/conf/machine/include/arm/arch-armv7.inc b/meta/conf/machine/include/arm/arch-armv7.inc
index 8bc8d10..98481aa 100644
--- a/meta/conf/machine/include/arm/arch-armv7.inc
+++ b/meta/conf/machine/include/arm/arch-armv7.inc
@@ -5,6 +5,7 @@  ARMPKGARCH ?= "armv7"
 TUNEVALID[armv7] = "Enable instructions for ARMv7"
 TUNE_CONFLICTS[armv7] = "armv4 armv5 armv6"
 TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "armv7", "-march=armv7", "", d)}"
+MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "armv7", ":armv7", "" ,d)}"
 
 require conf/machine/include/arm/arch-armv6.inc
 require conf/machine/include/arm/feature-arm-neon.inc
diff --git a/meta/conf/machine/include/arm/arch-armv7a.inc b/meta/conf/machine/include/arm/arch-armv7a.inc
index d508352..de39cb5 100644
--- a/meta/conf/machine/include/arm/arch-armv7a.inc
+++ b/meta/conf/machine/include/arm/arch-armv7a.inc
@@ -5,6 +5,7 @@  ARMPKGARCH ?= "armv7a"
 TUNEVALID[armv7-a] = "Enable instructions for ARMv7-a"
 TUNE_CONFLICTS[armv7a] = "armv4 armv5 armv6 armv7"
 TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "armv7a", "-march=armv7-a -fno-tree-vectorize", "", d)}"
+MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "armv7a", ":armv7a", "" ,d)}"
 
 require conf/machine/include/arm/arch-armv7.inc