Fix the EABI case for ARM.
/trunk/arch/arm/functions | 17 17 0 0 +++++++++++++++++
/trunk/arch/arm/config.in | 3 3 0 0 +++
2 files changed, 20 insertions(+)
1.1 --- a/arch/arm/config.in Wed May 14 17:58:07 2008 +0000
1.2 +++ b/arch/arm/config.in Wed May 14 17:59:52 2008 +0000
1.3 @@ -7,3 +7,6 @@
1.4 default n
1.5 help
1.6 Set up the toolchain so that it generates EABI-compliant binaries.
1.7 +
1.8 +config ARCH_ABI
1.9 + default "aapcs" if ARCH_ARM_EABI
2.1 --- a/arch/arm/functions Wed May 14 17:58:07 2008 +0000
2.2 +++ b/arch/arm/functions Wed May 14 17:59:52 2008 +0000
2.3 @@ -11,4 +11,21 @@
2.4 uClibc,) CT_TARGET_SYS=uclibc;;
2.5 uClibc,y) CT_TARGET_SYS=uclibcgnueabi;;
2.6 esac
2.7 +
2.8 + case "${CT_ARCH_ABI},${CT_ARCH_ARM_EABI}" in
2.9 + *,) ;;
2.10 + aapcs,y)
2.11 + CT_DoLog DEBUG "'--with-abi=aapcs' is in fact '-mabi=aapcs-linux' when used in CFLAGS."
2.12 + CT_ARCH_ABI_CFLAGS="-mabi=aapcs-linux"
2.13 + ;;
2.14 + ,y)
2.15 + CT_DoLog WARN "Forcing ABI to 'aapcs-linux' for use with EABI."
2.16 + CT_ARCH_WITH_ABI="--with-abi=aapcs"
2.17 + CT_ARCH_ABI_CFLAGS="-mabi=aapcs-linux"
2.18 + ;;
2.19 + *,y)
2.20 + CT_DoLog ERROR "ABI='${CT_ARCH_ABI}' not supported for EABI."
2.21 + CT_Abort "If you know you are right, please edit 'arch/arm/functions' in crosstool-NG sources."
2.22 + ;;
2.23 + esac
2.24 }