scripts/build/arch/powerpc.sh
author Cody P Schafer <dev@codyps.com>
Mon May 12 00:02:13 2014 +0200 (2014-05-12)
changeset 3322 eb13867a034c
parent 3169 9d0b37f08a10
permissions -rw-r--r--
arch/powerpc: add powerpc64le support

Technically, I don't forbid powerpcle support either, but I'm not sure that
there is any library/compiler support for that at the moment (though the hw
technically makes it possible).

powerpc64le needs glibc 2.19 and gcc 4.9. I haven't looked into the support
tools, but at least gdb 7.5 is too old (7.7.1 definitely has support).

Also make powerpc64 non-experimental. It's practically old at this point.

Signed-off-by: Cody P Schafer <dev@codyps.com>
[yann.morin.1998@free.fr: use ${target_endian_le} and ${target_bits_64}]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <64bfbbced9dd8f62e0d6.1399801945@gun>
Patchwork-Id: 347775
     1 # Compute powerpc-specific values
     2 
     3 CT_DoArchTupleValues () {
     4     # The architecture part of the tuple
     5     CT_TARGET_ARCH="powerpc${target_bits_64}${target_endian_le}${CT_ARCH_SUFFIX}"
     6 
     7     # Only override values when ABI is not the default
     8     case "${CT_ARCH_powerpc_ABI}" in
     9         eabi)
    10             # EABI is only for bare-metal, so libc ∈ [none,newlib]
    11             CT_TARGET_SYS="eabi"
    12             ;;
    13         spe)
    14             case "${CT_LIBC}" in
    15                 none|newlib)    CT_TARGET_SYS="spe";;
    16                 *glibc)         CT_TARGET_SYS="gnuspe";;
    17                 uClibc)         CT_TARGET_SYS="uclibcgnuspe";;
    18             esac
    19             ;;
    20     esac
    21 
    22     # Add extra flags for SPE if needed
    23     if [ "${CT_ARCH_powerpc_ABI_SPE}" = "y" ]; then
    24         CT_ARCH_TARGET_CFLAGS="-mabi=spe -mspe"
    25         CT_ARCH_CC_CORE_EXTRA_CONFIG="--enable-e500_double"
    26         CT_ARCH_CC_EXTRA_CONFIG="--enable-e500_double"
    27     fi
    28 }