Doubt regarding __udivdi3

Ponmuthu Subramaniam Nandan subbunp at
Wed Jan 5 08:51:05 EST 2011

Hi Gaurav,

I'm trying to insert a module into the kernel ( There are no
> errors during the "make" phase. There are only warnings regarding two
> symbols :
> WARNING: "__udivdi3"
> [/media/Study/project_work/splitting_merging/radc_try1/radc1.ko]
> undefined!
> WARNING: "__umoddi3"
> [/media/Study/project_work/splitting_merging/radc_try1/radc1.ko]
> undefined!
> The symbol __udivdi3 & __umoddi3 are compiler generated functions calls for
Arithmetic function in your code (In this case its division). The
definitions of that function
(for the specific ARCH your are building for) would be in the respective
libraries (libgcc).

In your case, verify where you are (a) using the right cross compilers  &
(b) right cross-compiling libraries to link.
Compile & Link without errors, and you should be able to insert the module

And one more thing, the libraries used for linking as well as libraries used
during run time should be same
to ensure ABI (Application binary interface) compatibility between them.
ABI defines the standard for procedure call.

-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Kernelnewbies mailing list