summaryrefslogtreecommitdiff
path: root/src/model/fromFile.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/model/fromFile.c')
-rw-r--r--src/model/fromFile.c3
1 files changed, 3 insertions, 0 deletions
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) {