Cross compiler libgcc.a with -mthumb-interwork
John Carter
john.carter@tait.co.nz
Tue Jun 21 22:35:00 GMT 2005
I'm trying to create a cross compiler hosted on i386 linux targetting an
embedded arm thumb device with thumb-interworking on.
When I attempt to link my app which has some ARM
code in it (hence the need for interwork) I get this message...
/opt/gcc4thumb/lib/gcc/arm-elf/4.1.0/../../../../arm-elf/bin/ld:
Warning:
/opt/gcc4thumb/lib/gcc/arm-elf/4.1.0/thumb/libgcc.a(_udivdi3.o) does not
support interworking, whereas test_Application does
(I'm trying to get an estimate of how much ram/flash our very resource
constrained embedded app will use if we move to gcc 4.1 when it comes out.)
I have tried configuring CVS version of gcc latest to..
../combined/configure --target=arm-elf --enable-languages=c,c++ \
--with-newlib --prefix=/opt/gcc4arm --with-cpu=arm7tdmi \
--enable-target-optspace
I have tried exporting the following flags before building...
export CFLAGS_FOR_TARGET='-Os -mthumb -mthumb-interwork'
export CXXFLAGS_FOR_TARGET='-Os -mthumb -mthumb-interwork'
export LDFLAGS_FOR_TARGET='-Os -mthumb -mthumb-interwork'
export LIBCFLAGS_FOR_TARGET='-Os -mthumb -mthumb-interwork'
export LIBCXXFLAGS_FOR_TARGET='-Os -mthumb -mthumb-interwork'
but no success.
Please, what is the magic handshake to do this? I been around this track
sooo many times, in soo many different ways, I'm getting tired of my own
tail!
(One of the other routes I tried was building --target=thumb-elf, but gas
doesn't support that...)
Thanks for your patience,
John Carter Phone : (64)(3) 358 6639
Tait Electronics Fax : (64)(3) 359 4632
PO Box 1645 Christchurch Email : john.carter@tait.co.nz
New Zealand
Carter's Clarification of Murphy's Law.
"Things only ever go right so that they may go more spectacularly wrong later."
>From this principle, all of life and physics may be deduced.
More information about the Gcc
mailing list