Lines Matching refs:symtab
377 struct section *symtab, *symtab_shndx, *sec; in read_symbols() local
384 symtab = find_section_by_name(elf, ".symtab"); in read_symbols()
385 if (!symtab) { in read_symbols()
397 symbols_nr = symtab->sh.sh_size / symtab->sh.sh_entsize; in read_symbols()
409 if (!gelf_getsymshndx(symtab->data, shndx_data, i, &sym->sym, in read_symbols()
415 sym->name = elf_strptr(elf->elf, symtab->sh.sh_link, in read_symbols()
573 static int elf_update_symbol(struct elf *elf, struct section *symtab, in elf_update_symbol() argument
578 Elf64_Xword entsize = symtab->sh.sh_entsize; in elf_update_symbol()
587 s = elf_getscn(elf->elf, symtab->idx); in elf_update_symbol()
633 symtab->sh.sh_size += entsize; in elf_update_symbol()
634 symtab->changed = true; in elf_update_symbol()
694 struct section *symtab, *symtab_shndx; in elf_create_section_symbol() local
698 symtab = find_section_by_name(elf, ".symtab"); in elf_create_section_symbol()
699 if (symtab) { in elf_create_section_symbol()
725 first_non_local = symtab->sh.sh_info; in elf_create_section_symbol()
726 new_idx = symtab->sh.sh_size / symtab->sh.sh_entsize; in elf_create_section_symbol()
736 if (elf_update_symbol(elf, symtab, symtab_shndx, old)) { in elf_create_section_symbol()
745 if (elf_update_symbol(elf, symtab, symtab_shndx, sym)) { in elf_create_section_symbol()
753 symtab->sh.sh_info += 1; in elf_create_section_symbol()