scripts/build/tools/100-libelf.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Oct 14 17:42:10 2008 +0000 (2008-10-14)
changeset 929 7c958fb04f28
parent 663 3c8d3ef50106
child 1112 c72aecd1a9ef
permissions -rw-r--r--
Sample config for e500v2 toolchain

On Tuesday 14 October 2008 17:05:31 Nate Case wrote:
> This is a sample config file for Freescale e500v2 processors (e.g.,
> MPC8548, MPC8572). It uses eglibc (for e500/SPE patches) and a recent
> gcc (4.3.1, for e500v2 DPFP support) and will generate appropriate
> dual-precision floating point instructions by default.
>
> Note: If building a Linux kernel with this toolchain, you will want to
> make sure -mno-spe AND -mspe=no are passed to gcc to prevent SPE
> ABI/instructions from getting into the kernel (which is currently
> unsupported). At this time, the kernel build system only passes
> -mno-spe by default (this should be fixed soon hopefully).
>
> A binutils snapshot is used to fix a bug present in 2.18 preventing
> U-Boot from being compiled (CodeSourcery issue #2297: internal.h
> (ELF_IS_SECTION_IN_SEGMENT): Adjust to cope with segments at the end of
> memory).

Obsoletes the powerpc-unknown-linux-gnuspe sample, so remove it.

/trunk/samples/powerpc-e500v2-linux-gnuspe/crosstool.config | 307 307 0 0 +++++++++++++++++++
1 file changed, 307 insertions(+)
yann@479
     1
# Build script for libelf
yann@479
     2
yann@479
     3
do_print_filename() {
yann@479
     4
    echo "libelf-${CT_LIBELF_VERSION}"
yann@479
     5
}
yann@479
     6
yann@479
     7
do_tools_libelf_get() {
yann@479
     8
    # The server hosting libelf will return an "HTTP 300 : Multiple Choices"
yann@479
     9
    # error code if we try to download a file that does not exists there.
yann@479
    10
    # So we have to request the file with an explicit extension.
yann@479
    11
    CT_GetFile "libelf-${CT_LIBELF_VERSION}" .tar.gz http://www.mr511.de/software/
yann@479
    12
}
yann@479
    13
yann@479
    14
do_tools_libelf_extract() {
yann@479
    15
    CT_ExtractAndPatch "libelf-${CT_LIBELF_VERSION}"
yann@479
    16
}
yann@479
    17
yann@479
    18
do_tools_libelf_build() {
yann@479
    19
    CT_DoStep INFO "Installing libelf"
yann@479
    20
    mkdir -p "${CT_BUILD_DIR}/build-libelf"
yann@479
    21
    CT_Pushd "${CT_BUILD_DIR}/build-libelf"
yann@479
    22
yann@479
    23
    CT_DoLog EXTRA "Configuring libelf"
yann@479
    24
    CC="${CT_TARGET}-gcc"                                   \
yann@663
    25
    CT_DoExecLog ALL                                        \
yann@479
    26
    "${CT_SRC_DIR}/libelf-${CT_LIBELF_VERSION}/configure"   \
yann@479
    27
        --build=${CT_BUILD}                                 \
yann@479
    28
        --host=${CT_TARGET}                                 \
yann@479
    29
        --target=${CT_TARGET}                               \
yann@479
    30
        --prefix=/usr                                       \
yann@479
    31
        --enable-compat                                     \
yann@479
    32
        --enable-elf64                                      \
yann@479
    33
        --enable-shared                                     \
yann@479
    34
        --enable-extended-format                            \
yann@663
    35
        --enable-static
yann@479
    36
yann@479
    37
    CT_DoLog EXTRA "Building libelf"
yann@663
    38
    CT_DoExecLog ALL make
yann@479
    39
yann@479
    40
    CT_DoLog EXTRA "Installing libelf"
yann@663
    41
    CT_DoExecLog ALL make instroot="${CT_SYSROOT_DIR}" install
yann@479
    42
yann@479
    43
    CT_Popd
yann@479
    44
    CT_EndStep
yann@479
    45
}
yann@479
    46