From: Chris D. <ch...@mi...> - 2003-03-18 16:35:21
|
Paul Larson wrote: > On Mon, 2003-03-17 at 10:50, Chris Dearman wrote: > >> The answer to this seems to be add -DEXPORT_SYMTAB to the build >>options, but that fails if the kernel has been built with >>CONFIG_MODVERSIONS because you need to use kernel-build specific header >>files. > > At the point you looked at it, it was half-way through a move/fix. Can > you do a cvs update an try compiling it now? As it is currently, you It compiles, but doesn't run on x86 RH7.2 or MIPS RH7.3 (I included the MIPS specific build options in MODCFLAGS). It does run on a Debian system. The problem is in loading the dependent module. The difference seems to be that the x86 and MIPS kernels are configured with CONFIG_MODVERSIONS whereas the Debian kernel is not. The external symbol in the dependent module is not resolved to the versioned symbol in the main module. With CONFIG_MODVERSIONS, a symbol like "dummy_func_test_R__ver_dummy_func_test" gets included in the kernel symbol table, and I can't find anywhere in insmod where it copes with this type of symbol, but I know very little about modules so I could be wrong. One workaround I have found for this is to export the symbol without a version: EXPORT_SYMBOL_NOVERS(dummy_func_test); > need to be running the kernel to test when you compile it, and that > kernel needs to have gone thought make modules and make > modules_install. Not very convenient I'm afraid, but apparently these > changes were necessary for some people. This is why the tests were > moved out of the set executed by runalltests.sh to standalone. If > anyone has better ideas on how to accomplish this, I'm listening. It seems a shame that these tests cannot be built in a kernel independent way, but maybe it's just not possible given the possible kernel options. >> As the EXPORT_SYMBOL code is only(?) required for the IA64 build I >>have added "#ifdef __ia64__" around the EXPORT_SYMBOL's in the dummy >>modules. > > Are we certain IA64 is the only one with that requirement? I don't even > have one of these to test on so I have no idea. No... I was just going by the CVS comment for this change. Regards Chris -- Chris Dearman The Fruit Farm, Ely Road voice +44 1223 706206 MIPS Technologies (UK) Chittering, Cambs, CB5 9PH fax +44 1223 706250 |