yann@383: # Compute ARM-specific values yann@383: yann@964: CT_DoArchTupleValues() { yann@383: # The architecture part of the tuple: yann@3262: case "${CT_ARCH_BITNESS}" in yann@3262: 32) yann@3262: CT_TARGET_ARCH="${CT_ARCH}${CT_ARCH_SUFFIX:-${target_endian_eb}}" yann@3262: ;; yann@3262: 64) yann@3262: # ARM 64 (aka AArch64) is special yann@3262: [ "${CT_ARCH_BE}" = "y" ] && target_endian_eb="_be" yann@3262: CT_TARGET_ARCH="aarch64${CT_ARCH_SUFFIX:-${target_endian_eb}}" yann@3262: ;; yann@3262: esac yann@383: yann@385: # The system part of the tuple: yann@385: case "${CT_LIBC},${CT_ARCH_ARM_EABI}" in yann@787: *glibc,y) CT_TARGET_SYS=gnueabi;; yann@385: uClibc,y) CT_TARGET_SYS=uclibcgnueabi;; yann@1591: *,y) CT_TARGET_SYS=eabi;; yann@385: esac yann@1596: antony@2563: # Set the default instruction set mode yann@1596: case "${CT_ARCH_ARM_MODE}" in yann@1596: arm) ;; yann@1596: thumb) yann@1596: CT_ARCH_CC_CORE_EXTRA_CONFIG="--with-mode=thumb" yann@1596: CT_ARCH_CC_EXTRA_CONFIG="--with-mode=thumb" yann@1596: # CT_ARCH_TARGET_CFLAGS="-mthumb" yann@1596: ;; yann@1596: esac yann@1597: yann@1597: if [ "${CT_ARCH_ARM_INTERWORKING}" = "y" ]; then yann@1597: CT_ARCH_TARGET_CFLAGS+=" -mthumb-interwork" yann@1597: fi yann@3158: yann@3158: if [ "${CT_ARCH_ARM_TUPLE_USE_EABIHF}" = "y" ]; then yann@3158: CT_TARGET_SYS="${CT_TARGET_SYS}hf" yann@3158: fi yann@383: }