The checksums are generally 32-bit (unsigned int), though they are saved
in symbol values, which may 64-bit, so we need to convert.
Pointed out by Anton Blanchard.
Elf_Sym *sym, const char *symname)
{
struct symbol *s;
+ unsigned int crc;
switch (sym->st_shndx) {
case SHN_COMMON:
case SHN_ABS:
/* CRC'd symbol */
if (memcmp(symname, "__crc_", 6) == 0) {
- add_exported_symbol(symname+6, mod, &sym->st_value);
+ crc = (unsigned int) sym->st_value;
+ add_exported_symbol(symname+6, mod, &crc);
modversions = 1;
}
break;