Fix the EABI case for ARM.
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed May 14 17:59:52 2008 +0000 (2008-05-14)
changeset 50307ec15b050a3
parent 502 9ed34efc09fc
child 504 63967c02b881
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(+)
arch/arm/config.in
arch/arm/functions
     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  }