[yocto] Can't set march=armv5te

Bryan Evenson bevenson at melinkcorp.com
Thu Dec 1 08:26:06 PST 2016


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



More information about the yocto mailing list