scripts/build/arch/arm.sh
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Mon Dec 30 23:28:18 2013 +0100 (2013-12-30)
changeset 3262 87ad9e82546d
parent 3169 9d0b37f08a10
permissions -rw-r--r--
arch/arm: add support for AArch64

AArch64 id the 64-bit variant for ARM.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Zhenqiang Chen <zhenqiang.chen@linaro.org>
Cc: Michael Hope <michael.hope@linaro.org>
     1 # Compute ARM-specific values
     2 
     3 CT_DoArchTupleValues() {
     4     # The architecture part of the tuple:
     5     case "${CT_ARCH_BITNESS}" in
     6         32)
     7             CT_TARGET_ARCH="${CT_ARCH}${CT_ARCH_SUFFIX:-${target_endian_eb}}"
     8             ;;
     9         64)
    10             # ARM 64 (aka AArch64) is special
    11             [ "${CT_ARCH_BE}" = "y" ] && target_endian_eb="_be"
    12             CT_TARGET_ARCH="aarch64${CT_ARCH_SUFFIX:-${target_endian_eb}}"
    13             ;;
    14     esac
    15 
    16     # The system part of the tuple:
    17     case "${CT_LIBC},${CT_ARCH_ARM_EABI}" in
    18         *glibc,y)   CT_TARGET_SYS=gnueabi;;
    19         uClibc,y)   CT_TARGET_SYS=uclibcgnueabi;;
    20         *,y)        CT_TARGET_SYS=eabi;;
    21     esac
    22 
    23     # Set the default instruction set mode
    24     case "${CT_ARCH_ARM_MODE}" in
    25         arm)    ;;
    26         thumb)
    27             CT_ARCH_CC_CORE_EXTRA_CONFIG="--with-mode=thumb"
    28             CT_ARCH_CC_EXTRA_CONFIG="--with-mode=thumb"
    29 #            CT_ARCH_TARGET_CFLAGS="-mthumb"
    30             ;;
    31     esac
    32 
    33     if [ "${CT_ARCH_ARM_INTERWORKING}" = "y" ]; then
    34         CT_ARCH_TARGET_CFLAGS+=" -mthumb-interwork"
    35     fi
    36 
    37     if [ "${CT_ARCH_ARM_TUPLE_USE_EABIHF}" = "y" ]; then
    38         CT_TARGET_SYS="${CT_TARGET_SYS}hf"
    39     fi
    40 }