This is the mail archive of the
mailing list for the GCC project.
Re: what is the use of __umoddi3() and __udivdi3() in the function printf()?
- 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: <firstname.lastname@example.org>
> 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.