config/arch.arm: add support to specity $TARGET_FLOAT, add 'hardfp' support

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2012-03-08 08:11:31 +01:00
parent 15824b2c08
commit 5c39e3fc0d
14 changed files with 70 additions and 8 deletions

View File

@ -27,21 +27,25 @@
arm1176jzf-s)
TARGET_SUBARCH=armv6zk
TARGET_ABI=eabi
TARGET_EXTRA_FLAGS="-mfloat-abi=softfp -Wno-psabi -Wa,-mno-warn-deprecated"
TARGET_EXTRA_FLAGS="-Wno-psabi -Wa,-mno-warn-deprecated"
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
;;
cortex-a8)
TARGET_SUBARCH=armv7-a
TARGET_ABI=eabi
TARGET_EXTRA_FLAGS=""
TARGET_EXTRA_FLAGS="-Wno-psabi -Wa,-mno-warn-deprecated"
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
;;
cortex-a9)
TARGET_SUBARCH=armv7-a
TARGET_ABI=eabi
TARGET_EXTRA_FLAGS="-mfloat-abi=softfp -Wno-psabi -Wa,-mno-warn-deprecated"
TARGET_EXTRA_FLAGS="-Wno-psabi -Wa,-mno-warn-deprecated"
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
;;
esac
# setup ARCH specific *FLAGS
TARGET_CFLAGS="-march=$TARGET_SUBARCH -mcpu=$TARGET_CPU -mabi=aapcs-linux $TARGET_EXTRA_FLAGS"
[ -n "$TARGET_FPU" ] && TARGET_CFLAGS="$TARGET_CFLAGS -mfpu=$TARGET_FPU"
[ -n "$TARGET_FPU" ] && TARGET_CFLAGS="$TARGET_CFLAGS $TARGET_FPU_FLAGS"
TARGET_LDFLAGS="-fPIC -march=$TARGET_SUBARCH -mtune=$TARGET_CPU"
GCC_OPTS="--with-abi=aapcs-linux --with-arch=$TARGET_SUBARCH --with-float=$TARGET_FLOAT --with-fpu=$TARGET_FPU"

View File

