[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