2003-02-25 06:30:41

by sudharsan vijayaraghavan

[permalink] [raw]
Subject: Unresolved symbol error in __wake_up_sync

Hi
We wrote a module in which we used wake_up_interruptible,
wake_up_interruptible_sync calls and when I compiled it into a
module
with the appropriate Macros, it gets compiled properly.
But once, when I try to load the module with insmod, I get
__wake_up_sync - unresolved symbol?
What module should I load to get out this error? I am using
2.4.7-10.

Please help us out.

Regards,
Sudharsan.


2003-02-25 06:42:16

by Roland Dreier

[permalink] [raw]
Subject: Re: Unresolved symbol error in __wake_up_sync

sudharsan> We wrote a module in which we used
sudharsan> wake_up_interruptible, wake_up_interruptible_sync calls
sudharsan> and when I compiled it into a module with the
sudharsan> appropriate Macros, it gets compiled properly. But
sudharsan> once, when I try to load the module with insmod, I get
sudharsan> __wake_up_sync - unresolved symbol? What module should
sudharsan> I load to get out this error?

You don't need to load another module, since __wake_up_sync is part of
the kernel. You are probably running into a problem with module
versions. When you do:

$ grep __wake_up_sync /proc/ksyms

you will probably get something like:

c01147e0 __wake_up_sync_R08c2a6b5

The _R08c2a6b5 part of the symbol name is the version, which comes
from the ".ver" files in your kernel include tree. You will have to
include <linux/modversions.h> to get the correct definition for
__wake_up_sync.

By the way, 2.4.7 is an extremely old kernel, and you may avoid
problems by moving to something newer.

Best,
Roland