Lines Matching refs:ehdr
353 Elf_Ehdr *ehdr; member
360 static int fill_relocs(void *ptr, uint64_t size, Elf_Ehdr *ehdr, uint64_t start_loc) in fill_relocs() argument
369 shdr_start = (Elf_Shdr *)((char *)ehdr + ehdr_shoff(ehdr)); in fill_relocs()
370 shentsize = ehdr_shentsize(ehdr); in fill_relocs()
372 shnum = ehdr_shnum(ehdr); in fill_relocs()
383 rel = (void *)ehdr + shdr_offset(shdr); in fill_relocs()
417 static void replace_relocs(void *ptr, uint64_t size, Elf_Ehdr *ehdr, uint64_t start_loc) in replace_relocs() argument
424 shdr_start = (Elf_Shdr *)((char *)ehdr + ehdr_shoff(ehdr)); in replace_relocs()
425 shentsize = ehdr_shentsize(ehdr); in replace_relocs()
427 shnum = ehdr_shnum(ehdr); in replace_relocs()
438 rel = (void *)ehdr + shdr_offset(shdr); in replace_relocs()
488 unsigned char *start_loc = (void *)emloc->ehdr + offset; in sort_mcount_loc()
489 Elf_Ehdr *ehdr = emloc->ehdr; in sort_mcount_loc() local
501 count = fill_relocs(vals, size, ehdr, emloc->start_mcount_loc); in sort_mcount_loc()
542 replace_relocs(vals, size, ehdr, emloc->start_mcount_loc); in sort_mcount_loc()
560 sym = (void *)emloc->ehdr + shdr_offset(symtab_sec); in get_mcount_loc()
590 static int do_sort(Elf_Ehdr *ehdr, in do_sort() argument
627 shdr_start = (Elf_Shdr *)((char *)ehdr + ehdr_shoff(ehdr)); in do_sort()
628 shentsize = ehdr_shentsize(ehdr); in do_sort()
630 shstrndx = ehdr_shstrndx(ehdr); in do_sort()
634 secstrings = (const char *)ehdr + shdr_offset(string_sec); in do_sort()
636 shnum = ehdr_shnum(ehdr); in do_sort()
652 symtab_shndx = (Elf32_Word *)((const char *)ehdr + in do_sort()
665 g_orc_ip_table = (int *)((void *)ehdr + in do_sort()
670 g_orc_table = (struct orc_entry *)((void *)ehdr + in do_sort()
717 extab_image = (void *)ehdr + shdr_offset(extab_sec); in do_sort()
718 strtab = (const char *)ehdr + shdr_offset(strtab_sec); in do_sort()
719 symtab = (const Elf_Sym *)((const char *)ehdr + shdr_offset(symtab_sec)); in do_sort()
722 mstruct.ehdr = ehdr; in do_sort()
750 sym_start = (void *)ehdr + shdr_offset(symtab_sec); in do_sort()
776 sort_needed_loc = (void *)ehdr + in do_sort()
890 Elf_Ehdr *ehdr = addr; in do_file() local
893 switch (elf_map_machine(ehdr)) { in do_file()
923 elf_parser.r2(&ehdr->e32.e_machine), fname); in do_file()
933 if (elf_parser.r2(&ehdr->e32.e_ehsize) != sizeof(Elf32_Ehdr) || in do_file()
934 elf_parser.r2(&ehdr->e32.e_shentsize) != sizeof(Elf32_Shdr)) { in do_file()
946 if (elf_parser.r2(&ehdr->e64.e_ehsize) != sizeof(Elf64_Ehdr) || in do_file()
947 elf_parser.r2(&ehdr->e64.e_shentsize) != sizeof(Elf64_Shdr)) { in do_file()
957 ehdr->e32.e_ident[EI_CLASS], fname); in do_file()
961 return do_sort(ehdr, fname, custom_sort); in do_file()