On Wed, 3 Jul 2002 21:44:12 +0200 you said: > >Lev Perelmuter wrote: > >>If a C function is described as "extern inline", gcc doesn't make >>the function's name visible to the linker, and it becomes unresolved. > >For gcc, "extern inline" means: if the function provided by the inline >definition cannot be inlined, call an external routine that must be >provided elsewhere. > >As you attempted to compile your kernel module without any optimization >options, inlining is turned off, which means that all inline functions >must be provided elsewhere, which they aren't. (This is somewhat >deliberately done, as the functions really should be inlined, and if >that doesn't work for whatever reason, the kernel developers prefer >a linker error to silently duplicating code). > >This is one of the reasons why kernel code must *always* be compiled >with the -O2 option. > > >Mit freundlichen Gruessen / Best Regards > >Ulrich Weigand > >-- > Dr. Ulrich Weigand > Linux for S/390 Design & Development > IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen > Phone: +49-7031/16-3727 --- Email: [EMAIL PROTECTED] >
Thank you very much, Dr. Weigand - your explanation is perfect. Adding "-O2" option has solved the problem. Lev Perelmuter.
