Re: Can't set march=armv5te

Bryan Evenson



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.





From: Martin Jansa [mailto:martin.jansa@...]
Sent: Thursday, December 01, 2016 2:06 PM
To: Bryan Evenson <bevenson@...>
Cc: yocto@...
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@...> 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: 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:

builders: 'builder1'
repos: [{'poky':
                 'layerversion':{'core':'meta', 'yoctobsp':'meta-yocto-bsp', 'yocto':'meta-yocto', 'poky':'meta-poky'},
            {'autoinclude':False, 'repourl':'git://',
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'}},
        {'PublishArtifacts': {'artifacts': ['at91sam9x5ek', 'ipk']}}]
scheduler: [{'nightly-scheduler-atmel-fido' :

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-yocto-bsp    = "fido:c9f0a99050ec0050f0dbcd55d0cd2ab18848113f"
meta-atmel        = "fido:dd595e6e8ec7010cf646a9ca356b2e01f10e274c"
meta-qt5          = "fido:90919b9d86988e7da01fa2c0a07246b5b5600a5d"
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?

Bryan Evenson
yocto mailing list


Join { to automatically receive all group messages.