Lines Matching refs:symtab

439 	struct section *symtab, *symtab_shndx, *sec;  in read_symbols()  local
446 symtab = find_section_by_name(elf, ".symtab"); in read_symbols()
447 if (symtab) { in read_symbols()
452 symbols_nr = sec_num_entries(symtab); in read_symbols()
477 if (!gelf_getsymshndx(symtab->data, shndx_data, i, &sym->sym, in read_symbols()
483 sym->name = elf_strptr(elf->elf, symtab->sh.sh_link, in read_symbols()
577 struct section *symtab, *sec; in mark_group_syms() local
580 symtab = find_section_by_name(elf, ".symtab"); in mark_group_syms()
581 if (!symtab) { in mark_group_syms()
588 sec->sh.sh_link == symtab->idx) { in mark_group_syms()
624 static int elf_update_symbol(struct elf *elf, struct section *symtab, in elf_update_symbol() argument
629 Elf64_Xword entsize = symtab->sh.sh_entsize; in elf_update_symbol()
638 s = elf_getscn(elf->elf, symtab->idx); in elf_update_symbol()
690 mark_sec_changed(elf, symtab, true); in elf_update_symbol()
691 symtab->truncate = true; in elf_update_symbol()
757 struct section *symtab, *symtab_shndx; in __elf_create_symbol() local
761 symtab = find_section_by_name(elf, ".symtab"); in __elf_create_symbol()
762 if (symtab) { in __elf_create_symbol()
769 new_idx = sec_num_entries(symtab); in __elf_create_symbol()
778 first_non_local = symtab->sh.sh_info; in __elf_create_symbol()
786 if (elf_update_symbol(elf, symtab, symtab_shndx, old)) { in __elf_create_symbol()
805 symtab->sh.sh_info += 1; in __elf_create_symbol()
809 if (elf_update_symbol(elf, symtab, symtab_shndx, sym)) { in __elf_create_symbol()
814 symtab->sh.sh_size += symtab->sh.sh_entsize; in __elf_create_symbol()
815 mark_sec_changed(elf, symtab, true); in __elf_create_symbol()