Thanks to those who answered my previous question.  I have a new one. 
I've got Rubini's book, "Linux Device Drivers" and I'm trying the little
sample program demonstrated in the first chapter.  The program is very
simple and looks like:

#define MODULE
#include <linux/module.h>

int init_module(void) { printk("<1>Hello World\n"); return 0; }
void cleanup_module(void) { printk("<1>Goodbye World\n"); }

It compiles with 

gcc -c hello.c

The problem comes when I try to install it.  I have two machines, on the
first, both RedHat distributions.  The first is RH6.0 (2.2.5-5) and the
other is RH6.2 (2.2.14-5).  On the first machine I do:

insmod hello.o

and the module is installed.  On the second machine, with the newer
kernel I do the same thing and printk is unresolvable.  I've tried a
number of insmod options to no avail.  The kernel is built to support
dynamic modules so why can't the modules see any of the exported
functions?  One other difference is that the kernel on the older machine
has been rebuilt in the past (for unrelated reasons) and the newer
machine has not and so has no kernel object code laying around.

Any ideas?
Thanks,
Seth

-- 

Seth Bernsen
V-CPU Engineer
Innoveda, Inc.
Phone: 651-765-2252
Fax: 651-765-2205
http://www.innoveda.com