Re: Missing <linux/autoconf.h>?

Olaf Titz (olaf@bigred.inka.de)
Sun, 21 Jun 1998 11:34:43 +0200


> include/linux/autoconf.h doesn't exist in 2.0.33 or 2.0.34 (after
> the correct symlinks are made, of course <g>). Should it
> exist, or is config.h wrong in #including it?

<linux/autoconf.h> is generated by "make config" (or menuconfig,
xconfig, etc.) A module which includes this needs the kernel includes
_configured exactly like the kernel under which it runs_.

> I "worked around" the problem by touching
> include/linux/autoconf.h

This solution is wrong and very likely to generate a module which
crashes. Reason: some internal data structures of the kernel depend
on options in <linux/autoconf.h>. These (almost all of them) are
tested with #ifdef, so an empty header without any of those #defines
won't be caught in compilation, but the module assumes structures
different from the ones the running kernel uses.

This is the reason why the hassle with MODVERSIONS is actually useful.
A module that doesn't fit the running kernel simply won't load with
this option.

olaf

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu