Fixes for ARM tune files
cover Fixes for ARM tune files
Here is couple of fixes for ARM tune files:
* 1st and 2nd fix issues caused by my last tune patchset.
* 3rd and 4th are fixing issues which were there for long time, just overlooked
* 5th is just formal change which makes it easier to spot copy&paste issues
* 6th is fix for SIGILL on armv4t and higher
* 7th and 8th add more possible DEFAULTTUNE values for cortexa* and armv6 without vfp
To make sure there are no issues I've tested not only few selected tune/machine combinations, but all of them with simple script
http://git.openembedded.org/openembedded-core-contrib/tree/scripts/tune/test.sh?h=jansa/tune2-test
You can see available tunes in:
http://git.openembedded.org/openembedded-core-contrib/tree/scripts/tune/availtunes?h=jansa/tune2-test
And available PACKAGE_ARCHS in:
http://git.openembedded.org/openembedded-core-contrib/tree/scripts/tune/packagearchs?h=jansa/tune2-test
Or all bitbake -e logs in
http://git.openembedded.org/openembedded-core-contrib/tree/scripts/tune?h=jansa/tune2-test
The following changes since commit 99f003356be43bb361634359a5d3c520f72f0a08:
local.conf.sample: Enable disk space monitoring by default (2012-11-28 15:25:14 +0000)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib jansa/tune-fix
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=jansa/tune-fix
Martin Jansa (7):
tune-cortexa*, tune-xscale: fix ARMPKGARCH
tune-*: add PACKAGE_EXTRA_ARCHS entries starting with specific
ARMPKGARCH
arch-armv5: fix missing thumb TUNE_FEATURE in armv5t-vfp and
following tunes
arch-armv[457]*: fix PACKAGE_EXTRA_ARCHS for bigendian TUNEs arch-arm*: unify appending to TUNE_FEATURES arch-armv4.inc: add --fix-v4bx to TARGET_LD_KERNEL_ARCH only for
armv4 and strongarm1100
tune-cortexa*: add another TUNE which allows to enable cortexa*
together with thumb and neon
Víctor Enríquez (1):
arch-armv6: add tunes without vfp enabled
meta/conf/machine/include/arm/arch-armv4.inc | 13 +++++++--- meta/conf/machine/include/arm/arch-armv5-dsp.inc | 13 +++++----- meta/conf/machine/include/arm/arch-armv5.inc | 20 +++++++------- meta/conf/machine/include/arm/arch-armv6.inc | 33 ++++++++++++++++-------- meta/conf/machine/include/arm/arch-armv7a.inc | 23 ++++++++--------- meta/conf/machine/include/tune-arm1136jf-s.inc | 2 +- meta/conf/machine/include/tune-arm920t.inc | 3 +-- meta/conf/machine/include/tune-arm926ejs.inc | 2 +- meta/conf/machine/include/tune-arm9tdmi.inc | 3 +-- meta/conf/machine/include/tune-cortexa8.inc | 32 +++++++++++++---------- meta/conf/machine/include/tune-cortexa9.inc | 32 +++++++++++++---------- meta/conf/machine/include/tune-cortexm1.inc | 3 +-- meta/conf/machine/include/tune-cortexm3.inc | 1 - meta/conf/machine/include/tune-ep9312.inc | 1 + meta/conf/machine/include/tune-iwmmxt.inc | 2 +- meta/conf/machine/include/tune-strongarm1100.inc | 4 +-- meta/conf/machine/include/tune-xscale.inc | 6 ++--- 17 files changed, 106 insertions(+), 87 deletions(-)
Signature · 1 line
1.8.0
PATCH 1/8 tune-cortexa*, tune-xscale: fix ARMPKGARCH
* hf/t/neon/b suffix is added by other ARMPKGSFX* variables, should not be part of ARMPKGARCH, otherwise resulting TUNE_PKGARCH have that suffix twice, e.g. cortexa8hf-neonhf-neon
--- meta/conf/machine/include/tune-cortexa8.inc | 10 +++++----- meta/conf/machine/include/tune-cortexa9.inc | 10 +++++----- meta/conf/machine/include/tune-xscale.inc | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-)
meta/conf/machine/include/tune-cortexa8.inc +5 -5
@@ -8,8 +8,8 @@ TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "cortexa8", "-mtune=cortex # Little Endian base configs AVAILTUNES += "cortexa8 cortexa8t cortexa8-neon" ARMPKGARCH_tune-cortexa8 = "cortexa8" -ARMPKGARCH_tune-cortexa8t = "cortexa8t" -ARMPKGARCH_tune-cortexa8-neon = "cortexa8-neon" +ARMPKGARCH_tune-cortexa8t = "cortexa8" +ARMPKGARCH_tune-cortexa8-neon = "cortexa8" TUNE_FEATURES_tune-cortexa8 = "${TUNE_FEATURES_tune-armv7a} cortexa8" TUNE_FEATURES_tune-cortexa8t = "${TUNE_FEATURES_tune-armv7at} cortexa8" TUNE_FEATURES_tune-cortexa8-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa8"
@@ -19,9 +19,9 @@ PACKAGE_EXTRA_ARCHS_tune-cortexa8-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon # VFP Tunes AVAILTUNES += "cortexa8hf cortexa8thf cortexa8hf-neon" -ARMPKGARCH_tune-cortexa8hf = "cortexa8hf" -ARMPKGARCH_tune-cortexa8thf = "cortexa8thf" -ARMPKGARCH_tune-cortexa8hf-neon = "cortexa8hf-neon" +ARMPKGARCH_tune-cortexa8hf = "cortexa8" +ARMPKGARCH_tune-cortexa8thf = "cortexa8" +ARMPKGARCH_tune-cortexa8hf-neon = "cortexa8" TUNE_FEATURES_tune-cortexa8hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa8" TUNE_FEATURES_tune-cortexa8thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa8" TUNE_FEATURES_tune-cortexa8hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa8"
meta/conf/machine/include/tune-cortexa9.inc +5 -5
@@ -8,8 +8,8 @@ TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "cortexa9", "-mtune=cortex # Little Endian base configs AVAILTUNES += "cortexa9 cortexa9t cortexa9-neon" ARMPKGARCH_tune-cortexa9 = "cortexa9" -ARMPKGARCH_tune-cortexa9t = "cortexa9t" -ARMPKGARCH_tune-cortexa9-neon = "cortexa9-neon" +ARMPKGARCH_tune-cortexa9t = "cortexa9" +ARMPKGARCH_tune-cortexa9-neon = "cortexa9" TUNE_FEATURES_tune-cortexa9 = "${TUNE_FEATURES_tune-armv7a} cortexa9" TUNE_FEATURES_tune-cortexa9t = "${TUNE_FEATURES_tune-armv7at} cortexa9" TUNE_FEATURES_tune-cortexa9-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa9"
@@ -19,9 +19,9 @@ PACKAGE_EXTRA_ARCHS_tune-cortexa9-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon # VFP Tunes AVAILTUNES += "cortexa9hf cortexa9thf cortexa9hf-neon" -ARMPKGARCH_tune-cortexa9hf = "cortexa9hf" -ARMPKGARCH_tune-cortexa9thf = "cortexa9thf" -ARMPKGARCH_tune-cortexa9hf-neon = "cortexa9hf-neon" +ARMPKGARCH_tune-cortexa9hf = "cortexa9" +ARMPKGARCH_tune-cortexa9thf = "cortexa9" +ARMPKGARCH_tune-cortexa9hf-neon = "cortexa9" TUNE_FEATURES_tune-cortexa9hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa9" TUNE_FEATURES_tune-cortexa9thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa9" TUNE_FEATURES_tune-cortexa9hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa9"
meta/conf/machine/include/tune-xscale.inc +1 -1
@@ -11,7 +11,7 @@ TUNE_FEATURES_tune-xscale = "${TUNE_FEATURES_tune-armv5te} xscale" PACKAGE_EXTRA_ARCHS_tune-xscale = "${PACKAGE_EXTRA_ARCHS_tune-armv5te}" AVAILTUNES += "xscale-be" -ARMPKGARCH_tune-xscale-be = "xscale-be" +ARMPKGARCH_tune-xscale-be = "xscale" TUNE_FEATURES_tune-xscale-be = "${TUNE_FEATURES_tune-armv5teb} xscale bigendian" PACKAGE_EXTRA_ARCHS_tune-xscale-be = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb}"
Signature · 1 line
1.8.0
PATCH 2/8 tune-*: add PACKAGE_EXTRA_ARCHS entries starting with specific ARMPKGARCH
In reply to Martin Jansa* e.g. arm926ejs DEFAULT tune is compatible with all PACKAGE_EXTRA_ARCHS_tune-armv5te, but needs to list arm926ejs with all possible suffixes too
--- meta/conf/machine/include/tune-arm1136jf-s.inc | 2 +- meta/conf/machine/include/tune-arm920t.inc | 3 +-- meta/conf/machine/include/tune-arm926ejs.inc | 2 +- meta/conf/machine/include/tune-arm9tdmi.inc | 3 +-- meta/conf/machine/include/tune-cortexa8.inc | 12 ++++++------ meta/conf/machine/include/tune-cortexa9.inc | 12 ++++++------ meta/conf/machine/include/tune-cortexm1.inc | 3 +-- meta/conf/machine/include/tune-cortexm3.inc | 1 - meta/conf/machine/include/tune-ep9312.inc | 1 + meta/conf/machine/include/tune-iwmmxt.inc | 2 +- meta/conf/machine/include/tune-strongarm1100.inc | 4 +--- meta/conf/machine/include/tune-xscale.inc | 4 ++-- 12 files changed, 22 insertions(+), 27 deletions(-)
meta/conf/machine/include/tune-arm1136jf-s.inc +1 -1
@@ -8,4 +8,4 @@ TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "arm1136jfs", "-mtune=arm1 AVAILTUNES += "arm1136jfs" ARMPKGARCH_tune-arm1136jfs = "arm1136jfs" TUNE_FEATURES_tune-arm1136jfs = "${TUNE_FEATURES_tune-armv6} arm1136jfs" -PACKAGE_EXTRA_ARCHS_tune-arm1136jfs = "${PACKAGE_EXTRA_ARCHS_tune-armv6}" +PACKAGE_EXTRA_ARCHS_tune-arm1136jfs = "${PACKAGE_EXTRA_ARCHS_tune-armv6} arm1136jfs-vfp"
meta/conf/machine/include/tune-arm920t.inc +1 -2
@@ -8,5 +8,4 @@ TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "arm920t", "-mtune=arm920t AVAILTUNES += "arm920t" ARMPKGARCH_tune-arm920t = "arm920t" TUNE_FEATURES_tune-arm920t = "${TUNE_FEATURES_tune-armv4t} arm920t" -PACKAGE_EXTRA_ARCHS_tune-arm920t = "${PACKAGE_EXTRA_ARCHS_tune-armv4t}" - +PACKAGE_EXTRA_ARCHS_tune-arm920t = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} arm920tt"
meta/conf/machine/include/tune-arm926ejs.inc +1 -1
@@ -8,4 +8,4 @@ TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "arm926ejs", "-mtune=arm92 AVAILTUNES += "arm926ejs" ARMPKGARCH_tune-arm926ejs = "arm926ejs" TUNE_FEATURES_tune-arm926ejs = "${TUNE_FEATURES_tune-armv5te} arm926ejs" -PACKAGE_EXTRA_ARCHS_tune-arm926ejs = "${PACKAGE_EXTRA_ARCHS_tune-armv5te}" +PACKAGE_EXTRA_ARCHS_tune-arm926ejs = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} arm926ejste"
meta/conf/machine/include/tune-arm9tdmi.inc +1 -2
@@ -8,5 +8,4 @@ TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "arm9tdmi", "-mtune=arm9td AVAILTUNES += "arm9tdmi" ARMPKGARCH_tune-arm9tdmi = "arm9tdmi" TUNE_FEATURES_tune-arm9tdmi = "${TUNE_FEATURES_tune-armv4t} arm9tdmi" -PACKAGE_EXTRA_ARCHS_tune-arm9tdmi = "${PACKAGE_EXTRA_ARCHS_tune-armv4t}" - +PACKAGE_EXTRA_ARCHS_tune-arm9tdmi = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} arm9tdmit"
meta/conf/machine/include/tune-cortexa8.inc +6 -6
@@ -13,9 +13,9 @@ ARMPKGARCH_tune-cortexa8-neon = "cortexa8" TUNE_FEATURES_tune-cortexa8 = "${TUNE_FEATURES_tune-armv7a} cortexa8" TUNE_FEATURES_tune-cortexa8t = "${TUNE_FEATURES_tune-armv7at} cortexa8" TUNE_FEATURES_tune-cortexa8-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa8" -PACKAGE_EXTRA_ARCHS_tune-cortexa8 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a}" -PACKAGE_EXTRA_ARCHS_tune-cortexa8t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at}" -PACKAGE_EXTRA_ARCHS_tune-cortexa8-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon}" +PACKAGE_EXTRA_ARCHS_tune-cortexa8 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa8-vfp" +PACKAGE_EXTRA_ARCHS_tune-cortexa8t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa8-vfp cortexa8t2-vfp" +PACKAGE_EXTRA_ARCHS_tune-cortexa8-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa8-vfp cortexa8-vfp-neon" # VFP Tunes AVAILTUNES += "cortexa8hf cortexa8thf cortexa8hf-neon"
@@ -25,6 +25,6 @@ ARMPKGARCH_tune-cortexa8hf-neon = "cortexa8" TUNE_FEATURES_tune-cortexa8hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa8" TUNE_FEATURES_tune-cortexa8thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa8" TUNE_FEATURES_tune-cortexa8hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa8" -PACKAGE_EXTRA_ARCHS_tune-cortexa8hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf}" -PACKAGE_EXTRA_ARCHS_tune-cortexa8thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf}" -PACKAGE_EXTRA_ARCHS_tune-cortexa8hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon}" +PACKAGE_EXTRA_ARCHS_tune-cortexa8hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa8hf-vfp" +PACKAGE_EXTRA_ARCHS_tune-cortexa8thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa8hf-vfp cortexa8t2hf-vfp" +PACKAGE_EXTRA_ARCHS_tune-cortexa8hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa8hf-vfp cortexa8hf-vfp-neon"
meta/conf/machine/include/tune-cortexa9.inc +6 -6
@@ -13,9 +13,9 @@ ARMPKGARCH_tune-cortexa9-neon = "cortexa9" TUNE_FEATURES_tune-cortexa9 = "${TUNE_FEATURES_tune-armv7a} cortexa9" TUNE_FEATURES_tune-cortexa9t = "${TUNE_FEATURES_tune-armv7at} cortexa9" TUNE_FEATURES_tune-cortexa9-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa9" -PACKAGE_EXTRA_ARCHS_tune-cortexa9 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a}" -PACKAGE_EXTRA_ARCHS_tune-cortexa9t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at}" -PACKAGE_EXTRA_ARCHS_tune-cortexa9-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon}" +PACKAGE_EXTRA_ARCHS_tune-cortexa9 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa9-vfp" +PACKAGE_EXTRA_ARCHS_tune-cortexa9t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa9-vfp cortexa9t2-vfp" +PACKAGE_EXTRA_ARCHS_tune-cortexa9-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa9-vfp cortexa9-vfp-neon" # VFP Tunes AVAILTUNES += "cortexa9hf cortexa9thf cortexa9hf-neon"
@@ -25,6 +25,6 @@ ARMPKGARCH_tune-cortexa9hf-neon = "cortexa9" TUNE_FEATURES_tune-cortexa9hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa9" TUNE_FEATURES_tune-cortexa9thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa9" TUNE_FEATURES_tune-cortexa9hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa9" -PACKAGE_EXTRA_ARCHS_tune-cortexa9hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf}" -PACKAGE_EXTRA_ARCHS_tune-cortexa9thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf}" -PACKAGE_EXTRA_ARCHS_tune-cortexa9hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon}" +PACKAGE_EXTRA_ARCHS_tune-cortexa9hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa9hf-vfp" +PACKAGE_EXTRA_ARCHS_tune-cortexa9thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa9hf-vfp cortexa9t2hf-vfp" +PACKAGE_EXTRA_ARCHS_tune-cortexa9hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa9hf-vfp cortexa9hf-vfp-neon"
meta/conf/machine/include/tune-cortexm1.inc +1 -2
@@ -8,5 +8,4 @@ TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "cortexm1", "-mtune=cortex AVAILTUNES += "cortexm1" ARMPKGARCH_tune-cortexm1 = "cortexm1" TUNE_FEATURES_tune-cortexm1 = "${TUNE_FEATURES_tune-armv7a} cortexm1" -PACKAGE_EXTRA_ARCHS_tune-cortexm1 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at}" - +PACKAGE_EXTRA_ARCHS_tune-cortexm1 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexm1-vfp"
meta/conf/machine/include/tune-cortexm3.inc +0 -1
@@ -12,4 +12,3 @@ AVAILTUNES += "cortexm3" ARMPKGARCH_tune-cortexm3 = "armv7m" TUNE_FEATURES_tune-cortexm3 = "armv7m vfp cortexm3" PACKAGE_EXTRA_ARCHS_tune-cortexm3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7m-vfp" -
meta/conf/machine/include/tune-ep9312.inc +1 -0
@@ -7,5 +7,6 @@ TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ep9312", "-march=ep9312 - AVAILTUNES += "ep9312" ARMPKGARCH_tune-ep9312 = "ep9312" +# this tune does not include TUNE_FEATURES_tune-armv4t, so there is no armv4 TUNE_FEATURES => no 't' in ARMPKGSFX_THUMB TUNE_FEATURES_tune-ep9312 = "thumb ep9312" PACKAGE_EXTRA_ARCHS_tune-ep9312 = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} ep9312"
meta/conf/machine/include/tune-iwmmxt.inc +1 -1
@@ -11,4 +11,4 @@ TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "iwmmxt", "-march=iwmmxt - AVAILTUNES += "iwmmxt" ARMPKGARCH_tune-iwmmxt = "iwmmxt" TUNE_FEATURES_tune-iwmmxt = "thumb iwmmxt" -PACKAGE_EXTRA_ARCHS_tune-iwmmxt = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} iwmmxt" +PACKAGE_EXTRA_ARCHS_tune-iwmmxt = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} iwmmxt iwmmxtt"
meta/conf/machine/include/tune-strongarm1100.inc +1 -3
@@ -8,6 +8,4 @@ TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "strongarm", "-mtune=stron AVAILTUNES += "strongarm" ARMPKGARCH_tune-strongarm = "strongarm" TUNE_FEATURES_tune-strongarm = "${TUNE_FEATURES_tune-armv4} strongarm" -PACKAGE_EXTRA_ARCHS_tune-strongarm = "${PACKAGE_EXTRA_ARCHS_tune-armv4}" - - +PACKAGE_EXTRA_ARCHS_tune-strongarm = "${PACKAGE_EXTRA_ARCHS_tune-armv4} strongarm"
meta/conf/machine/include/tune-xscale.inc +2 -2
@@ -8,12 +8,12 @@ TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "xscale", "-mtune=xscale", AVAILTUNES += "xscale" ARMPKGARCH_tune-xscale = "xscale" TUNE_FEATURES_tune-xscale = "${TUNE_FEATURES_tune-armv5te} xscale" -PACKAGE_EXTRA_ARCHS_tune-xscale = "${PACKAGE_EXTRA_ARCHS_tune-armv5te}" +PACKAGE_EXTRA_ARCHS_tune-xscale = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} xscale xscalet xscalee xscalete" AVAILTUNES += "xscale-be" ARMPKGARCH_tune-xscale-be = "xscale" TUNE_FEATURES_tune-xscale-be = "${TUNE_FEATURES_tune-armv5teb} xscale bigendian" -PACKAGE_EXTRA_ARCHS_tune-xscale-be = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb}" +PACKAGE_EXTRA_ARCHS_tune-xscale-be = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb} xscaleb xscaletb xscaleeb xscaleteb" # webkit-gtk has alignment issues with double instructions on armv5 so # disable them here
Signature · 1 line
1.8.0
Re: [PATCH 2/8] tune-*: add PACKAGE_EXTRA_ARCHS entries starting with specific ARMPKGARCH
Review
Quoted 3 lines · Martin Jansa
(quoted diff) +3
-0+PACKAGE_EXTRA_ARCHS_tune-arm920t = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} arm920tt" +PACKAGE_EXTRA_ARCHS_tune-arm926ejs = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} arm926ejste" +PACKAGE_EXTRA_ARCHS_tune-arm9tdmi = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} arm9tdmit"
The last thing in each of those lines looks a bit weird. Not that I'm saying that I think they're wrong, necessarily, but can you explain what exactly they mean and why they are a sensible thing to have?
p.
PATCH 3/8 arch-armv5: fix missing thumb TUNE_FEATURE in armv5t-vfp and following tunes
In reply to Martin Jansa--- meta/conf/machine/include/arm/arch-armv5.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
meta/conf/machine/include/arm/arch-armv5.inc +2 -2
@@ -25,8 +25,8 @@ ARMPKGARCH_tune-armv5-vfp ?= "armv5" ARMPKGARCH_tune-armv5t-vfp ?= "armv5" ARMPKGARCH_tune-armv5hf-vfp ?= "armv5" ARMPKGARCH_tune-armv5thf-vfp ?= "armv5" -TUNE_FEATURES_tune-armv5-vfp ?= "armv5 vfp" -TUNE_FEATURES_tune-armv5t-vfp ?= "armv5 vfp" +TUNE_FEATURES_tune-armv5-vfp ?= "${TUNE_FEATURES_tune-armv5} vfp" +TUNE_FEATURES_tune-armv5t-vfp ?= "${TUNE_FEATURES_tune-armv5t} vfp" TUNE_FEATURES_tune-armv5hf-vfp ?= "${TUNE_FEATURES_tune-armv5-vfp} callconvention-hard" TUNE_FEATURES_tune-armv5thf-vfp ?= "${TUNE_FEATURES_tune-armv5t-vfp} callconvention-hard" PACKAGE_EXTRA_ARCHS_tune-armv5-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5} armv5-vfp"
Signature · 1 line
1.8.0
PATCH 4/8 arch-armv[457]*: fix PACKAGE_EXTRA_ARCHS for bigendian TUNEs
In reply to Martin Jansa* bigendian should not include little endian PACKAGE_ARCHS
--- meta/conf/machine/include/arm/arch-armv4.inc | 3 +-- meta/conf/machine/include/arm/arch-armv5.inc | 10 ++++------ meta/conf/machine/include/arm/arch-armv7a.inc | 8 ++++---- 3 files changed, 9 insertions(+), 12 deletions(-)
meta/conf/machine/include/arm/arch-armv4.inc +1 -2
@@ -24,5 +24,4 @@ ARMPKGARCH_tune-armv4tb ?= "armv4" TUNE_FEATURES_tune-armv4b ?= "${TUNE_FEATURES_tune-armv4} bigendian" TUNE_FEATURES_tune-armv4tb ?= "${TUNE_FEATURES_tune-armv4t} bigendian" PACKAGE_EXTRA_ARCHS_tune-armv4b = "armeb armv4b" -PACKAGE_EXTRA_ARCHS_tune-armv4tb = "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv4tb" - +PACKAGE_EXTRA_ARCHS_tune-armv4tb = "${PACKAGE_EXTRA_ARCHS_tune-armv4b} armv4tb"
meta/conf/machine/include/arm/arch-armv5.inc +4 -6
@@ -41,8 +41,8 @@ ARMPKGARCH_tune-armv5b ?= "armv5" ARMPKGARCH_tune-armv5tb ?= "armv5" TUNE_FEATURES_tune-armv5b ?= "${TUNE_FEATURES_tune-armv5} bigendian" TUNE_FEATURES_tune-armv5tb ?= "${TUNE_FEATURES_tune-armv5t} bigendian" -PACKAGE_EXTRA_ARCHS_tune-armv5b = "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv5b" -PACKAGE_EXTRA_ARCHS_tune-armv5tb = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} armv5b armv5tb" +PACKAGE_EXTRA_ARCHS_tune-armv5b = "${PACKAGE_EXTRA_ARCHS_tune-armv4b} armv5b" +PACKAGE_EXTRA_ARCHS_tune-armv5tb = "${PACKAGE_EXTRA_ARCHS_tune-armv4tb} armv5b armv5tb" # Big Endian + VFP/DSP AVAILTUNES += "armv5b-vfp armv5tb-vfp armv5hfb-vfp armv5thfb-vfp"
@@ -54,9 +54,7 @@ TUNE_FEATURES_tune-armv5b-vfp ?= "${TUNE_FEATURES_tune-armv5-vfp} bigendian" TUNE_FEATURES_tune-armv5tb-vfp ?= "${TUNE_FEATURES_tune-armv5t-vfp} bigendian" TUNE_FEATURES_tune-armv5hfb-vfp ?= "${TUNE_FEATURES_tune-armv5b-vfp} callconvention-hard" TUNE_FEATURES_tune-armv5thfb-vfp ?= "${TUNE_FEATURES_tune-armv5tb-vfp} callconvention-hard" -PACKAGE_EXTRA_ARCHS_tune-armv5b-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5} armv5b-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv5tb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5t} armv5b-vfp armv5tb-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv5b-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5b} armv5b-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv5tb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5tb} armv5b-vfp armv5tb-vfp" PACKAGE_EXTRA_ARCHS_tune-armv5hfb-vfp = "armv5hfb-vfp" PACKAGE_EXTRA_ARCHS_tune-armv5thfb-vfp = "armv5hfb-vfp armv5thfb-vfp" - -
meta/conf/machine/include/arm/arch-armv7a.inc +4 -4
@@ -48,10 +48,10 @@ TUNE_FEATURES_tune-armv7ab ?= "${TUNE_FEATURES_tune-armv7a} bigendian" TUNE_FEATURES_tune-armv7atb ?= "${TUNE_FEATURES_tune-armv7at} bigendian" TUNE_FEATURES_tune-armv7ab-neon ?= "${TUNE_FEATURES_tune-armv7a-neon} bigendian" TUNE_FEATURES_tune-armv7atb-neon ?= "${TUNE_FEATURES_tune-armv7at-neon} bigendian" -PACKAGE_EXTRA_ARCHS_tune-armv7ab = "${PACKAGE_EXTRA_ARCHS_tune-armv6} armv7ab-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7atb = "${PACKAGE_EXTRA_ARCHS_tune-armv6t} armv7ab-vfp armv7at2b-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7ab-vfp-neon" -PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7ab-vfp-neon armv7at2b-vfp-neon" +PACKAGE_EXTRA_ARCHS_tune-armv7ab = "${PACKAGE_EXTRA_ARCHS_tune-armv6b} armv7ab-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv7atb = "${PACKAGE_EXTRA_ARCHS_tune-armv6tb} armv7ab-vfp armv7at2b-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7ab-vfp-neon" +PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-vfp-neon armv7at2b-vfp-neon" # Big Endian + VFP AVAILTUNES += "armv7ahfb armv7athfb armv7ahfb-neon armv7athfb-neon"
Signature · 1 line
1.8.0
PATCH 5/8 arch-arm*: unify appending to TUNE_FEATURES
In reply to Martin Jansa* that we always use TUNE_FEATURES_tune-arm* variable and add only one TUNE_FEATURE to it
* for bigendian always use littleendian counterpart and append bigendian TUNE_FEATURE
--- meta/conf/machine/include/arm/arch-armv4.inc | 2 +- meta/conf/machine/include/arm/arch-armv5-dsp.inc | 13 ++++++------- meta/conf/machine/include/arm/arch-armv5.inc | 6 +++--- meta/conf/machine/include/arm/arch-armv6.inc | 6 +++--- meta/conf/machine/include/arm/arch-armv7a.inc | 15 +++++++-------- 5 files changed, 20 insertions(+), 22 deletions(-)
meta/conf/machine/include/arm/arch-armv4.inc +1 -1
@@ -13,7 +13,7 @@ AVAILTUNES += "armv4 armv4t" ARMPKGARCH_tune-armv4 ?= "armv4" ARMPKGARCH_tune-armv4t ?= "armv4" TUNE_FEATURES_tune-armv4 ?= "armv4" -TUNE_FEATURES_tune-armv4t ?= "armv4 thumb" +TUNE_FEATURES_tune-armv4t ?= "${TUNE_FEATURES_tune-armv4} thumb" PACKAGE_EXTRA_ARCHS_tune-armv4 = "arm armv4" PACKAGE_EXTRA_ARCHS_tune-armv4t = "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv4t"
meta/conf/machine/include/arm/arch-armv5-dsp.inc +6 -7
@@ -7,8 +7,8 @@ require conf/machine/include/arm/arch-armv5.inc AVAILTUNES += "armv5e armv5te" ARMPKGARCH_tune-armv5e ?= "armv5" ARMPKGARCH_tune-armv5te ?= "armv5" -TUNE_FEATURES_tune-armv5e ?= "armv5 dsp" -TUNE_FEATURES_tune-armv5te ?= "armv5 dsp thumb" +TUNE_FEATURES_tune-armv5e ?= "${TUNE_FEATURES_tune-armv5} dsp" +TUNE_FEATURES_tune-armv5te ?= "${TUNE_FEATURES_tune-armv5t} dsp" PACKAGE_EXTRA_ARCHS_tune-armv5e = "${PACKAGE_EXTRA_ARCHS_tune-armv5} armv5e" PACKAGE_EXTRA_ARCHS_tune-armv5te = "${PACKAGE_EXTRA_ARCHS_tune-armv5t} armv5e armv5te"
@@ -18,8 +18,8 @@ ARMPKGARCH_tune-armv5e-vfp ?= "armv5" ARMPKGARCH_tune-armv5te-vfp ?= "armv5" ARMPKGARCH_tune-armv5ehf-vfp ?= "armv5" ARMPKGARCH_tune-armv5tehf-vfp ?= "armv5" -TUNE_FEATURES_tune-armv5e-vfp ?= "armv5 vfp dsp" -TUNE_FEATURES_tune-armv5te-vfp ?= "armv5 vfp dsp thumb" +TUNE_FEATURES_tune-armv5e-vfp ?= "${TUNE_FEATURES_tune-armv5e} vfp" +TUNE_FEATURES_tune-armv5te-vfp ?= "${TUNE_FEATURES_tune-armv5te} vfp" TUNE_FEATURES_tune-armv5ehf-vfp ?= "${TUNE_FEATURES_tune-armv5e-vfp} callconvention-hard" TUNE_FEATURES_tune-armv5tehf-vfp ?= "${TUNE_FEATURES_tune-armv5te-vfp} callconvention-hard" PACKAGE_EXTRA_ARCHS_tune-armv5e-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5-vfp} armv5e armv5e-vfp"
@@ -44,10 +44,9 @@ ARMPKGARCH_tune-armv5ehfb-vfp ?= "armv5" ARMPKGARCH_tune-armv5tehfb-vfp ?= "armv5" TUNE_FEATURES_tune-armv5eb-vfp ?= "${TUNE_FEATURES_tune-armv5e-vfp} bigendian" TUNE_FEATURES_tune-armv5teb-vfp ?= "${TUNE_FEATURES_tune-armv5te-vfp} bigendian" -TUNE_FEATURES_tune-armv5ehfb-vfp ?= "${TUNE_FEATURES_tune-armv5eb-vfp} callconvention-hard" -TUNE_FEATURES_tune-armv5tehfb-vfp ?= "${TUNE_FEATURES_tune-armv5teb-vfp} callconvention-hard" +TUNE_FEATURES_tune-armv5ehfb-vfp ?= "${TUNE_FEATURES_tune-armv5ehf-vfp} bigendian" +TUNE_FEATURES_tune-armv5tehfb-vfp ?= "${TUNE_FEATURES_tune-armv5tehf-vfp} bigendian" PACKAGE_EXTRA_ARCHS_tune-armv5eb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5b-vfp} armv5eb armv5eb-vfp" PACKAGE_EXTRA_ARCHS_tune-armv5teb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5tb-vfp} armv5eb armv5teb armv5eb-vfp armv5teb-vfp" PACKAGE_EXTRA_ARCHS_tune-armv5ehfb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5hfb-vfp} armv5ehfb-vfp" PACKAGE_EXTRA_ARCHS_tune-armv5tehfb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5thfb-vfp} armv5ehfb-vfp armv5tehfb-vfp" -
meta/conf/machine/include/arm/arch-armv5.inc +3 -3
@@ -15,7 +15,7 @@ AVAILTUNES += "armv5 armv5t" ARMPKGARCH_tune-armv5 ?= "armv5" ARMPKGARCH_tune-armv5t ?= "armv5" TUNE_FEATURES_tune-armv5 ?= "armv5" -TUNE_FEATURES_tune-armv5t ?= "armv5 thumb" +TUNE_FEATURES_tune-armv5t ?= "${TUNE_FEATURES_tune-armv5} thumb" PACKAGE_EXTRA_ARCHS_tune-armv5 = "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv5" PACKAGE_EXTRA_ARCHS_tune-armv5t = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} armv5 armv5t"
@@ -52,8 +52,8 @@ ARMPKGARCH_tune-armv5hfb-vfp ?= "armv5" ARMPKGARCH_tune-armv5thfb-vfp ?= "armv5" TUNE_FEATURES_tune-armv5b-vfp ?= "${TUNE_FEATURES_tune-armv5-vfp} bigendian" TUNE_FEATURES_tune-armv5tb-vfp ?= "${TUNE_FEATURES_tune-armv5t-vfp} bigendian" -TUNE_FEATURES_tune-armv5hfb-vfp ?= "${TUNE_FEATURES_tune-armv5b-vfp} callconvention-hard" -TUNE_FEATURES_tune-armv5thfb-vfp ?= "${TUNE_FEATURES_tune-armv5tb-vfp} callconvention-hard" +TUNE_FEATURES_tune-armv5hfb-vfp ?= "${TUNE_FEATURES_tune-armv5hf-vfp} bigendian" +TUNE_FEATURES_tune-armv5thfb-vfp ?= "${TUNE_FEATURES_tune-armv5thf-vfp} bigendian" PACKAGE_EXTRA_ARCHS_tune-armv5b-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5b} armv5b-vfp" PACKAGE_EXTRA_ARCHS_tune-armv5tb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5tb} armv5b-vfp armv5tb-vfp" PACKAGE_EXTRA_ARCHS_tune-armv5hfb-vfp = "armv5hfb-vfp"
meta/conf/machine/include/arm/arch-armv6.inc +3 -3
@@ -14,7 +14,7 @@ ARMPKGARCH_tune-armv6t ?= "armv6" ARMPKGARCH_tune-armv6hf ?= "armv6" ARMPKGARCH_tune-armv6thf ?= "armv6" TUNE_FEATURES_tune-armv6 ?= "armv6 vfp" -TUNE_FEATURES_tune-armv6t ?= "armv6 vfp thumb" +TUNE_FEATURES_tune-armv6t ?= "${TUNE_FEATURES_tune-armv6} thumb" TUNE_FEATURES_tune-armv6hf ?= "${TUNE_FEATURES_tune-armv6} callconvention-hard" TUNE_FEATURES_tune-armv6thf ?= "${TUNE_FEATURES_tune-armv6t} callconvention-hard" PACKAGE_EXTRA_ARCHS_tune-armv6 = "${PACKAGE_EXTRA_ARCHS_tune-armv5e-vfp} armv6-vfp"
@@ -30,8 +30,8 @@ ARMPKGARCH_tune-armv6hfb ?= "armv6" ARMPKGARCH_tune-armv6thfb ?= "armv6" TUNE_FEATURES_tune-armv6b ?= "${TUNE_FEATURES_tune-armv6} bigendian" TUNE_FEATURES_tune-armv6tb ?= "${TUNE_FEATURES_tune-armv6t} bigendian" -TUNE_FEATURES_tune-armv6hfb ?= "${TUNE_FEATURES_tune-armv6b} callconvention-hard" -TUNE_FEATURES_tune-armv6thfb ?= "${TUNE_FEATURES_tune-armv6tb} callconvention-hard" +TUNE_FEATURES_tune-armv6hfb ?= "${TUNE_FEATURES_tune-armv6hf} bigendian" +TUNE_FEATURES_tune-armv6thfb ?= "${TUNE_FEATURES_tune-armv6thf} bigendian" PACKAGE_EXTRA_ARCHS_tune-armv6b = "${PACKAGE_EXTRA_ARCHS_tune-armv5eb-vfp} armv6b-vfp" PACKAGE_EXTRA_ARCHS_tune-armv6tb = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb-vfp} armv6b-vfp armv6tb-vfp" PACKAGE_EXTRA_ARCHS_tune-armv6hfb = "${PACKAGE_EXTRA_ARCHS_tune-armv5ehfb-vfp} armv6hfb-vfp"
meta/conf/machine/include/arm/arch-armv7a.inc +7 -8
@@ -15,9 +15,9 @@ ARMPKGARCH_tune-armv7at ?= "armv7a" ARMPKGARCH_tune-armv7a-neon?= "armv7a" ARMPKGARCH_tune-armv7at-neon ?= "armv7a" TUNE_FEATURES_tune-armv7a ?= "armv7a vfp" -TUNE_FEATURES_tune-armv7at ?= "armv7a vfp thumb" -TUNE_FEATURES_tune-armv7a-neon ?= "armv7a vfp neon" -TUNE_FEATURES_tune-armv7at-neon ?= "armv7a vfp neon thumb" +TUNE_FEATURES_tune-armv7at ?= "${TUNE_FEATURES_tune-armv7a} thumb" +TUNE_FEATURES_tune-armv7a-neon ?= "${TUNE_FEATURES_tune-armv7a} neon" +TUNE_FEATURES_tune-armv7at-neon ?= "${TUNE_FEATURES_tune-armv7at} neon" PACKAGE_EXTRA_ARCHS_tune-armv7a = "${PACKAGE_EXTRA_ARCHS_tune-armv6} armv7a armv7a-vfp" PACKAGE_EXTRA_ARCHS_tune-armv7a-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7a-vfp-neon" PACKAGE_EXTRA_ARCHS_tune-armv7at = "${PACKAGE_EXTRA_ARCHS_tune-armv6t} armv7a armv7a-vfp armv7at2-vfp"
@@ -59,12 +59,11 @@ ARMPKGARCH_tune-armv7ahfb ?= "armv7a" ARMPKGARCH_tune-armv7athfb ?= "armv7a" ARMPKGARCH_tune-armv7ahfb-neon?= "armv7a" ARMPKGARCH_tune-armv7athfb-neon ?= "armv7a" -TUNE_FEATURES_tune-armv7ahfb ?= "${TUNE_FEATURES_tune-armv7ab} callconvention-hard" -TUNE_FEATURES_tune-armv7athfb ?= "${TUNE_FEATURES_tune-armv7atb} callconvention-hard" -TUNE_FEATURES_tune-armv7ahfb-neon ?= "${TUNE_FEATURES_tune-armv7ab-neon} callconvention-hard" -TUNE_FEATURES_tune-armv7athfb-neon ?= "${TUNE_FEATURES_tune-armv7atb-neon} callconvention-hard" +TUNE_FEATURES_tune-armv7ahfb ?= "${TUNE_FEATURES_tune-armv7ahf} bigendian" +TUNE_FEATURES_tune-armv7athfb ?= "${TUNE_FEATURES_tune-armv7athf} bigendian" +TUNE_FEATURES_tune-armv7ahfb-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} bigendian" +TUNE_FEATURES_tune-armv7athfb-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} bigendian" PACKAGE_EXTRA_ARCHS_tune-armv7ahfb = "${PACKAGE_EXTRA_ARCHS_tune-armv6hfb} armv7ahfb-vfp" PACKAGE_EXTRA_ARCHS_tune-armv7athfb = "${PACKAGE_EXTRA_ARCHS_tune-armv6thfb} armv7ahfb-vfp armv7at2hfb-vfp" PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7ahfb-vfp-neon" PACKAGE_EXTRA_ARCHS_tune-armv7athfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7ahfb-vfp-neon armv7at2hfb-vfp-neon" -
Signature · 1 line
1.8.0
PATCH 6/8 arch-armv4.inc: add --fix-v4bx to TARGET_LD_KERNEL_ARCH only for armv4 and strongarm1100
In reply to Martin Jansa* without this patch it does apply --fix-v4bx not only to armv4, but also all higher (because they also have armv4 in TUNE_FEATURES)
* it causes SIGILL on armv4t
http://lists.linuxtogo.org/pipermail/openembedded-devel/2012-November/042298.html
* someone please test on armv4 device (I tested only bitbake -e output that it's correctly applied with DEFAULTTUNE == armv4
* maybe we can should fix this in binutils instead (both 2.22 and 2.23 are affected)
--- meta/conf/machine/include/arm/arch-armv4.inc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
meta/conf/machine/include/arm/arch-armv4.inc +7 -1
@@ -2,7 +2,13 @@ DEFAULTTUNE ?= "armv4" TUNEVALID[armv4] = "Enable instructions for ARMv4" TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "armv4", "-march=armv4${ARMPKGSFX_THUMB}", "", d)}" -TARGET_LD_KERNEL_ARCH += "${@bb.utils.contains("TUNE_FEATURES", "armv4", "--fix-v4bx", "", d)}" +# enable --fix-v4bx when we have armv4 in TUNE_FEATURES, but then disable it when we have also armv5 or thumb +# maybe we should extend bb.utils.contains to support check for any checkvalues in value, now it does +# checkvalues.issubset(val) which cannot be used for negative test of foo neither bar in value +FIX_V4BX_ARMV4 = "${@bb.utils.contains("TUNE_FEATURES", "armv4", "--fix-v4bx", "", d)}" +FIX_V4BX_ARMV5 = "${@bb.utils.contains("TUNE_FEATURES", "armv5", "", "${FIX_V4BX_ARMV4}", d)}" +FIX_V4BX = "${@bb.utils.contains("TUNE_FEATURES", "thumb", "", "${FIX_V4BX_ARMV5}", d)}" +TARGET_LD_KERNEL_ARCH += "${FIX_V4BX}" MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "armv4", ":armv4", "" ,d)}" require conf/machine/include/arm/arch-arm.inc
Signature · 1 line
1.8.0
PATCH 7/8 arch-armv6: add tunes without vfp enabled
In reply to Martin JansaFrom: Víctor Enríquez <[email protected]>
This work was made by Victor Enriquez and then modified by Denis Carikli who was helped by Mark Hatle comments. And in the end modified by Martin Jansa to support different ARMPKGARCH and removed explicit -novfp suffix.
The changes are for adding support to armv6-novfp, for building binaries for armv6 machines without vfp, for example the htc dream.
--- meta/conf/machine/include/arm/arch-armv6.inc | 29 +++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-)
meta/conf/machine/include/arm/arch-armv6.inc +20 -9
@@ -8,32 +8,43 @@ MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "armv6", ":armv6", "" require conf/machine/include/arm/arch-armv5-dsp.inc # Little Endian -AVAILTUNES += "armv6 armv6t armv6hf armv6thf" +AVAILTUNES += "armv6-novfp armv6t-novfp armv6 armv6t armv6hf armv6thf" +ARMPKGARCH_tune-armv6-novfp ?= "armv6" +ARMPKGARCH_tune-armv6t-novfp ?= "armv6" ARMPKGARCH_tune-armv6 ?= "armv6" ARMPKGARCH_tune-armv6t ?= "armv6" ARMPKGARCH_tune-armv6hf ?= "armv6" ARMPKGARCH_tune-armv6thf ?= "armv6" -TUNE_FEATURES_tune-armv6 ?= "armv6 vfp" -TUNE_FEATURES_tune-armv6t ?= "${TUNE_FEATURES_tune-armv6} thumb" +TUNE_FEATURES_tune-armv6-novfp ?= "armv6" +TUNE_FEATURES_tune-armv6t-novfp ?= "${TUNE_FEATURES_tune-armv6-novfp} thumb" +TUNE_FEATURES_tune-armv6 ?= "${TUNE_FEATURES_tune-armv6-novfp} vfp" +TUNE_FEATURES_tune-armv6t ?= "${TUNE_FEATURES_tune-armv6t-novfp} vfp" TUNE_FEATURES_tune-armv6hf ?= "${TUNE_FEATURES_tune-armv6} callconvention-hard" TUNE_FEATURES_tune-armv6thf ?= "${TUNE_FEATURES_tune-armv6t} callconvention-hard" -PACKAGE_EXTRA_ARCHS_tune-armv6 = "${PACKAGE_EXTRA_ARCHS_tune-armv5e-vfp} armv6-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv6t = "${PACKAGE_EXTRA_ARCHS_tune-armv5te-vfp} armv6-vfp armv6t-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv6-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5e} armv6" +PACKAGE_EXTRA_ARCHS_tune-armv6t-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} armv6 armv6t" +PACKAGE_EXTRA_ARCHS_tune-armv6 = "${PACKAGE_EXTRA_ARCHS_tune-armv5e-vfp} armv6 armv6-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv6t = "${PACKAGE_EXTRA_ARCHS_tune-armv5te-vfp} armv6 armv6t armv6-vfp armv6t-vfp" PACKAGE_EXTRA_ARCHS_tune-armv6hf = "${PACKAGE_EXTRA_ARCHS_tune-armv5ehf-vfp} armv6hf-vfp" PACKAGE_EXTRA_ARCHS_tune-armv6thf = "${PACKAGE_EXTRA_ARCHS_tune-armv5tehf-vfp} armv6hf-vfp armv6thf-vfp" # Big Endian -AVAILTUNES += "armv6b armv6tb armv6hfb armv6thfb" +AVAILTUNES += "armv6b-novfp armv6tb-novfp armv6b armv6tb armv6hfb armv6thfb" +ARMPKGARCH_tune-armv6b-novfp ?= "armv6" +ARMPKGARCH_tune-armv6tb-novfp ?= "armv6" ARMPKGARCH_tune-armv6b ?= "armv6" ARMPKGARCH_tune-armv6tb ?= "armv6" ARMPKGARCH_tune-armv6hfb ?= "armv6" ARMPKGARCH_tune-armv6thfb ?= "armv6" +TUNE_FEATURES_tune-armv6b-novfp ?= "${TUNE_FEATURES_tune-armv6-novfp} bigendian" +TUNE_FEATURES_tune-armv6tb-novfp ?= "${TUNE_FEATURES_tune-armv6t-novfp} bigendian" TUNE_FEATURES_tune-armv6b ?= "${TUNE_FEATURES_tune-armv6} bigendian" TUNE_FEATURES_tune-armv6tb ?= "${TUNE_FEATURES_tune-armv6t} bigendian" TUNE_FEATURES_tune-armv6hfb ?= "${TUNE_FEATURES_tune-armv6hf} bigendian" TUNE_FEATURES_tune-armv6thfb ?= "${TUNE_FEATURES_tune-armv6thf} bigendian" -PACKAGE_EXTRA_ARCHS_tune-armv6b = "${PACKAGE_EXTRA_ARCHS_tune-armv5eb-vfp} armv6b-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv6tb = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb-vfp} armv6b-vfp armv6tb-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv6b-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5eb} armv6b" +PACKAGE_EXTRA_ARCHS_tune-armv6tb-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb} armv6b armv6tb" +PACKAGE_EXTRA_ARCHS_tune-armv6b = "${PACKAGE_EXTRA_ARCHS_tune-armv5eb-vfp} armv6b armv6b-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv6tb = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb-vfp} armv6b armv6tb armv6b-vfp armv6tb-vfp" PACKAGE_EXTRA_ARCHS_tune-armv6hfb = "${PACKAGE_EXTRA_ARCHS_tune-armv5ehfb-vfp} armv6hfb-vfp" PACKAGE_EXTRA_ARCHS_tune-armv6thfb = "${PACKAGE_EXTRA_ARCHS_tune-armv5tehfb-vfp} armv6hfb-vfp armv6thfb-vfp" -
Signature · 1 line
1.8.0
PATCH 8/8 tune-cortexa*: add another TUNE which allows to enable cortexa* together with thumb and neon
In reply to Martin Jansa* like we have with tune-armv7at-neon
--- meta/conf/machine/include/tune-cortexa8.inc | 10 ++++++++-- meta/conf/machine/include/tune-cortexa9.inc | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-)
meta/conf/machine/include/tune-cortexa8.inc +8 -2
@@ -6,25 +6,31 @@ TUNEVALID[cortexa8] = "Enable Cortex-A8 specific processor optimizations" TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "cortexa8", "-mtune=cortex-a8", "", d)}" # Little Endian base configs -AVAILTUNES += "cortexa8 cortexa8t cortexa8-neon" +AVAILTUNES += "cortexa8 cortexa8t cortexa8-neon cortexa8t-neon" ARMPKGARCH_tune-cortexa8 = "cortexa8" ARMPKGARCH_tune-cortexa8t = "cortexa8" ARMPKGARCH_tune-cortexa8-neon = "cortexa8" +ARMPKGARCH_tune-cortexa8t-neon = "cortexa8" TUNE_FEATURES_tune-cortexa8 = "${TUNE_FEATURES_tune-armv7a} cortexa8" TUNE_FEATURES_tune-cortexa8t = "${TUNE_FEATURES_tune-armv7at} cortexa8" TUNE_FEATURES_tune-cortexa8-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa8" +TUNE_FEATURES_tune-cortexa8t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa8" PACKAGE_EXTRA_ARCHS_tune-cortexa8 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa8-vfp" PACKAGE_EXTRA_ARCHS_tune-cortexa8t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa8-vfp cortexa8t2-vfp" PACKAGE_EXTRA_ARCHS_tune-cortexa8-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa8-vfp cortexa8-vfp-neon" +PACKAGE_EXTRA_ARCHS_tune-cortexa8t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa8-vfp cortexa8-vfp-neon cortexa8t2-vfp cortexa8t2-vfp-neon" # VFP Tunes -AVAILTUNES += "cortexa8hf cortexa8thf cortexa8hf-neon" +AVAILTUNES += "cortexa8hf cortexa8thf cortexa8hf-neon cortexa8thf-neon" ARMPKGARCH_tune-cortexa8hf = "cortexa8" ARMPKGARCH_tune-cortexa8thf = "cortexa8" ARMPKGARCH_tune-cortexa8hf-neon = "cortexa8" +ARMPKGARCH_tune-cortexa8thf-neon = "cortexa8" TUNE_FEATURES_tune-cortexa8hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa8" TUNE_FEATURES_tune-cortexa8thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa8" TUNE_FEATURES_tune-cortexa8hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa8" +TUNE_FEATURES_tune-cortexa8thf-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} cortexa8" PACKAGE_EXTRA_ARCHS_tune-cortexa8hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa8hf-vfp" PACKAGE_EXTRA_ARCHS_tune-cortexa8thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa8hf-vfp cortexa8t2hf-vfp" PACKAGE_EXTRA_ARCHS_tune-cortexa8hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa8hf-vfp cortexa8hf-vfp-neon" +PACKAGE_EXTRA_ARCHS_tune-cortexa8thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa8hf-vfp cortexa8hf-vfp-neon cortexa8t2hf-vfp cortexa8t2hf-vfp-neon"
meta/conf/machine/include/tune-cortexa9.inc +8 -2
@@ -6,25 +6,31 @@ TUNEVALID[cortexa9] = "Enable Cortex-A9 specific processor optimizations" TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "cortexa9", "-mtune=cortex-a9", "", d)}" # Little Endian base configs -AVAILTUNES += "cortexa9 cortexa9t cortexa9-neon" +AVAILTUNES += "cortexa9 cortexa9t cortexa9-neon cortexa9t-neon" ARMPKGARCH_tune-cortexa9 = "cortexa9" ARMPKGARCH_tune-cortexa9t = "cortexa9" ARMPKGARCH_tune-cortexa9-neon = "cortexa9" +ARMPKGARCH_tune-cortexa9t-neon = "cortexa9" TUNE_FEATURES_tune-cortexa9 = "${TUNE_FEATURES_tune-armv7a} cortexa9" TUNE_FEATURES_tune-cortexa9t = "${TUNE_FEATURES_tune-armv7at} cortexa9" TUNE_FEATURES_tune-cortexa9-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa9" +TUNE_FEATURES_tune-cortexa9t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa9" PACKAGE_EXTRA_ARCHS_tune-cortexa9 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa9-vfp" PACKAGE_EXTRA_ARCHS_tune-cortexa9t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa9-vfp cortexa9t2-vfp" PACKAGE_EXTRA_ARCHS_tune-cortexa9-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa9-vfp cortexa9-vfp-neon" +PACKAGE_EXTRA_ARCHS_tune-cortexa9t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa9-vfp cortexa9-vfp-neon cortexa9t2-vfp cortexa9t2-vfp-neon" # VFP Tunes -AVAILTUNES += "cortexa9hf cortexa9thf cortexa9hf-neon" +AVAILTUNES += "cortexa9hf cortexa9thf cortexa9hf-neon cortexa9thf-neon" ARMPKGARCH_tune-cortexa9hf = "cortexa9" ARMPKGARCH_tune-cortexa9thf = "cortexa9" ARMPKGARCH_tune-cortexa9hf-neon = "cortexa9" +ARMPKGARCH_tune-cortexa9thf-neon = "cortexa9" TUNE_FEATURES_tune-cortexa9hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa9" TUNE_FEATURES_tune-cortexa9thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa9" TUNE_FEATURES_tune-cortexa9hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa9" +TUNE_FEATURES_tune-cortexa9thf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa9" PACKAGE_EXTRA_ARCHS_tune-cortexa9hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa9hf-vfp" PACKAGE_EXTRA_ARCHS_tune-cortexa9thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa9hf-vfp cortexa9t2hf-vfp" PACKAGE_EXTRA_ARCHS_tune-cortexa9hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa9hf-vfp cortexa9hf-vfp-neon" +PACKAGE_EXTRA_ARCHS_tune-cortexa9thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa9hf-vfp cortexa9hf-vfp-neon cortexa9t2-vfp cortexa9t2hf-vfp-neon"
Signature · 1 line
1.8.0