[OpenAFS-devel] Building cvs head on Linux 2.6

chas williams (contractor) chas@cmf.nrl.navy.mil
Sun, 30 May 2004 08:53:23 -0400


In message <1085918663.13613.2.camel@mother-russia>,Ian Delahorne writes:
>The kernel won't load the .o for some reason:
>insmod: error inserting 'libafs-2.6.7-rc1.o': -1 Invalid module format

2.6.6 (and later) changed the way that module symbols are done.
Jeffrey Hutzelman <jhutz@cmu.edu> has a patch for this apparently
as ticket #4767.  you could try that or the following might be things
to load.

Index: src/afs/LINUX/osi_module.c
===================================================================
RCS file: /cvs/openafs/src/afs/LINUX/osi_module.c,v
retrieving revision 1.49
diff -u -u -r1.49 osi_module.c
--- src/afs/LINUX/osi_module.c	15 May 2004 06:43:12 -0000	1.49
+++ src/afs/LINUX/osi_module.c	30 May 2004 12:51:52 -0000
@@ -43,6 +43,20 @@
 
 MODULE_INFO(vermagic, VERMAGIC_STRING);
 
+struct module __this_module
+__attribute__((section(".gnu.linkonce.this_module"))) = {
+ .name = __stringify(DKBUILD_BASENAME),
+ .init = init_module,
+#ifdef CONFIG_MODULE_UNLOAD
+ .exit = cleanup_module,
+#endif
+};
+
+static const char __module_depends[]
+__attribute_used__
+__attribute__((section(".modinfo"))) =
+"depends=";
+
 #endif
 
 #ifdef AFS_SPARC64_LINUX24_ENV