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.

Reply via email to