|
@@ -599,18 +599,17 @@ static void handle_modversions(struct module *mod, struct elf_info *info,
|
|
|
else
|
|
|
export = export_from_sec(info, get_secindex(info, sym));
|
|
|
|
|
|
+ /* CRC'd symbol */
|
|
|
+ if (strncmp(symname, CRC_PFX, strlen(CRC_PFX)) == 0) {
|
|
|
+ crc = (unsigned int) sym->st_value;
|
|
|
+ sym_update_crc(symname + strlen(CRC_PFX), mod, crc,
|
|
|
+ export);
|
|
|
+ }
|
|
|
+
|
|
|
switch (sym->st_shndx) {
|
|
|
case SHN_COMMON:
|
|
|
warn("\"%s\" [%s] is COMMON symbol\n", symname, mod->name);
|
|
|
break;
|
|
|
- case SHN_ABS:
|
|
|
- /* CRC'd symbol */
|
|
|
- if (strncmp(symname, CRC_PFX, strlen(CRC_PFX)) == 0) {
|
|
|
- crc = (unsigned int) sym->st_value;
|
|
|
- sym_update_crc(symname + strlen(CRC_PFX), mod, crc,
|
|
|
- export);
|
|
|
- }
|
|
|
- break;
|
|
|
case SHN_UNDEF:
|
|
|
/* undefined symbol */
|
|
|
if (ELF_ST_BIND(sym->st_info) != STB_GLOBAL &&
|