[yocto] Can't set march=armv5te

Bryan Evenson bevenson at melinkcorp.com
Thu Dec 1 11:54:11 PST 2016


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<mailto: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<http://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<http://github.com/linux4sam/meta-atmel.git>',
             'branch':'fido'}},
        {'meta-openembedded':
            {'autoinclude':False, 'repourl':'git://git.openembedded.org/meta-openembedded<http://git.openembedded.org/meta-openembedded>',
             'branch':'fido'}},
        {'meta-qt5':
            {'repourl':'git://github.com/meta-qt5/meta-qt5.git<http://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<mailto: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/4736051e/attachment.html>


More information about the yocto mailing list