kbuild: Fix bug in crc symbol generating of kernel and modules
Luke Yang [Thu, 2 Mar 2006 10:35:31 +0000 (18:35 +0800)]
The scripts/genksyms/genksyms.c uses hardcoded "__crc_" prefix for
crc symbols in kernel and modules. The prefix should be replaced by
"MODULE_SYMBOL_PREFIX##__crc_" otherwise there will be warnings when
MODULE_SYMBOL_PREFIX is not NULL.

I am sorry my last patch for this issue is actually wrong. I revert
it in this patch.

Signed-off-by: Luke Yang <luke.adi@gmail.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

scripts/genksyms/genksyms.c
scripts/mod/modpost.c

index 416a694..ef8822e 100644 (file)
@@ -32,7 +32,7 @@
 #endif /* __GNU_LIBRARY__ */
 
 #include "genksyms.h"
-
+#include "../mod/elfconfig.h"
 /*----------------------------------------------------------------------*/
 
 #define HASH_BUCKETS  4096
@@ -458,7 +458,7 @@ export_symbol(const char *name)
        fputs(">\n", debugfile);
 
       /* Used as a linker script. */
-      printf("__crc_%s = 0x%08lx ;\n", name, crc);
+      printf("%s__crc_%s = 0x%08lx ;\n", MODULE_SYMBOL_PREFIX, name, crc);
     }
 }
 
index e2bf4c9..30f3ac8 100644 (file)
@@ -346,8 +346,8 @@ static void parse_elf_finish(struct elf_info *info)
        release_file(info->hdr, info->size);
 }
 
-#define CRC_PFX     "__crc_"
-#define KSYMTAB_PFX "__ksymtab_"
+#define CRC_PFX     MODULE_SYMBOL_PREFIX "__crc_"
+#define KSYMTAB_PFX MODULE_SYMBOL_PREFIX "__ksymtab_"
 
 static void handle_modversions(struct module *mod, struct elf_info *info,
                               Elf_Sym *sym, const char *symname)