From
: Jan Hubicka <jh at suse dot cz>
To
: Samuel <samuelhard at yahoo dot com>
Cc
: gcc at gcc dot gnu dot org, gcc at gnu dot org
Date
: Mon, 19 Aug 2002 19:53:02 +0200
Subject
: Re: what is the use of __umoddi3() and __udivdi3() in the function printf()?
References
: <
[email protected]
>
> I tried to create a program which independant of all system and standard libs. When i modified and make the printf function, the linker says missing symbols ___umoddi3 and ___udivdi3. I globaly declared two functions with the name of the above and complied the program, it works fine now. However i want know what is the use of the above symbols, can you tell me what is the use of these functions or variables?
Some operations not supported by hardware directly are turned into calls
of runtime. In this case ___umoddi3 does 64bit modulo and ___udivdi3
divide operation. You may want to link the runtime (libgcc.a) into your
program to get proper implementations. The libgcc.a is independent on
the rest of environment so it should not cause problems for you.
Honza