]> git.ipfire.org Git - thirdparty/kmod.git/commitdiff
elf: skip leading symbol dot in modversion.
authorGustavo Sverzut Barbieri <barbieri@profusion.mobi>
Mon, 19 Dec 2011 23:53:24 +0000 (21:53 -0200)
committerGustavo Sverzut Barbieri <barbieri@profusion.mobi>
Mon, 19 Dec 2011 23:55:27 +0000 (21:55 -0200)
Mimics module-init-tools's dump_modversions() that calls skip_dot()
to skip leading dots. This is required for PPC64.

libkmod/libkmod-elf.c

index 7ecf3d191b50379c4a1d54f729311e67db68d851..0d84d9ffc9157bd7408dc1c36c8e1866063438fa 100644 (file)
@@ -510,6 +510,8 @@ int kmod_elf_get_modversions(const struct kmod_elf *elf, struct kmod_modversion
                        struct kmod_modversion64 *mv;
                        symbol = elf_get_mem(elf, off + sizeof(mv->crc));
                }
+               if (symbol[0] == '.')
+                       symbol++;
                slen += strlen(symbol) + 1;
        }
 
@@ -532,6 +534,8 @@ int kmod_elf_get_modversions(const struct kmod_elf *elf, struct kmod_modversion
                        crc = elf_get_uint(elf, off, sizeof(mv->crc));
                        symbol = elf_get_mem(elf, off + sizeof(mv->crc));
                }
+               if (symbol[0] == '.')
+                       symbol++;
 
                a[i].crc = crc;
                a[i].symbol = itr;