X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=src%2Fmodelops%2FfromFile.c;h=28ecb85cdb12e984e6b7b2e669b2440fcc8f8f42;hb=5868bb32246367139f0d17a989650964f90a7958;hp=c46dd6c38dd727af0aaeec5aa0c569e65c010a65;hpb=3c14755015340e48ae68aa874f672e7c9d289832;p=centaur.git diff --git a/src/modelops/fromFile.c b/src/modelops/fromFile.c index c46dd6c..28ecb85 100644 --- a/src/modelops/fromFile.c +++ b/src/modelops/fromFile.c @@ -5,17 +5,6 @@ #include -static char* symstr(ElfuScn *symtab, size_t off) -{ - assert(symtab); - assert(symtab->linkptr); - assert(symtab->linkptr->data.d_buf); - assert(off < symtab->linkptr->data.d_size); - - return &(((char*)symtab->linkptr->data.d_buf)[off]); -} - - static void parseSymtab32(ElfuScn *ms, ElfuScn**origScnArr) { size_t i; @@ -31,19 +20,18 @@ static void parseSymtab32(ElfuScn *ms, ElfuScn**origScnArr) assert(sym); sym->name = cursym->st_name; - sym->nameptr = symstr(ms, cursym->st_name); sym->value = cursym->st_value; sym->size = cursym->st_size; sym->bind = ELF32_ST_BIND(cursym->st_info); sym->type = ELF32_ST_TYPE(cursym->st_info); sym->other = cursym->st_other; + sym->shndx = cursym->st_shndx; switch (cursym->st_shndx) { case SHN_UNDEF: case SHN_ABS: case SHN_COMMON: sym->scnptr = NULL; - sym->shndx = cursym->st_shndx; break; default: sym->scnptr = origScnArr[cursym->st_shndx - 1];