Interworking for Arm-Elf
David Mc Kenna
mckennad@esatclear.ie
Thu Feb 21 02:55:00 GMT 2002
Hi all,
I have compiled Binutils/GCC using the following script. I have enable interworking
for both binutils and gcc but when I print "arm-elf-gcc -print-multi-lib all
i get is thumb;@mthumb. Also when I use gcc to compile a c file using the -mthumb-interwork
i get the following error about lb not supporting interworking:
/c/arm/lib/gcc-lib/arm-thumb-elf/3.0.3/../../../../arm-thumb-elf/bin/ld: Warning:
/c/arm/lib/gcc-lib/arm-thumb-elf/3.0.3/thumb/libgcc.a(__main.o) does not support
interworking, whereas c:/test/temp2/test.elf does
This is approximately 30 of these warnings, but the file compiles not problems.
The scripts that I use are :-
#!/bin/bash
export MAKE_MODE=UNIX
export host=i686-pc-cygwin
export build=i686-pc-cygwin
export target=arm-elf
export prefix=/c/arm
export src_root=/usr/local/src/gnu1
export gccver=gcc-3.0.3
export newlibver=newlib-1.9.0
export gdbver=gdb-5.1.1
export insightver=insight-5.1.1
export binutilsver=binutils-020124
export PATH=$prefix/bin:$PATH
\rm -fr $src_root
\rm -rf $prefix
cd
echo Starting $target
echo Starting Setup
/home/dmckenn/script/setup
echo Setup Completed
echo Starting Binutils
/home/dmckenn/script/binutils
echo Binutils Completed
echo Starting Gcc $gccver
/home/dmckenn/script/gcc
echo Gcc $gccver Completed
where setup:
mkdir -p $src_root
cd /tmp
bunzip2 $newlibver.tar.bz2
bunzip2 $gccver.tar.bz2
bunzip2 $binutilsver.tar.bz2
cd $src_root
tar -xf /tmp/$newlibver.tar
tar -xf /tmp/$gccver.tar
tar -xf /tmp/$binutilsver.tar
cd /tmp
bzip2 $newlibver.tar
bzip2 $gccver.tar
bzip2 $binutilsver.tar
mkdir -p $src_root/BUILD/binutils
mkdir -p $src_root/BUILD/logs
mkdir -p $src_root/BUILD/newlib
mkdir -p $src_root/BUILD/gcc
where binutils:
cd $src_root/BUILD/binutils
\rm -rf *
$src_root/$binutilsver/configure \
--with-included-gettext --enable-multilib \
--with-newlib --with-gnu-as --with-gnu-ld --enable-win32-registry \
--target=$target --host=$host --build=$build \
--enable-interwork --disable-shared \
--prefix=$prefix > ../logs/binutils_configure.log 2>&1
# Make Binutils
make -w all install > ../logs/binutils_make.log 2>&1
where gcc:
cd $src_root/BUILD/gcc && rm -rf *
echo Configure and make bootstrap compiler
$src_root/$gccver/configure \
--with-newlib --with-headers=$src_root/$newlibver/newlib/libc/include
--with-gnu-as --with-gnu-ld --enable-win32-registry \
--target=$target --prefix=$prefix --exec-prefix=$prefix --host=$host --with-cpu=arm7tdmi
\
--enable-multilib --enable-interwork --disable-shared --enable-languages=c
> ../logs/gcc_boot_bootstrap.log 2>&1
make all-gcc install-gcc > ../logs/gcc_boot_makeboot.log 2>&1
echo Configure and make newlib
cd $src_root/BUILD/newlib
$src_root/newlib-1.9.0/configure --target=$target --prefix=$prefix > ../logs/newlib_configure.log
2>&1
make all install > ../logs/newlib_make.log 2>&1
cd $src_root/BUILD/gcc && rm -rf *
echo Configure and make full compiler
$src_root/$gccver/configure \
--enable-languages=c,c++ \
--target=$target --host=$host --build=$build --enable-win32-registry \
--with-newlib \
--prefix=$prefix \
--exec-prefix=$prefix \
--enable-multilib --enable-interwork \
--with-gnu-as --with-gnu-ld -v > ../logs/gcc_full_configure.log 2>&1
make -w all install > ../logs/gcc_full_make.log 2>&1
Any help enabling interworking would be greatly appreciated,
Thanks,
Dave Mc Kenna
--
http://www.iol.ie
------
Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
More information about the crossgcc
mailing list