scripts/build/arch/powerpc.sh
author Sam Ravnborg <sam@ravnborg.org>
Sun Apr 03 18:22:00 2011 +0200 (2011-04-03)
changeset 2371 c131e30363ee
parent 1181 2e88d85d6ffc
child 2675 7c288c777455
permissions -rw-r--r--
arch/sparc: add absic support

Add support for building SPARC targeted toolchain.
With this patch I have built a working sparc V8 (32 toolchain).

Testing shows that not all gcc versions works well:
4.4.1 OK (kernel builds and the final kernel can boot)
4.4.2 Not tested
4.4.3 Not tested
4.4.4 BAD (Kernel can build but fails during boot)
4.4.5 BAD (Kernel can build but fails during boot)
4.5.1 BAD (Build fails with a spill related ICE - http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35664)
4.5.2 OK (kernel builds and boots)

I have successfully been using the 4.5.2 version for a few months.

This patch does not add support for the LEON variant.
That may come later.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
[yann.morin.1998@anciens.enib.fr: for 32-bit, default CT_TARGET_ARCH is OK]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@520
     1
# Compute powerpc-specific values
yann@520
     2
yann@1634
     3
CT_DoArchTupleValues () {
yann@1634
     4
    # The architecture part of the tuple, override only for 64-bit
yann@1634
     5
    if [ "${CT_ARCH_64}" = "y" ]; then
yann@1634
     6
        CT_TARGET_ARCH="powerpc64"
yann@1634
     7
    fi
yann@1634
     8
yann@1634
     9
    # Add spe in the tuple if needed
yann@1634
    10
    case "${CT_LIBC},${CT_ARCH_POWERPC_SPE}" in
yann@1634
    11
        glibc,|eglibc,)   CT_TARGET_SYS=gnu;;
yann@1634
    12
        glibc,y|eglibc,y) CT_TARGET_SYS=gnuspe;;
yann@1634
    13
    esac
yann@1634
    14
yann@1634
    15
    # Add extra flags for SPE if needed
yann@1634
    16
    if [ "${CT_ARCH_POWERPC_SPE}" = "y" ]; then
yann@1634
    17
        CT_ARCH_TARGET_CFLAGS="-mabi=spe -mspe"
yann@1634
    18
        CT_ARCH_CC_CORE_EXTRA_CONFIG="--enable-e500_double"
yann@1634
    19
        CT_ARCH_CC_EXTRA_CONFIG="--enable-e500_double"
yann@1634
    20
    fi
yann@1634
    21
}