This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]