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]

Reply via email to