]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
feature-arm-thumb.inc: respect ARM_INSTRUCTION_SET when adding thumb suffix
authorMartin Jansa <martin.jansa@gmail.com>
Wed, 18 Feb 2015 14:40:35 +0000 (15:40 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 21 Feb 2015 22:04:25 +0000 (22:04 +0000)
* this means that recipes with ARM_INSTRUCTION_SET explicitly changed
  to arm will be built in feed without thumb suffix, the same does apply
  for workdir, e.g. after "bitbake glib-2.0" you can see:

  tmp-glibc/work/armv5e-oe-linux-gnueabi:
  glib-2.0  glibc  glibc-initial

  tmp-glibc/work/armv5te-oe-linux-gnueabi:
  acl              db              gdk-pixbuf     kmod  ....

  and

  tmp-glibc/deploy/ipk:
  all  armv5e  armv5te  qemuarm

* feed config should be ok, because all default DEFAULTTUNEs always
  include "arm" variants of all supported PACKAGE_ARCHs

* for more details see
  http://lists.openembedded.org/pipermail/openembedded-core/2014-April/091960.html
  the toolchain path issues were resolved in 1.8

* add ARM_INSTRUCTION_SET = "arm" to glibc-collateral.inc and comment in
  glibc.inc to fix glibc-locale and glibc-scripts build

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/conf/machine/include/arm/feature-arm-thumb.inc
meta/recipes-core/glibc/glibc-collateral.inc
meta/recipes-core/glibc/glibc.inc

index 0db5ec136a26721ebbc2ca0821c8794d03935fc9..9746c7bce761afc5e5a84c8bda8321814ff08dc8 100644 (file)
@@ -32,7 +32,8 @@ python () {
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', ' -m${ARM_M_OPT}', '', d)}"
 OVERRIDES .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', ':thumb', '', d)}"
 
-ARMPKGSFX_THUMB .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', '${ARM_THUMB_SUFFIX}', '', d)}"
+# Add suffix from ARM_THUMB_SUFFIX only if after all this we still set ARM_M_OPT to thumb
+ARMPKGSFX_THUMB .= "${@ d.getVar('ARM_THUMB_SUFFIX', True) if d.getVar('ARM_M_OPT', True) == 'thumb' else ''}"
 
 # Whether to compile with code to allow interworking between the two
 # instruction sets. This allows thumb code to be executed on a primarily
index 85e06da8164640f43e35247c375100fa5a660e1a..dfcebae388f992c2cfb591d039fc1208d9b63ccd 100644 (file)
@@ -2,6 +2,11 @@ INHIBIT_DEFAULT_DEPS = "1"
 LICENSE = "GPLv2 & LGPLv2.1"
 HOMEPAGE = "http://www.gnu.org/software/libc/index.html"
 
+# This needs to match with glibc.inc, otherwise glibc-scripts and glibc-locale
+# will fail to find main glibc, for details see
+# http://lists.openembedded.org/pipermail/openembedded-core/2015-January/100679.html
+ARM_INSTRUCTION_SET = "arm"
+
 do_fetch[noexec] = "1"
 do_unpack[noexec] = "1"
 do_patch[noexec] = "1"
index 767d4b8b5b20d306cb0d68a55c6cec981c016395..99a47530445ac768a77abd85bac077c7bb5878c0 100644 (file)
@@ -61,6 +61,9 @@ GLIBC_EXTRA_OECONF ?= ""
 GLIBC_EXTRA_OECONF_class-nativesdk = ""
 INHIBIT_DEFAULT_DEPS = "1"
 
+# This needs to match with glibc-collateral.inc, otherwise glibc-scripts and glibc-locale
+# will fail to find main glibc, for details see
+# http://lists.openembedded.org/pipermail/openembedded-core/2015-January/100679.html
 ARM_INSTRUCTION_SET = "arm"
 
 # glibc uses PARALLELMFLAGS variable to pass parallel build info so transfer