[PATCH] gcc: add support for the PowerPC EABI
Mircea Gherzan
mgherzan@gmail.com
Fri Sep 16 00:20:00 GMT 2011
# HG changeset patch
# User Mircea Gherzan <mgherzan@gmail.com>
# Date 1316132293 -7200
# Node ID ddb7a1b016c824a0ddaf97768d37c1a1fb287156
# Parent eda6ef5a2532607ab7060814eb8b786bd361ab11
gcc: add support for the PowerPC EABI
diff -r eda6ef5a2532 -r ddb7a1b016c8 config/arch/powerpc.in.2
--- a/config/arch/powerpc.in.2 Mon Sep 12 12:54:45 2011 +0200
+++ b/config/arch/powerpc.in.2 Fri Sep 16 02:18:13 2011 +0200
@@ -1,8 +1,31 @@
# powerpc specific configuration file
-config ARCH_POWERPC_SPE
+config ARCH_POWERPC_ABI
+ string
+ default "" if ARCH_POWERPC_ABI_DEFAULT
+ default "eabi" if ARCH_POWERPC_ABI_EABI
+ default "spe" if ARCH_POWERPC_ABI_SPE
+
+choice
bool
- prompt "Enable SPE support"
+ prompt "ABI"
+ default ARCH_POWERPC_ABI_DEFAULT
+
+config ARCH_POWERPC_ABI_DEFAULT
+ bool
+ prompt "default"
+ help
+ The default ABI (System V.4).
+
+config ARCH_POWERPC_ABI_EABI
+ bool
+ prompt "EABI"
+ help
+ The Embedded ABI (stack alignment of 8 bytes, etc).
+
+config ARCH_POWERPC_ABI_SPE
+ bool
+ prompt "SPE"
help
Add support for the Signal Processing Engine. This will set up
the toolchain so that it supports the SPE ABI extensions. This
@@ -14,3 +37,6 @@
will also automatically add "-mabi=spe -mspe" to your TARGET_CFLAGS,
and "--enable-e500_double" to your CC_EXTRA_CONFIG_ARRAY, so you
do not need to explicitly add them.
+
+endchoice
+
diff -r eda6ef5a2532 -r ddb7a1b016c8 scripts/build/arch/powerpc.sh
--- a/scripts/build/arch/powerpc.sh Mon Sep 12 12:54:45 2011 +0200
+++ b/scripts/build/arch/powerpc.sh Fri Sep 16 02:18:13 2011 +0200
@@ -6,14 +6,23 @@
CT_TARGET_ARCH="powerpc64"
fi
- # Add spe in the tuple if needed
- case "${CT_LIBC},${CT_ARCH_POWERPC_SPE}" in
- glibc,|eglibc,) CT_TARGET_SYS=gnu;;
- glibc,y|eglibc,y) CT_TARGET_SYS=gnuspe;;
+ CT_TARGET_SYS="gnu"
+ case "${CT_ARCH_POWERPC_ABI}" in
+ "") ;;
+ eabi)
+ CT_TARGET_SYS="eabi";;
+ spe)
+ case "${CT_LIBC}" in
+ glibc|eglibc)
+ CT_TARGET_SYS="gnuspe";;
+ *)
+ CT_TARGET_SYS="spe";;
+
+ esac;;
esac
# Add extra flags for SPE if needed
- if [ "${CT_ARCH_POWERPC_SPE}" = "y" ]; then
+ if [ "${CT_ARCH_POWERPC_ABI_SPE}" = "y" ]; then
CT_ARCH_TARGET_CFLAGS="-mabi=spe -mspe"
CT_ARCH_CC_CORE_EXTRA_CONFIG="--enable-e500_double"
CT_ARCH_CC_EXTRA_CONFIG="--enable-e500_double"
--
For unsubscribe information see http://sourceware.org/lists.html#faq
More information about the crossgcc
mailing list