Lines Matching refs:symtab
409 struct section *symtab, *symtab_shndx, *sec; in read_symbols() local
416 symtab = find_section_by_name(elf, ".symtab"); in read_symbols()
417 if (symtab) { in read_symbols()
422 symbols_nr = symtab->sh.sh_size / symtab->sh.sh_entsize; in read_symbols()
447 if (!gelf_getsymshndx(symtab->data, shndx_data, i, &sym->sym, in read_symbols()
453 sym->name = elf_strptr(elf->elf, symtab->sh.sh_link, in read_symbols()
614 static int elf_update_symbol(struct elf *elf, struct section *symtab, in elf_update_symbol() argument
619 Elf64_Xword entsize = symtab->sh.sh_entsize; in elf_update_symbol()
628 s = elf_getscn(elf->elf, symtab->idx); in elf_update_symbol()
674 symtab->sh.sh_size += entsize; in elf_update_symbol()
675 symtab->changed = true; in elf_update_symbol()
735 struct section *symtab, *symtab_shndx; in elf_create_section_symbol() local
739 symtab = find_section_by_name(elf, ".symtab"); in elf_create_section_symbol()
740 if (symtab) { in elf_create_section_symbol()
766 first_non_local = symtab->sh.sh_info; in elf_create_section_symbol()
767 new_idx = symtab->sh.sh_size / symtab->sh.sh_entsize; in elf_create_section_symbol()
777 if (elf_update_symbol(elf, symtab, symtab_shndx, old)) { in elf_create_section_symbol()
786 if (elf_update_symbol(elf, symtab, symtab_shndx, sym)) { in elf_create_section_symbol()
794 symtab->sh.sh_info += 1; in elf_create_section_symbol()