[yocto] Can't set march=armv5te

Martin Jansa martin.jansa at gmail.com
Thu Dec 1 12:03:38 PST 2016


The package architecture was change to match with compiler flags used in
build.

Most people were assuming that they are using thumb when they have seen "t"
in package arch, but because default value of ARM_INSTRUCTION_SET is "arm"
they in most cases weren't actually building with -mthumb.

On Thu, Dec 1, 2016 at 8:54 PM, Bryan Evenson <bevenson at melinkcorp.com>
wrote:

> Martin,
>
>
>
> OK, so regardless of what the arch was finally getting set at, in this
> case since “-marm” was in the GCC compiler options it was always compiling
> all the code in ARM mode and never in Thumb mode, correct?
>
>
>
> It still bugs me why the architecture name changed (I’ve traced through
> the machine include path several times), but if at the end of the day it’ll
> be compiling the same code then I’ll move on to some more productive tasks.
>
>
>
> Thanks,
>
> Bryan
>
>
>
> *From:* Martin Jansa [mailto:martin.jansa at gmail.com]
> *Sent:* Thursday, December 01, 2016 2:06 PM
> *To:* Bryan Evenson <bevenson at melinkcorp.com>
> *Cc:* yocto at yoctoproject.org
> *Subject:* Re: [yocto] Can't set march=armv5te
>
>
>
> Using and not using thumb was also controlled not only by TUNE_FEATURES
> (MACHINE defines that) but also by ARM_INSTRUCTION_SET (DISTRO defines
> that).
>
>
>
> So you weren't building with thumb enabled even when you were seeing
> armv5te before.
>
>
>
> On Thu, Dec 1, 2016 at 5:26 PM, Bryan Evenson <bevenson at melinkcorp.com>
> wrote:
>
> I'm in the process of upgrading from the dizzy branch to the fido branch,
> and I'm still a little confused about some tune changes that I'm seeing.
> I'm using an Atmel AT91SAM9G25 processor.  The meta-atmel layer that I am
> using had incorrectly set DEFAULTTUNE = "arm926ejs" which had been setting
> the architecture to "arm926ejste".  They fixed that here:
> https://github.com/linux4sam/meta-atmel/commit/
> 47238062c04ca97c2ea0570576072ad5b46ce261 and according to the commit
> message it should now be building with DEFAULTTUNE (and the resulting
> architecture) set to "armv5te".  However, when I build using my autobuilder
> I am getting an architecture of "armv5e".  From my understanding, this
> means the compiler thinks the processor does not have Thumb support.  I've
> tried "arm926ejs" and "armv5te" for DEFAULTTUNE settings and it hasn't made
> any difference.
>
> I've checked the working directories for a few packages, and previously
> the relevant gcc options were being set to: "-march=armv5te -marm
> -mthumb-interwork -mtune=arm926ej-s".  Now they are being set to:
> "-march=armv5e -marm  -mthumb-interwork".  How do I get it back to building
> with march=armv5te?
>
> Here is the autobuilder configuration that I am using:
>
> [nightly-atmel-demo-fido]
> builders: 'builder1'
> repos: [{'poky':
>             {'repourl':'git://git.yoctoproject.org/poky',
>                  'layerversion':{'core':'meta',
> 'yoctobsp':'meta-yocto-bsp', 'yocto':'meta-yocto', 'poky':'meta-poky'},
>              'branch':'fido'}},
>         {'meta-atmel':
>             {'repourl':'git://github.com/linux4sam/meta-atmel.git',
>              'branch':'fido'}},
>         {'meta-openembedded':
>             {'autoinclude':False, 'repourl':'git://git.
> openembedded.org/meta-openembedded',
>              'branch':'fido'}},
>         {'meta-qt5':
>             {'repourl':'git://github.com/meta-qt5/meta-qt5.git',
>              'branch':'fido'}}]
> steps: [{'SetDest':{}},
>         {'CheckOutLayers': {}},
>         {'RunPreamble': {}},
>         {'GetDistroVersion' : {'distro': 'poky'}},
>         {'CreateAutoConf': {'machine': 'at91sam9x5ek', 'SDKMACHINE':
> 'i686', 'distro': 'poky-atmel', 'buildhistory': True, 'packages': 'ipk',
> 'atextappend': 'EXTRA_IMAGE_FEATURES = ""\nDEFAULTTUNE = "armv5te"\n'}},
>         {'CreateBBLayersConf': {'buildprovider' : 'yocto', 'layerdirs':
>             ['meta-atmel', 'meta-qt5', 'meta-openembedded/meta-oe',
> 'meta-openembedded/meta-networking', 'meta-openembedded/meta-python']}},
>         {'BuildImages': {'images': 'atmel-demo-image'}},
>         {'SyncPersistDB' : {'commit' : True, 'distro':'poky'}},
>         {'PublishLayerTarballs':{}},
>         {'PublishArtifacts': {'artifacts': ['at91sam9x5ek', 'ipk']}}]
> scheduler: [{'nightly-scheduler-atmel-fido' :
>                 {'type':'Nightly',
>                  'hour':'1',
>                  'minute':'15',}}]
>
> The resulting build configuration:
> Build Configuration:
> BB_VERSION        = "1.26.0"
> BUILD_SYS         = "x86_64-linux"
> NATIVELSBSTRING   = "Ubuntu-12.04"
> TARGET_SYS        = "arm-poky-linux-gnueabi"
> MACHINE           = "at91sam9x5ek"
> DISTRO            = "poky-atmel"
> DISTRO_VERSION    = "1.8.2"
> TUNE_FEATURES     = "arm armv5 thumb dsp"
> TARGET_FPU        = "soft"
> meta
> meta-yocto
> meta-yocto-bsp    = "fido:c9f0a99050ec0050f0dbcd55d0cd2ab18848113f"
> meta-atmel        = "fido:dd595e6e8ec7010cf646a9ca356b2e01f10e274c"
> meta-qt5          = "fido:90919b9d86988e7da01fa2c0a07246b5b5600a5d"
> meta-oe
> meta-networking
> meta-python       = "fido:902964a4da26e46018d2a8d17dcdda1ac4627a39"
>
> TUNE_FEATURES includes "thumb", but the compiler options aren't set for
> armv5te.  I've tried changing the DEFAULTTUNE specification in
> CreateAutoConf to "arm926ejs" and I've had the same results.  How do I get
> the architecture set back correctly for the processor I'm using?
>
> Thanks,
> Bryan Evenson
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20161201/2de2bd39/attachment.html>


More information about the yocto mailing list