Backport #973 from trunk: 1.2
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Sep 05 11:16:26 2008 +0000 (2008-09-05)
branch1.2
changeset 841918cc0a7bd0a
parent 840 e2fc8411b54b
child 842 c359aa844414
Backport #973 from trunk:
Don't allow to specify an ABI for ARM EABI builds: the ABI is implied by the fact we're building for EABI.

/branches/1.2/arch/arm/functions | 19 3 16 0 +++----------------
/branches/1.2/arch/arm/config.in | 9 6 3 0 ++++++---
2 files changed, 9 insertions(+), 19 deletions(-)
arch/arm/config.in
arch/arm/functions
     1.1 --- a/arch/arm/config.in	Fri Sep 05 11:15:28 2008 +0000
     1.2 +++ b/arch/arm/config.in	Fri Sep 05 11:16:26 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	Fri Sep 05 11:15:28 2008 +0000
     2.2 +++ b/arch/arm/functions	Fri Sep 05 11:16:26 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  }