Guess where unknown functions are in .rel.plt
[centaur.git] / src / model / fromFile.c
index 84ec14325b610e7b9c68606b43d2c05169b2de52..23105e60a76f541a4dc251bca53c0dfa4f0a69b1 100644 (file)
@@ -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) {