On Sun, Dec 28, 2003 at 03:57:18PM -0500, Paul M Foster wrote: > I'm trying to build the Wacom tablet driver from the linuxwacom project,
Ask there. > and in attempting to load the resultant wacom.o module, I get three > unresolved symbols: > > input_register_device_Rd7e250e3 > input_event_Rbe7e42b3 > input_unregister_device_Rcf34c401 The _R..... part is module versioning stuff. If only this part of the name would differ, recompile the kernel and the module using common sources. > I have the 2.4.18-1-k6 kernel image that loads at boot. In order to > build this module, I installed the 2.4.18-1-k6 kernel package and built > the source using the .config file in my /boot partition. Now, I find the > same symbols published in: > > /lib/modules/2.4.18-1-k6/kernel/drivers/input/input.o > > that I just built. However, these may not be the same symbols published > by the actual running kernel, and I don't know how to tell what those > are. A tit for tat: What you're looking for is /proc/ksyms (AFAICT). Now how *did* you determine which symbols the input.o publishes? > So I suppose the question is: does a built module attempt to reconcile > its symbols with a running kernel or with the one you've just built? (I > hope this makes sense.) It does, but it's almost silly :-) -- The compilation of a new kernel, or of any program, for that matter, doesn't mess with the kernel symbol table. If I understand it correctly, the kernel symbol table is just a bunch of name-address pairs, which allow different parts of the kernel to use common functions. When you insmod a kernel, it may append to the table, or even overwrite some entries, usually with pointers to the functions it itself provides. If everything is done correctly, other modules, or the core kernel, can use the new functions now. The module may requires some functions to be present, too. And this is your situation. input.o provides some functions wacom.o uses. You have to insmod the input.o module, in order to use the wacom.o module. HTH. Jan. -- Jan Minar "Please don't CC me, I'm subscribed." x 4
pgp00000.pgp
Description: PGP signature