module: use MODULE_SYMBOL_PREFIX with module_layout
authorMike Frysinger <vapier@gentoo.org>
Thu, 23 Jul 2009 14:12:08 +0000 (23:42 +0930)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 27 Jul 2009 19:15:45 +0000 (12:15 -0700)
The check_modstruct_version() needs to look up the symbol "module_layout"
in the kernel, but it does so literally and not by a C identifier.  The
trouble is that it does not include a symbol prefix for those ports that
need it (like the Blackfin and H8300 port).  So make sure we tack on the
MODULE_SYMBOL_PREFIX define to the front of it.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
kernel/module.c

index 0a049837008e6b77d416659dfd0588fed37b00b5..fd141140355889abd13630c663e66a2e87267194 100644 (file)
@@ -1068,7 +1068,8 @@ static inline int check_modstruct_version(Elf_Shdr *sechdrs,
 {
        const unsigned long *crc;
 
-       if (!find_symbol("module_layout", NULL, &crc, true, false))
+       if (!find_symbol(MODULE_SYMBOL_PREFIX "module_layout", NULL,
+                        &crc, true, false))
                BUG();
        return check_version(sechdrs, versindex, "module_layout", mod, crc);
 }