mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-02-20 09:06:19 +00:00
gcc: add support for the PowerPC EABI
Signed-off-by: Mircea Gherzan <mgherzan@gmail.com> [yann.morin.1998@anciens.enib.fr: rm trailing space] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
This commit is contained in:
parent
4785e58e42
commit
6fea2cfd09
@ -1,8 +1,32 @@
|
||||
# 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"
|
||||
depends on BARE_METAL
|
||||
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 +38,5 @@ config ARCH_POWERPC_SPE
|
||||
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
|
||||
|
@ -6,14 +6,20 @@ CT_DoArchTupleValues () {
|
||||
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"
|
||||
|
Loading…
x
Reference in New Issue
Block a user