Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: Newlib problem

2005-04-05 by ntfreak2000

--- In lpc2000@yahoogroups.com, Leonardo Santos <lsantos@p...> wrote:
> Rebuilding my toolchain and searching where _udivsi3.o was 
compiled, I noticed 
> that there are four versions of libgcc.a:
> 
> lib/gcc/arm-elf/3.4.3
> lib/gcc/arm-elf/3.4.3/thumb
> lib/gcc/arm-elf/3.4.3/interwork
> lib/gcc/arm-elf/3.4.3/thumb/interwork
> 
> The first is compiled with no options. The second with -mthumb, the 
third with 
> -mthumb-interwork and the last one with -mthumb -mthumb-interwork. 
By using 
> -L to include the appropriate one (in my case, 
> lib/gcc/arm-elf/3.4.3/interwork), all erros went away. So sorry for 
raising a 
> flag for no reason.
> Thanks a lot!
> 
> On Monday 04 April 2005 13:01, Robert Adsett wrote:
> > At 12:00 PM 4/4/05 -0300, Leonardo Santos wrote:
> > >         First, than you all for the answers on my previous 
question about
> > > a C union
> > >not working for IO access. I'm now compiling some programs with 
GCC 3.4.3
> > > and newlib 1.12. I've download the source packages from
> > > http://rod.info/arm.html and used his build script to build the
> > > toolchain. All went very smooth. I've been able to compile 
FreeRTOS for
> > > LPC2106 and tried to blink some LEDs
> > >(hence the question about the C union), but when I try to use 
any code
> > > from the newlib, I get the following warning:
> > >
> > >arm-elf-ld: Warning: /opt/arm/lib/gcc/arm-elf/3.4.3//libgcc.a
(_udivsi3.o)
> > >does
> > >not support interworking, whereas test2.prg does
> >
> > It's complaining that the C compiler library is not compiled with
> > internetworking.  In this case it's trying to link in a division
> > routine.  Newlib does not provide these, they are built with gcc 
normally.
> >
> > Robert


It sounds like you are calling ld directly on the command line.
If you use gcc to perform the link then the correct libs will always 
be used.

Regards
Spen

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.