X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=src%2Fmodel%2FfromFile.c;h=23105e60a76f541a4dc251bca53c0dfa4f0a69b1;hb=a08653637257ceaef8e61d965ab0d6c52b0c697d;hp=84ec14325b610e7b9c68606b43d2c05169b2de52;hpb=c68a087b1de2fc9be1bfc588a7b207f97667f897;p=centaur.git diff --git a/src/model/fromFile.c b/src/model/fromFile.c index 84ec143..23105e6 100644 --- a/src/model/fromFile.c +++ b/src/model/fromFile.c @@ -52,12 +52,14 @@ static ElfuSymtab* symtabFromScn32(ElfuScn *ms, ElfuScn**origScnArr) case SHN_ABS: case SHN_COMMON: sym->scnptr = NULL; + sym->shndx = cursym->st_shndx; break; default: sym->scnptr = origScnArr[cursym->st_shndx - 1]; break; } + CIRCLEQ_INSERT_TAIL(&st->syms, sym, elem); } @@ -404,6 +406,7 @@ ElfuElf* elfu_mFromElf(Elf *e) switch (ms->shdr.sh_type) { case SHT_SYMTAB: + case SHT_DYNSYM: if (me->elfclass == ELFCLASS32) { ms->symtab = symtabFromScn32(ms, secArray); } else if (me->elfclass == ELFCLASS64) {