Don't allow to specify an ABI for ARM EABI builds: the ABI is implied by the fact we're building for EABI.
/trunk/arch/arm/functions | 19 3 16 0 +++----------------
/trunk/arch/arm/config.in | 9 6 3 0 ++++++---
2 files changed, 9 insertions(+), 19 deletions(-)
1.1 --- a/arch/arm/config.in Mon Sep 01 16:57:41 2008 +0000
1.2 +++ b/arch/arm/config.in Mon Sep 01 17:54:39 2008 +0000
1.3 @@ -4,7 +4,6 @@
1.4 select ARCH_SUPPORTS_BOTH_ENDIAN
1.5 select ARCH_DEFAULT_LE
1.6 select ARCH_SUPPORT_ARCH
1.7 - select ARCH_SUPPORT_ABI
1.8 select ARCH_SUPPORT_CPU
1.9 select ARCH_SUPPORT_TUNE
1.10 select ARCH_SUPPORT_FPU
1.11 @@ -20,5 +19,9 @@
1.12 help
1.13 Set up the toolchain so that it generates EABI-compliant binaries.
1.14
1.15 -config ARCH_ABI
1.16 - default "aapcs" if ARCH_ARM_EABI
1.17 +config ARCH_ARM_ABI_OK
1.18 + bool
1.19 + default y
1.20 + depends on ! ARCH_ARM_EABI
1.21 + select ARCH_SUPPORT_ABI
1.22 +
2.1 --- a/arch/arm/functions Mon Sep 01 16:57:41 2008 +0000
2.2 +++ b/arch/arm/functions Mon Sep 01 17:54:39 2008 +0000
2.3 @@ -12,20 +12,7 @@
2.4 uClibc,y) CT_TARGET_SYS=uclibcgnueabi;;
2.5 esac
2.6
2.7 - case "${CT_ARCH_ABI},${CT_ARCH_ARM_EABI}" in
2.8 - *,) ;;
2.9 - aapcs,y)
2.10 - CT_DoLog DEBUG "'--with-abi=aapcs' is in fact '-mabi=aapcs-linux' when used in CFLAGS."
2.11 - CT_ARCH_ABI_CFLAGS="-mabi=aapcs-linux"
2.12 - ;;
2.13 - ,y)
2.14 - CT_DoLog WARN "Forcing ABI to 'aapcs-linux' for use with EABI."
2.15 - CT_ARCH_WITH_ABI="--with-abi=aapcs"
2.16 - CT_ARCH_ABI_CFLAGS="-mabi=aapcs-linux"
2.17 - ;;
2.18 - *,y)
2.19 - CT_DoLog ERROR "ABI='${CT_ARCH_ABI}' not supported for EABI."
2.20 - CT_Abort "If you know you are right, please edit 'arch/arm/functions' in crosstool-NG sources."
2.21 - ;;
2.22 - esac
2.23 + # In case we're EABI, do *not* specify any ABI!
2.24 + # which means, either we do not have an ABI specified, or we're not EABI.
2.25 + CT_TestOrAbort "Internal error: CT_ARCH_ABI should not be set for EABI build." -z "${CT_ARCH_ABI}" -o -z "${CT_ARCH_ARM_EABI}"
2.26 }