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 []
Sent: Thursday, December 01, 2016 2:06 PM
To: Bryan Evenson <>
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 

On Thu, Dec 1, 2016 at 5:26 PM, Bryan Evenson 
<<>> 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'},
steps: [{'SetDest':{}},
        {'CheckOutLayers': {}},
        {'RunPreamble': {}},
        {'GetDistroVersion' : {'distro': 'poky'}},
        {'CreateAutoConf': {'machine': 'at91sam9x5ek', 'SDKMACHINE': 'i686', 
'distro': 'poky-atmel', 'buildhistory': True, 'packages': 'ipk', 'atextappend': 
        {'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<>

yocto mailing list

Reply via email to