From: Geert U. <ge...@li...> - 2000-07-30 14:28:30
|
On Sat, 29 Jul 2000 fh...@at... wrote: > I decided to try developing my driver projects as modules in order to save > reboot cycles. When I do this, trying to follow the module programming > advice I got, I get unresolved symbols. How do I get rid of these? These > symbols appear to be routines burried in the kernel various places. General solution: add `EXPORT_SYMBOL(unknown_symbol)' to some kernel source file. > The PowerUP SCSI module: > > 53c770.o: unresolved symbol virt_to_phys virt_to_phys() is an inline function (see include/asm-ppc/io.h), so this should not happen. 1. Does the compiler complain about functions without a prototype? Many functions are inline, but of course they are defined if you include the correct header files only. 2. Do you compile with optimization? If not, enable optimization. 3. Do you compile with -D__KERNEL__? virt_to_phys() is defined inside #idef __KERNEL_/#endif The same is true for many other symbols. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@li... In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds |