From 8740549c573adf52c1b73f720e1ca52d15f90979 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 16 Jan 2011 01:25:06 +0000 Subject: [PATCH] mpc85xx: add a new 'spe_fpu' feature flag for the FPU used on freescale powerpc cpus The SPE FPU is ABI-incompatible with the regular powerpc FPU, this needs to be reflected in the toolchain target name. Fixes floating point crashes in user space SVN-Revision: 25018 --- rules.mk | 3 +++ scripts/metadata.pl | 1 + target/Config.in | 5 +++++ target/linux/mpc85xx/Makefile | 2 +- 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/rules.mk b/rules.mk index 09b4f5447a..2e66bea4cf 100644 --- a/rules.mk +++ b/rules.mk @@ -69,6 +69,9 @@ endif ifneq ($(findstring -march=armv5te,$(TARGET_OPTIMIZATION)),) ARCH_SUFFIX:=_v5te endif +ifdef CONFIG_HAS_SPE_FPU + TARGET_SUFFIX:=$(TARGET_SUFFIX)spe +endif DL_DIR:=$(if $(call qstrip,$(CONFIG_DOWNLOAD_FOLDER)),$(call qstrip,$(CONFIG_DOWNLOAD_FOLDER)),$(TOPDIR)/dl) BIN_DIR:=$(TOPDIR)/bin/$(BOARD) diff --git a/scripts/metadata.pl b/scripts/metadata.pl index 37c0a51ee7..9f06299aad 100755 --- a/scripts/metadata.pl +++ b/scripts/metadata.pl @@ -168,6 +168,7 @@ sub target_config_features(@) { /cpiogz/ and $ret .= "\tselect USES_CPIOGZ\n"; /ubifs/ and $ret .= "\tselect USES_UBIFS\n"; /fpu/ and $ret .= "\tselect HAS_FPU\n"; + /spe_fpu/ and $ret .= "\tselect HAS_SPE_FPU\n"; /ramdisk/ and $ret .= "\tselect USES_INITRAMFS\n"; /powerpc64/ and $ret .= "\tselect powerpc64\n"; /nommu/ and $ret .= "\tselect NOMMU\n"; diff --git a/target/Config.in b/target/Config.in index 226624564a..9e0263e4c2 100644 --- a/target/Config.in +++ b/target/Config.in @@ -2,6 +2,11 @@ source "tmp/.config-target.in" # Kernel/Hardware features +config HAS_SPE_FPU + depends powerpc + select HAS_FPU + bool + config HAS_FPU bool diff --git a/target/linux/mpc85xx/Makefile b/target/linux/mpc85xx/Makefile index a441acf238..5488adc591 100644 --- a/target/linux/mpc85xx/Makefile +++ b/target/linux/mpc85xx/Makefile @@ -10,7 +10,7 @@ ARCH:=powerpc BOARD:=mpc85xx BOARDNAME:=Freescale MPC85xx CFLAGS:=-Os -pipe -funit-at-a-time -mcpu=8540 -FEATURES:=fpu ramdisk broken +FEATURES:=spe_fpu ramdisk broken MAINTAINER:=Imre Kaloz LINUX_VERSION:=2.6.36.2