scripts/build/arch/powerpc.sh
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Wed Aug 01 19:02:06 2012 +0200 (2012-08-01)
changeset 3023 c71635732a59
parent 2675 7c288c777455
child 3169 9d0b37f08a10
permissions -rw-r--r--
cc/gcc: always build core pass-1

Up until now, all conditions requiring a core pass-1 was when the
threading implementation used was NPTL. So we only built the core
pass-1 when NPTL was used.

Now, things have changed (what? when? Dunno...), and some bare-metal
canadian toolchains fail to build if a core pass-1 is not present.

OTOH, a core pass-1, although not needed for non-NPTL builds, does
no harm at all if it is present.

So, unconditionally build a core pass-1 (but still pass conditional
options to the core backend).

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