[oe] microblazeel-nf tune: ERROR: Unable to determine endianness for architecture

Elvis Dowson elvis.dowson at gmail.com
Fri Mar 29 18:20:46 UTC 2013


Hi,
       I'm trying to update the tune files for MicroBlaze, specifically the microblazeel (little endian) with soft-float.

I get the following error while trying to build:

ERROR: Unable to determine endianness for architecture ''
ERROR: Unable to determine endianness for architecture ''
ERROR: Please add your architecture to siteinfo.bbclass
ERROR: Please add your architecture to siteinfo.bbclass
ERROR: Unable to parse /tool/yocto/meta-openembedded/toolchain-layer/recipes-devtools/gcc/libgcc_4.6.bb: Exited with "1"--:--
ERROR: Unable to determine endianness for architecture ''
ERROR: Please add your architecture to siteinfo.bbclass
ERROR: Command execution failed: Exited with 1

The site info.bbclass already has the appropriate endian definitions for microblaze and microblazeel defined:

def siteinfo_data(d):
    archinfo = {
        "allarch": "endian-little bit-32", # bogus, but better than special-casing the checks below for allarch
        "aarch64": "endian-little bit-64 arm-common",
        "arm": "endian-little bit-32 arm-common",
        "armeb": "endian-big bit-32 arm-common",
        "avr32": "endian-big bit-32 avr32-common",
        "bfin": "endian-little bit-32 bfin-common",
        "i386": "endian-little bit-32 ix86-common",
        "i486": "endian-little bit-32 ix86-common",
        "i586": "endian-little bit-32 ix86-common",
        "i686": "endian-little bit-32 ix86-common",
        "ia64": "endian-little bit-64",
        "microblaze": "endian-big bit-32 microblaze-common",
        "microblazeel": "endian-little bit-32 microblaze-common",

This is the contents of my arch-microblaze.inc file:

# Microblaze ABI interface definition
# Four defined ABIs, all combinations of:
# *) Hard/Soft Floating Point
# *) Big Endian (PLB System) / Little Endian (AXI System)

DEFAULTTUNE ?= "microblaze"

TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
ABIEXTENSION ?= ""

TUNEVALID[fpu-hard] = "Use hardware FPU."
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard", "-mhard-float", "", d)}"
TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard", "microblaze", "", d)}"

TUNEVALID[fpu-soft] = "Use software FPU."
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft", "-msoft-float", "", d)}"
TARGET_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft", "soft", "", d)}"

TUNEVALID[mbig-endian] = "Microblaze Big Endian processor"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "mbig-endian", "-mbig-endian", "", d)}"

TUNEVALID[mlittle-endian] = "Microblaze Little Endian processor"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "mlittle-endian", "-mlittle-endian", "", d)}"

# Basic tune definitions
AVAILTUNES += "microblaze"

TUNE_FEATURES_tune-microblaze ?= "fpu-hard"
BASE_LIB_tune-microblaze = "lib"
TUNE_PKGARCH_tune-microblaze = "microblaze"
PACKAGE_EXTRA_ARCHS_tune-microblaze = "microblaze"

# Tune options for MicroBlaze little endian soft-float
DEFAULTTUNE ?= "microblazeel-nf"


This is the contents of my tune-microblazeel-nf.inc file:

require conf/machine/include/microblaze/arch-microblaze.inc

TUNEVALID[microblazeel-nf] = "Enable MicroBlaze little endian soft-float optimizations"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "microblazeel-nf", "-mcpu=v8.40b", "", d)}"
TUNE_PKGARCH = "${@bb.utils.contains("TUNE_FEATURES", "microblazeel-nf", "microblazeel-nf", "microblazeel-nf", d)}"

AVAILTUNES += "microblazeel-nf"
TUNE_FEATURES_tune-microblazeel-nf ?= "mlittle-endian fpu-soft"
BASE_LIB_tune-microblazeel-nf = "lib"
TUNE_PKGARCH_tune-microblazeel-nf = "microblazeel-nf"
PACKAGE_EXTRA_ARCHS_tune-microblazeel-nf = "microblazeel-nf"

What am I missing that is causing this error ?

Elvis Dowson




More information about the Openembedded-devel mailing list