[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