symbol versioning, interdependent external modules

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I am no kernel developer, but would like to fix the build system of
certain third party external kernel modules (under GPL). Although they
use the linux makefiles, there are problems with symbol versioning.

The external packages build system, as usual, has a main Makefile
which causes recursive calls of 'make' in each subdirectory. There are
two modules in the package, built in different subdirectories, whose
Makefiles each cause a call of 'make' with the Makefile of linux for
building the modules.

Problem (on kernel linux-2.6.24-486, also on linux-2.6.18-686, both
from current Debian Stable): When the second module is built, the
linux modpost program reads 'Module.symvers' files only from the
second modules directory and from the linux source directory. The
second module uses symbols exported by the first module, but their
versions are in 'Module.symvers' in the directory of the first module,
so they are not read by modpost in this step. Consequently, modpost
warns about undefined symbols and produces a <modulename>.mod.c file
lacking these symbols; after linking, inserting the module taints the
kernel. I can work around the problem by copying 'Module.symvers' from
the first modules directory into the second modules directory and
building again.

How is such a situation (modules built in different directories,
second depends on the first) supposed to be handled correctly?

Olaf
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux