This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Multilib for thumb-interwork (arm-elf)
- From: "Alexander Raimondi" <araimond at ee dot ethz dot ch>
- To: <gcc-help at gcc dot gnu dot org>
- Date: Mon, 7 Jan 2002 23:08:17 +0100
- Subject: Multilib for thumb-interwork (arm-elf)
Hi
I recently succeeded in compiling GCC-3.0.2 for target arm-elf under newest
cygwin.
I wanna use newlib as libc.
I can't make gcc to generate any multilib.
To build gcc I untared all gcc files into a directory ./gcc-3.0.2.
I made a symbolic link to newlib source directory in gcc-3.0.2.
I made a second dir. ./build-gcc
Now i did
> cd build-gcc
> ../gcc-3.0.2/configure --target=arm-elf --prefix=/usr/local --with-gnu-as
\
--with-gnu-ld --with-newlib --enable-languages=c,c++ --enable-multilib --ena
ble-interwork
> make all install
Like this there is no multilib.
> arm-elf-gcc --print-multi-lib
brings out
.;
thumb;@mthumb
I had a look in some Makefiles in build-gcc. I found in
.build-gcc\gcc\Makefile the following section:
------ snip
MULTILIB_OPTIONS = marm/mthumb
MULTILIB_DIRNAMES = arm thumb
MULTILIB_EXCEPTIONS =
# MULTILIB_OPTIONS = mlittle-endian/mbig-endian
# MULTILIB_DIRNAMES = le be
# MULTILIB_EXCEPTIONS =
# MULTILIB_MATCHES = mbig-endian=mbe mlittle-endian=mle
#
# MULTILIB_OPTIONS += mhard-float/msoft-float
# MULTILIB_DIRNAMES += fpu soft
#
# MULTILIB_OPTIONS += mapcs-32/mapcs-26
# MULTILIB_DIRNAMES += 32bit 26bit
#
# MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork
# MULTILIB_DIRNAMES += normal interwork
# MULTILIB_EXCEPTIONS += *mapcs-26/*mthumb-interwork*
#
# MULTILIB_OPTIONS += fno-leading-underscore/fleading-underscore
# MULTILIB_DIRNAMES += elf under
#
# MULTILIB_OPTIONS += mcpu=arm7
# MULTILIB_DIRNAMES += nofmult
# MULTILIB_EXCEPTIONS += *mthumb-interwork*/*mcpu=arm7*
# # We have to match all the arm cpu variants which do not have the
# # multiply instruction and treat them as if the user had specified
# # -mcpu=arm7. Note that in the following the ? is interpreted as
# # an = for the purposes of matching command line options.
# # FIXME: There ought to be a better way to do this.
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7d
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7di
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm70
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm700
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm700i
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm710
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm710c
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7100
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7500
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7500fe
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm6
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm60
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm600
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm610
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm620
EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o
# If EXTRA_MULTILIB_PARTS is not defined above then define EXTRA_PARTS here
# EXTRA_PARTS = crtbegin.o crtend.o
---- snap
I don't understand how to whole build of gcc realy works (won't be that
easy, isn't it?). So maybe there is someone outthere that can
tell me what's wrong. How can I get gcc to make interworking libs (newlib
and libgcc)?
Why are all this lines commented out?
Thanks for any hint
Alex