interworking and multilib

Sean Kelley sean.sweng@gmail.com
Sun Jun 4 17:39:00 GMT 2006


I have been trying to get a functional interworking toolchain going.
My settings follow this post.  The problem I have come to determine is
that even though I specify intworking for GCC configuration, it comes
in to trouble because multilib is not enabled:

>You need to uncomment the multi-lib options that build the interworking
>variants of libgcc.a

How does one go about enabling it through crosstool?

Thanks,

Sean

arm.dat:

KERNELCONFIG=`pwd`/arm.config
TARGET=arm-iwmmxt-linux-gnu
TARGET_CFLAGS="-O -mthumb-interwork"
LINUX_DIR=linux-2.6.12
GLIBC_EXTRA_CONFIG="--without-fp"
GCC_EXTRA_CONFIG="--enable-interwork --with-interwork
--with-float=soft --with-cpu=iwmmxt --enable-cxx-flags=-mcpu=iwmmxt"

gcc-3.4.4-glibc-2.3.5.dat:

BINUTILS_DIR=binutils-2.15
GCC_DIR=gcc-3.4.4
GLIBC_DIR=glibc-2.3.5
LINUX_DIR=linux-2.6.12
LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.5


demo-arm.sh:


#!/bin/sh
set -ex
TARBALLS_DIR=$HOME/downloads
RESULT_TOP=/scratchbox/compilers
PREFIX=$RESULT_TOP/gcc-3.4.4-glibc-2.3.5
export TARBALLS_DIR RESULT_TOP PREFIX
GCC_LANGUAGES="c,c++"
export GCC_LANGUAGES

# Really, you should do the mkdir before running this,
# and chown /opt/crosstool to yourself so you don't need to run as root.
mkdir -p $RESULT_TOP
unset LD_LIBRARY_PATH

# Build the toolchain.  Takes a couple hours and a couple gigabytes.

# gcc-3.3 doesn't support this, need gcc-3.4
#eval `cat arm-iwmmxt.dat gcc-3.4.0-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm-iwmmxt.dat gcc-3.4.1-glibc-2.3.3.dat` sh all.sh --notest
#eval `cat arm-iwmmxt.dat gcc-3.4.1-glibc-20040827.dat` sh all.sh --notest
 eval `cat arm.dat gcc-3.4.4-glibc-2.3.5.dat` sh all.sh --notest

echo Done.

--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list