@ -228,6 +228,7 @@ show_config() {
config_message="$config_message\n $dashes$dashes"
config_message="$config_message\n - CPU (ARCH):\t\t\t\t $TARGET_CPU ($TARGET_ARCH)"
config_message="$config_message\n - FLOAT:\t\t\t\t $TARGET_FLOAT"
config_message="$config_message\n - FPU:\t\t\t\t\t $TARGET_FPU"
config_message="$config_message\n - Optimizations:\t\t\t $OPTIMIZATIONS"
config_message="$config_message\n - LTO (Link Time Optimization) support: $LTO_SUPPORT"

View File

@ -22,9 +22,15 @@
. config/options $1
if [ "$TARGET_FLOAT" = "softfp" -o "$TARGET_FLOAT" = "soft" ]; then
FLOAT="softfp"
elif [ "$TARGET_FLOAT" = "hard" ]; then
FLOAT="hardfp"
fi
cd $PKG_BUILD
mkdir -p $SYSROOT_PREFIX/usr/include
cp -PR softfp/opt/vc/include/* $SYSROOT_PREFIX/usr/include
cp -PR $FLOAT/opt/vc/include/* $SYSROOT_PREFIX/usr/include
mkdir -p $SYSROOT_PREFIX/usr/lib
cp -PR softfp/opt/vc/lib/*.so* $SYSROOT_PREFIX/usr/lib
cp -PR $FLOAT/opt/vc/lib/*.so* $SYSROOT_PREFIX/usr/lib

View File

@ -22,11 +22,17 @@
. config/options $1
if [ "$TARGET_FLOAT" = "softfp" -o "$TARGET_FLOAT" = "soft" ]; then
FLOAT="softfp"
elif [ "$TARGET_FLOAT" = "hard" ]; then
FLOAT="hardfp"
fi
mkdir -p $INSTALL/usr/sbin
cp -PR $PKG_BUILD/softfp/opt/vc/sbin/* $INSTALL/usr/sbin
cp -PR $PKG_BUILD/$FLOAT/opt/vc/sbin/* $INSTALL/usr/sbin
mkdir -p $INSTALL/usr/lib
cp -PR $PKG_BUILD/softfp/opt/vc/lib/*.so* $INSTALL/usr/lib
cp -PR $PKG_BUILD/$FLOAT/opt/vc/lib/*.so* $INSTALL/usr/lib
mkdir -p $INSTALL/opt/vc
ln -sf /usr/lib $INSTALL/opt/vc/lib

View File

@ -63,6 +63,7 @@ mkdir -p objdir-$1 && cd objdir-$1
--without-headers \
--with-newlib \
--disable-decimal-float \
$GCC_OPTS \
--disable-nls
make

View File

@ -62,6 +62,7 @@ mkdir -p objdir-$1 && cd objdir-$1
--enable-threads=posix \
--disable-libstdcxx-pch \
--enable-clocale=gnu \
$GCC_OPTS \
--disable-nls
make

View File

@ -64,6 +64,12 @@
# cortex-r4f cortex-m3 cortex-m1 xscale iwmmxt iwmmxt2 ep9312.
#
TARGET_CPU="cortex-a9"
# TARGET_FLOAT:
# Specifies which floating-point ABI to use. Permissible values are:
# soft softfp hard
TARGET_FLOAT="softfp"
# TARGET_FPU:
# This specifies what floating point hardware (or hardware emulation) is
# available on the target. Permissible names are:

View File

@ -65,6 +65,11 @@
#
TARGET_CPU="cortex-a9"
# TARGET_FLOAT:
# Specifies which floating-point ABI to use. Permissible values are:
# soft softfp hard
TARGET_FLOAT="softfp"
# TARGET_FPU:
# This specifies what floating point hardware (or hardware emulation) is
# available on the target. Permissible names are:

View File

@ -65,6 +65,11 @@
#
TARGET_CPU="cortex-a9"
# TARGET_FLOAT:
# Specifies which floating-point ABI to use. Permissible values are:
# soft softfp hard
TARGET_FLOAT="softfp"
# TARGET_FPU:
# This specifies what floating point hardware (or hardware emulation) is
# available on the target. Permissible names are:

View File

@ -65,6 +65,11 @@
#
TARGET_CPU="cortex-a9"
# TARGET_FLOAT:
# Specifies which floating-point ABI to use. Permissible values are:
# soft softfp hard
TARGET_FLOAT="softfp"
# TARGET_FPU:
# This specifies what floating point hardware (or hardware emulation) is
# available on the target. Permissible names are:

View File

@ -65,6 +65,11 @@
#
TARGET_CPU="cortex-a9"
# TARGET_FLOAT:
# Specifies which floating-point ABI to use. Permissible values are:
# soft softfp hard
TARGET_FLOAT="softfp"
# TARGET_FPU:
# This specifies what floating point hardware (or hardware emulation) is
# available on the target. Permissible names are:

View File

@ -65,6 +65,11 @@
#
TARGET_CPU="cortex-a9"
# TARGET_FLOAT:
# Specifies which floating-point ABI to use. Permissible values are:
# soft softfp hard
TARGET_FLOAT="softfp"
# TARGET_FPU:
# This specifies what floating point hardware (or hardware emulation) is
# available on the target. Permissible names are:

View File

@ -65,6 +65,11 @@
#
TARGET_CPU="arm1176jzf-s"
# TARGET_FLOAT:
# Specifies which floating-point ABI to use. Permissible values are:
# soft softfp hard
TARGET_FLOAT="softfp"
# TARGET_FPU:
# This specifies what floating point hardware (or hardware emulation) is
# available on the target. Permissible names are:
@ -75,6 +80,8 @@
;;
esac
# Build optimizations (size/normal/speed)
OPTIMIZATIONS="speed"

View File

@ -65,6 +65,11 @@
#
TARGET_CPU="cortex-a9"
# TARGET_FLOAT:
# Specifies which floating-point ABI to use. Permissible values are:
# soft softfp hard
TARGET_FLOAT="softfp"
# TARGET_FPU:
# This specifies what floating point hardware (or hardware emulation) is
# available on the target. Permissible names are: