On 9/11/12 8:48 AM, Martin Jansa wrote:
On Tue, Sep 11, 2012 at 03:01:55PM +0200, Martin Jansa wrote:
Hi,

when building spitz and qemuarm (both produces packages in armv5te feed)
resulting packages are tuned with -mtune=xscale (when built for spitz)
or -mtune=arm926ej-s (when built for qemuarm).

I argued this when we original did the work for the tunings, and I lost....

From
https://bugzilla.yoctoproject.org/show_bug.cgi?id=1916#c5
Firstly, if you go changing the tune parameters in a given machine, you are 
expected to use a different PACKAGE_ARCH. If you do that, you will get a 
different package feed for the different binaries, different WORKDIR and so on. 
This was always the way the package architectures was intended to work and 
nothing has changed there. Yes, you as the user changing various variables can 
create inconsistent package feeds. There are 101 ways you can do that, the 
simple answer is just don't. We're therefore unlikely to add MACHINE to 
DEPLOY_DIR or remove PACKAGE_ARCH, please just use it as its intended.

That is certainly my expectation. I'm not sure that the arm926ej-s can produce binaries that are -not- arm5te binaries -- as that seems to be the standard for what an armv5te is. The xscale on the other hand is capable of having different tuning parameters and had a few additional instructions. In the past I've generated a tuning simple called "xscale" that was compatible w/ armv5te. This way you could share non-optimized things, and go w/ xscale as necessary.

Does qemuarm use oe-core as it's intended?

CCing bluelightning because xscale is used in lot of meta-handheld machines:

Does this make sense?

OE @ ~/openembedded-core/meta/conf/machine/include $ diff -uNr tune-arm926*; 
diff -uNr tune-xscale.inc*
--- tune-arm926ejs.inc  2012-09-11 15:45:47.958202057 +0200
+++ tune-arm926ejs.inc.new      2012-09-11 15:45:40.579194777 +0200
@@ -8,4 +8,4 @@
  AVAILTUNES += "arm926ejs"
  TUNE_FEATURES_tune-arm926ejs = "${TUNE_FEATURES_tune-armv5te} arm926ejs"
  PACKAGE_EXTRA_ARCHS_tune-arm926ejs = "${PACKAGE_EXTRA_ARCHS_tune-armv5te}"
-
+TUNE_PKGARCH_tune-arm926ejs = "armv5te-arm926ejs"

I'd suggest simply arm926ejs....

--- tune-xscale.inc     2012-08-28 11:01:04.899070433 +0200
+++ tune-xscale.inc.new 2012-09-11 15:43:24.560060591 +0200
@@ -8,10 +8,12 @@
  AVAILTUNES += "xscale"
  TUNE_FEATURES_tune-xscale = "${TUNE_FEATURES_tune-armv5te} xscale"
  PACKAGE_EXTRA_ARCHS_tune-xscale = "${PACKAGE_EXTRA_ARCHS_tune-armv5te}"
+TUNE_PKGARCH_tune-xscale = "armv5te-xscale"

Again simplify to xscale

  AVAILTUNES += "xscale-be"
  TUNE_FEATURES_tune-xscale-be = "${TUNE_FEATURES_tune-armv5teb} xscale 
bigendian"
  PACKAGE_EXTRA_ARCHS_tune-xscale-be = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb}"
+TUNE_PKGARCH_tune-xscale-be = "armv5teb-xscale"

And xscaleeb (or be)

--Mark

  # webkit-gtk has alignment issues with double instructions on armv5 so
  # disable them here


Shouldn't spitz produce something like armv5te-xscale and qemuarm 
armv5te-arm926ejs?
It would cause all recipes to build again (cannot share armv5te feed anymore),
but at least it would build it and user will really get it on target, right now
opkg upgrade can download some packages with xscale some with arm926ej-s.

$ ~/bitbake/bin/bitbake-diffsigs
   
stamps.1347348910/spitz/armv5te-oe-linux-gnueabi/linux-libc-headers-3.4.3-r0.do_configure.sigdata.04b364a15889fcff7502614f1c116abc
   
stamps.1347348910/qemuarm/armv5te-oe-linux-gnueabi/linux-libc-headers-3.4.3-r0.do_configure.sigdata.656f0583be969b427f040f2e143bcb14
   basehash changed from 7fe9c0a3455dac20ba6a90ed337b097e to 
d8dd2ff8613d0aafe60bef1a1e9469a1
   Variable TUNE_CCARGS value changed from
   ${@bb.utils.contains("TUNE_FEATURES", "armv5", 
"-march=armv5${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}", "", d)}
   ${@bb.utils.contains("TUNE_FEATURES", "armv4", "-march=armv4${ARMPKGSFX_THUMB}", 
"", d)}
   ${@bb.utils.contains("TUNE_FEATURES", "thumb", "${ARM_THUMB_M_OPT}", "", d)}
   ${@bb.utils.contains("TUNE_FEATURES", "no-thumb-interwork", "-mno-thumb-interwork", 
"-mthumb-interwork", d)}
   ${@bb.utils.contains("TUNE_FEATURES", "vfp", bb.utils.contains("TUNE_FEATURES", "callconvention-hard", 
"-mfloat-abi=hard", "-mfloat-abi=softfp", d), "" ,d)}
   ${@bb.utils.contains("TUNE_FEATURES", "xscale", "-mtune=xscale", "", d)}
   to
   ${@bb.utils.contains("TUNE_FEATURES", "armv5", 
"-march=armv5${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}", "", d)}
   ${@bb.utils.contains("TUNE_FEATURES", "armv4", "-march=armv4${ARMPKGSFX_THUMB}", 
"", d)}
   ${@bb.utils.contains("TUNE_FEATURES", "thumb", "${ARM_THUMB_M_OPT}", "", d)}
   ${@bb.utils.contains("TUNE_FEATURES", "no-thumb-interwork", "-mno-thumb-interwork", 
"-mthumb-interwork", d)}
   ${@bb.utils.contains("TUNE_FEATURES", "vfp", bb.utils.contains("TUNE_FEATURES", "callconvention-hard", 
"-mfloat-abi=hard", "-mfloat-abi=softfp", d), "" ,d)}
   ${@bb.utils.contains("TUNE_FEATURES", "arm926ejs", "-mtune=arm926ej-s", "", 
d)}

--
Martin 'JaMa' Jansa     jabber: martin.ja...@gmail.com





_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core



_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to