Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
[sfrench/cifs-2.6.git] / scripts / mod / modpost.c
index 5a6b39a29b7a781eb9bf9e10d24b336c46c38bea..29c89a6bad3d3ac34e539189e83769f1c63ddab3 100644 (file)
@@ -609,6 +609,7 @@ static void handle_modversions(struct module *mod, struct elf_info *info,
 {
        unsigned int crc;
        enum export export;
+       bool is_crc = false;
 
        if ((!is_vmlinux(mod->name) || mod->is_dot_o) &&
            strncmp(symname, "__ksymtab", 9) == 0)
@@ -618,6 +619,7 @@ static void handle_modversions(struct module *mod, struct elf_info *info,
 
        /* CRC'd symbol */
        if (strncmp(symname, CRC_PFX, strlen(CRC_PFX)) == 0) {
+               is_crc = true;
                crc = (unsigned int) sym->st_value;
                sym_update_crc(symname + strlen(CRC_PFX), mod, crc,
                                export);
@@ -663,6 +665,10 @@ static void handle_modversions(struct module *mod, struct elf_info *info,
                else
                        symname++;
 #endif
+               if (is_crc) {
+                       const char *e = is_vmlinux(mod->name) ?"":".ko";
+                       warn("EXPORT symbol \"%s\" [%s%s] version generation failed, symbol will not be versioned.\n", symname + strlen(CRC_PFX), mod->name, e);
+               }
                mod->unres = alloc_symbol(symname,
                                          ELF_ST_BIND(sym->st_info) == STB_WEAK,
                                          mod->unres);