Hi,
       I just observed that TARGET_FPU is not getting populated, when you do a 
build for fpu-hard targets. For fpu-soft targets, it displays TARGET_FPU = 
"soft", but for fpu-hard targets, it display TARGET_FPU = "".

For example, for my tune-ppc440e.inc file

DEFAULTTUNE ?= "ppc440e"

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

TUNEVALID[ppc440e] = "Enable ppc440e specific processor optimizations"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppc440e", "-mcpu=440fp", 
"", d)}"

AVAILTUNES += "ppc440e"
TUNE_FEATURES_tune-ppc440e = "m32 ppc440e fpu-hard"
TUNE_PKGARCH_tune-ppc440e = "ppc440e"
PACKAGE_EXTRA_ARCHS_tune-ppc440e = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc440e"

# glibc configure options to get ppc440e specific library (for sqrt)
GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppc440e", 
"-with-cpu=440fp", "", d)}"

it is empty:

uild Configuration:
BB_VERSION        = "1.15.3"
TARGET_ARCH       = "powerpc"
TARGET_OS         = "linux"
MACHINE           = "virtex5"
DISTRO            = "poky"
DISTRO_VERSION    = "1.2+snapshot-20120824"
TUNE_FEATURES     = "m32 ppc440e fpu-hard"
TARGET_FPU        = ""
meta              
meta-yocto        = "(nobranch):77192ec8ed3563920b969306aaa7609d05184255"
toolchain-layer   = "(nobranch):3fd2bf4c5e6c3a353aff9795294b7c25f5f50c49"
meta-xilinx       = 
"master-xilinx-ml507-gcc-4.5:18ab4890b00d12c58f750008688d2e97687e33da"

Similarily, for my tune-ppc405e.inc file:

DEFAULTTUNE ?= "ppc405e"

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

TUNEVALID[ppc405e] = "Enable ppc405e specific processor optimizations"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppc405e", "-mcpu=405fp", 
"", d)}"

AVAILTUNES += "ppc405e"
TUNE_FEATURES_tune-ppc405e = "m32 ppc405e fpu-hard"
TUNE_PKGARCH_tune-ppc405e = "ppc405e"
PACKAGE_EXTRA_ARCHS_tune-ppc405e = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc405e"

# glibc configure options to get ppc405e specific library (for sqrt)
GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppc405e", 
"-with-cpu=405fp", "", d)}"

it is empty:

Build Configuration:
BB_VERSION        = "1.15.3"
TARGET_ARCH       = "powerpc"
TARGET_OS         = "linux"
MACHINE           = "virtex5"
DISTRO            = "poky"
DISTRO_VERSION    = "1.2+snapshot-20120824"
TUNE_FEATURES     = "m32 ppc405e fpu-hard"
TARGET_FPU        = ""
meta              
meta-yocto        = "(nobranch):77192ec8ed3563920b969306aaa7609d05184255"
toolchain-layer   = "(nobranch):3fd2bf4c5e6c3a353aff9795294b7c25f5f50c49"
meta-xilinx       = 
"master-xilinx-ml507-gcc-4.5:18ab4890b00d12c58f750008688d2e97687e33da"

The PowerPC405 and 440 processors are on a Xilinx Virtex-4 and Virtex-5 FGPA, 
and as such can be attached to a hardware floating point unit. 

There is a special gcc compiler option for this situation, which is  

-mxilinx-fpu

Perform optimizations for the floating-point unit on Xilinx PPC 405/440. See 
RS/6000 and PowerPC Options - Using the GNU Compiler Collection (GCC) for more 
information.

What should I do to get TARGET_FPU to fill correctly for hardware floating 
point units ? 

Best regards,

Elvis Dowson


_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to