This is the mail archive of the newlib@sources.redhat.com mailing list for the newlib 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]

Re: Fw: Undefined references to __udivsi3 and __umodsi3 (arm-elf)


Peter Tiang wrote:
> 
> > A little bit confused here.
> >
> > We're trying to avoid the standard system startup
> > files and library (libgcc.a), that's why we chooses
> > to use "newlib". We flagged gcc with "-nostdlib"
> > to avoid linking in of libgcc.a.
> >
> > You mean we still need libgcc.a despite of already
> > linking in newlib libraries ?
> >
> >

Yes.  The libgcc library contains C operations such as divide, mod, multiply...
(you are missing a divide and mod operator below).  Such operations require
target-specific code and sometimes are too big/complex to generate in-line so the compiler
creates functions for them and generates calls whenever C code (including newlib) uses them.  
They do not belong in the C library as they are part of supporting the
C language for the platform.

-- Jeff J.

> > >
> > >
> > > Peter Tiang wrote:
> > > >
> > > > I'm having trouble with undefined references
> > > > to __udivsi3 and __umodsi3.
> > > >
> > > > My target is arm-elf and my linker command line is
> > > >
> > > > $(LD) --gc-section -Ttext 0x01300000 -o $@ $^ $(LIBC)/crt0.o
> > $(LIBC)/libc.a
> > > > $(LIBC)/libm.a
> > > >
> > > > Anything I'm missing here ?
> > >
> > > libgcc.a?
> > >
> > > --
> > > Joel Sherrill, Ph.D.             Director of Research & Development
> > > joel@OARcorp.com                 On-Line Applications Research
> > > Ask me about RTEMS: a free RTOS  Huntsville AL 35805
> > > Support Available                (256) 722-9985
> > >
> >


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