diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-01-16 01:25:06 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-01-16 01:25:06 +0000 |
commit | 89a10d913b8e4cf2d42a32ab9101c19197d48967 (patch) | |
tree | 3a4fa12615b83d460bc7e76c6d5ebf0fa9243644 | |
parent | 3f3e027d9cc361e22224350963026a5a72d9ca0d (diff) |
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
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25018 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r-- | rules.mk | 3 | ||||
-rwxr-xr-x | scripts/metadata.pl | 1 | ||||
-rw-r--r-- | target/Config.in | 5 | ||||
-rw-r--r-- | target/linux/mpc85xx/Makefile | 2 |
4 files changed, 10 insertions, 1 deletions
@@ -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 <kaloz@openwrt.org> LINUX_VERSION:=2.6.36.2 |