Undefined references to __udivsi3 and __umodsi3 (arm-elf)

Peter Tiang petertiang@syabas.com
Thu Oct 17 15:01:00 GMT 2002

Thanks for the clarification, guys.

Next issue when libgcc.a is linked is
undefined reference to `atexit' in function

I believe this is from calls to __gccmain
made from main().

Is there a FAQ somewhere as this seems to
be quite common issues.


> Yes.  The libgcc library contains C operations such as divide, mod,
> (you are missing a divide and mod operator below).  Such operations
> 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.

More information about the Newlib mailing list