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

Elvis Dowson elvis.dowson at gmail.com
Fri Mar 29 18:41:58 UTC 2013


Hi,

On Mar 29, 2013, at 10:20 PM, Elvis Dowson <elvis.dowson at gmail.com> wrote:

> 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 TUNE_ARCH variable wasn't set. Explicitly setting TUNE_ARCH = "microblazeel" allowed me to proceed ahead with the build.

However, I can't but help think that the tune files can be better written or organized.

It would be great if someone could critically comment on these microblaze tune files, to suggest how I can improve the structure and layout of the basic tune file definitions.

Contents of 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_ARCH ?= "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[big-endian] = "Microblaze Big Endian processor"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "big-endian", "-mbig-endian", "", d)}"

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

# Basic tune definitions
AVAILTUNES += "microblaze"

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


Contents of tune-microblazeel-nf.inc file:

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

TUNE_ARCH = "microblazeel"

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 ?= "little-endian fpu-soft"
BASE_LIB_tune-microblazeel-nf = "lib"
TUNE_PKGARCH_tune-microblazeel-nf = "microblazeel-nf"
PACKAGE_EXTRA_ARCHS_tune-microblazeel-nf = "microblazeel-nf"

Elvis Dowson




More information about the Openembedded-devel mailing list