Skip to contentSkip to conversation

imx-base.inc: on thumb builds, add MACHINE_SOCARCH arm feed

PATCH In review Max Krummenacher 2 participants 3 messages Mar 23, 2015 – Mar 26, 2015 Arm i.MX and Layerscape

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 imx-base.inc: on thumb builds, add MACHINE_SOCARCH arm feed

This ensures that all MACHINE_SOCARCH feeds are part of PACKAGE_EXTRA_ARCHS.

oe-core now puts packages into an arm feed dir when a recipe forces the ARM instruction set on a build configured to default to thumb.
http://cgit.openembedded.org/openembedded-core/commit/?id=3e760031f91fb87c3e2f62b77a117eb41164f259

This is true also for packages in MACHINE_SOCARCH, i.e. we get in deploy/ipk for an angstrom based build:
armv7ahf-vfp-neon-mx6qdl armv7at2hf-vfp-neon-mx6qdl
so we must put both into PACKAGE_EXTRA_ARCHS.

I guess that in theorie the opposite would also be true. If a recipe explicitely sets thumb in build configured for arm one would need to add the thumb feed. However in the layers I have installed I could not find such a recipe, let alone a recipe which would be put in MACHINE_SOCARCH.

---
 conf/machine/include/imx-base.inc | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
conf/machine/include/imx-base.inc +11 -1
index bb5539c..985d3b1 100644
@@ -46,7 +46,17 @@ MACHINE_SOCARCH_mx6sx = "${TUNE_PKGARCH}-mx6sx"
 MACHINE_SOCARCH_mx6sl = "${TUNE_PKGARCH}-mx6sl"
 MACHINE_SOCARCH_vf60 = "${TUNE_PKGARCH}-vf60"
 MACHINE_SOCARCH_vf50 = "${TUNE_PKGARCH}-vf50"
-PACKAGE_EXTRA_ARCHS_append = " ${MACHINE_SOCARCH}"
+
+# If TUNE_PKGARCH is set for thumb2 allow also arm for package extra archs
+def thumb_handler(d):
+    import re
+    socarch = d.getVar('MACHINE_SOCARCH', True)
+    extraarcharm = re.sub('(.*)(t2)(.*)', r'\1\3', socarch)
+    if extraarcharm == socarch:
+        extraarcharm = ""
+    return extraarcharm
+
+PACKAGE_EXTRA_ARCHS_append = " ${MACHINE_SOCARCH} ${@thumb_handler(d)}"
 
 MACHINE_ARCH_FILTER = "virtual/kernel"
 MACHINE_SOCARCH_FILTER = "libfslcodec libfslvpuwrap libfslparser gst-fsl-plugins"
Signature · 1 line
1.9.3
#1 lore raw
Quoted 11 lines · Max Krummenacher

This ensures that all MACHINE_SOCARCH feeds are part of PACKAGE_EXTRA_ARCHS.

oe-core now puts packages into an arm feed dir when a recipe forces the ARM instruction set on a build configured to default to thumb.
http://cgit.openembedded.org/openembedded-core/commit/?id=3e760031f91fb87c3e2f62b77a117eb41164f259

This is true also for packages in MACHINE_SOCARCH, i.e. we get in deploy/ipk for an angstrom based build:
armv7ahf-vfp-neon-mx6qdl armv7at2hf-vfp-neon-mx6qdl
so we must put both into PACKAGE_EXTRA_ARCHS.

Quoted 6 lines

I guess that in theorie the opposite would also be true. If a recipe explicitely sets thumb in build configured for arm one would need to add the thumb feed. However in the layers I have installed I could not find such a recipe, let alone a recipe which would be put in MACHINE_SOCARCH.

The fix should be done at the dynamic soc-arch class. This shouldn't be set here.

What do you think?

Signature · 3 lines
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
#2 lore raw

Hi Otavio

Quoted 6 lines

The fix should be done at the dynamic soc-arch class. This shouldn't be set here.

What do you think?

If I understand you correctly you would move the full logic of appending to PACKAGE_EXTRA_ARCHS into meta-fsl-arm/classes/fsl-dynamic-packagearch.bbclass.
Looks like a good plan to me to move stuff which is generic out of the way and only set what is really configuration stuff in imx-base.inc.

I have a look at it if my rusty python knowledge gets me to a good result and submit a V2 accordingly.

Regards
Max