Lines Matching full:shdr
165 GElf_Shdr *shdr);
167 GElf_Shdr *shdr);
170 GElf_Shdr *shdr);
173 GElf_Shdr *shdr);
175 GElf_Shdr *shdr);
177 GElf_Shdr *shdr);
620 GElf_Shdr *shdr;
622 shdr = gelf_getshdr (elf_getscn (ebl->elf, 0), &shdr_mem);
623 if (shdr != NULL)
625 (uint32_t) shdr->sh_size);
634 GElf_Shdr *shdr;
636 shdr = gelf_getshdr (elf_getscn (ebl->elf, 0), &shdr_mem);
637 if (shdr != NULL)
640 (uint32_t) shdr->sh_link);
707 GElf_Shdr *shdr;
714 shdr = gelf_getshdr (scn, &shdr_mem);
715 if (shdr == NULL)
720 if (shdr->sh_flags & SHF_WRITE)
722 if (shdr->sh_flags & SHF_ALLOC)
724 if (shdr->sh_flags & SHF_EXECINSTR)
726 if (shdr->sh_flags & SHF_MERGE)
728 if (shdr->sh_flags & SHF_STRINGS)
730 if (shdr->sh_flags & SHF_INFO_LINK)
732 if (shdr->sh_flags & SHF_LINK_ORDER)
734 if (shdr->sh_flags & SHF_OS_NONCONFORMING)
736 if (shdr->sh_flags & SHF_GROUP)
738 if (shdr->sh_flags & SHF_TLS)
740 if (shdr->sh_flags & SHF_ORDERED)
742 if (shdr->sh_flags & SHF_EXCLUDE)
750 elf_strptr (ebl->elf, shstrndx, shdr->sh_name)
752 ebl_section_type_name (ebl, shdr->sh_type, buf, sizeof (buf)),
753 ehdr->e_ident[EI_CLASS] == ELFCLASS32 ? 8 : 16, shdr->sh_addr,
754 ehdr->e_ident[EI_CLASS] == ELFCLASS32 ? 6 : 8, shdr->sh_offset,
755 ehdr->e_ident[EI_CLASS] == ELFCLASS32 ? 6 : 8, shdr->sh_size,
756 shdr->sh_entsize, flagbuf, shdr->sh_link, shdr->sh_info,
757 shdr->sh_addralign);
858 GElf_Shdr *shdr;
866 shdr = gelf_getshdr (scn, &shdr_mem);
867 if (shdr == NULL)
872 if (shdr->sh_size > 0
875 && (shdr->sh_flags & SHF_ALLOC
876 ? (shdr->sh_addr >= phdr->p_vaddr
877 && (shdr->sh_addr + shdr->sh_size
879 : (shdr->sh_offset >= phdr->p_offset
880 && (shdr->sh_offset + shdr->sh_size
884 && shdr->sh_addr >= relro_from
885 && shdr->sh_addr + shdr->sh_size <= relro_to)
890 else if (has_relro && in_relro && shdr->sh_addr >= relro_to)
896 && shdr->sh_addr + shdr->sh_size > relro_to)
900 elf_strptr (ebl->elf, shstrndx, shdr->sh_name));
904 && shdr->sh_addr + shdr->sh_size > relro_to)
921 handle_scngrp (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
936 symscn = elf_getscn (ebl->elf, shdr->sh_link);
962 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
964 gelf_getsym (symdata, shdr->sh_info, &sym_mem)->st_name)
997 GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
999 if (shdr != NULL && shdr->sh_type == SHT_GROUP)
1000 handle_scngrp (ebl, ehdr, scn, shdr);
1115 handle_dynamic (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
1137 shdr->sh_size / shdr->sh_entsize),
1138 (unsigned long int) (shdr->sh_size / shdr->sh_entsize),
1139 class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
1140 shdr->sh_offset,
1141 (int) shdr->sh_link,
1143 gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1147 for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
1172 elf_strptr (ebl->elf, shdr->sh_link, dyn->d_un.d_val));
1177 elf_strptr (ebl->elf, shdr->sh_link, dyn->d_un.d_val));
1182 elf_strptr (ebl->elf, shdr->sh_link, dyn->d_un.d_val));
1187 elf_strptr (ebl->elf, shdr->sh_link, dyn->d_un.d_val));
1256 GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
1258 if (shdr != NULL && shdr->sh_type == SHT_DYNAMIC)
1260 handle_dynamic (ebl, ehdr, scn, shdr);
1278 GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
1280 if (shdr != NULL)
1282 if (shdr->sh_type == SHT_REL)
1283 handle_relocs_rel (ebl, ehdr, scn, shdr);
1284 else if (shdr->sh_type == SHT_RELA)
1285 handle_relocs_rela (ebl, ehdr, scn, shdr);
1293 handle_relocs_rel (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
1296 int nentries = shdr->sh_size / shdr->sh_entsize;
1315 symscn = elf_getscn (ebl->elf, shdr->sh_link);
1320 destshdr = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_info),
1326 shdr->sh_offset);
1352 if (shdr->sh_info != 0)
1359 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
1360 (unsigned int) shdr->sh_info,
1362 shdr->sh_offset,
1374 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
1375 shdr->sh_offset,
1428 if (shdr == NULL)
1459 handle_relocs_rela (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
1462 int nentries = shdr->sh_size / shdr->sh_entsize;
1470 Elf_Scn *symscn = elf_getscn (ebl->elf, shdr->sh_link);
1477 GElf_Shdr *destshdr = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_info),
1483 shdr->sh_offset);
1517 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
1518 (unsigned int) shdr->sh_info,
1520 shdr->sh_offset,
1574 if (shdr == NULL)
1617 GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
1619 if (shdr != NULL && shdr->sh_type == (GElf_Word) type)
1620 handle_symtab (ebl, ehdr, scn, shdr);
1626 handle_symtab (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
1692 elf_strptr (ebl->elf, shstrndx, shdr->sh_name), nsyms);
1695 shdr->sh_info),
1696 (unsigned long int) shdr->sh_info,
1697 (unsigned int) shdr->sh_link,
1699 gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1738 elf_strptr (ebl->elf, shdr->sh_link, sym->st_name));
1876 GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
1878 if (shdr != NULL)
1880 if (shdr->sh_type == SHT_GNU_verneed)
1881 handle_verneed (ebl, ehdr, scn, shdr);
1882 else if (shdr->sh_type == SHT_GNU_verdef)
1883 handle_verdef (ebl, ehdr, scn, shdr);
1884 else if (shdr->sh_type == SHT_GNU_versym)
1885 handle_versym (ebl, ehdr, scn, shdr);
1924 handle_verneed (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
1947 shdr->sh_info),
1949 elf_strptr (ebl->elf, shstrndx, shdr->sh_name), shdr->sh_info,
1950 class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
1951 shdr->sh_offset,
1952 (unsigned int) shdr->sh_link,
1954 gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1958 for (cnt = shdr->sh_info; --cnt >= 0; )
1972 elf_strptr (ebl->elf, shdr->sh_link, need->vn_file),
1987 elf_strptr (ebl->elf, shdr->sh_link, aux->vna_name),
2001 handle_verdef (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
2024 shdr->sh_info),
2026 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
2027 shdr->sh_info,
2028 class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
2029 shdr->sh_offset,
2030 (unsigned int) shdr->sh_link,
2032 gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
2036 for (cnt = shdr->sh_info; --cnt >= 0; )
2061 elf_strptr (ebl->elf, shdr->sh_link, aux->vda_name));
2072 elf_strptr (ebl->elf, shdr->sh_link, aux->vda_name));
2084 handle_versym (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
2323 shdr->sh_size / shdr->sh_entsize),
2325 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
2326 (int) (shdr->sh_size / shdr->sh_entsize),
2327 class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
2328 shdr->sh_offset,
2329 (unsigned int) shdr->sh_link,
2331 shdr->sh_link),
2335 for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
2393 GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
2395 if (shdr != NULL && shdr->sh_type == SHT_HASH)
2428 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
2431 shdr->sh_addr,
2432 shdr->sh_offset,
2433 (unsigned int) shdr->sh_link,
2436 shdr->sh_link),
2518 GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
2520 if (shdr != NULL && shdr->sh_type == SHT_GNU_LIBLIST)
2522 int nentries = shdr->sh_size / shdr->sh_entsize;
2529 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
2530 shdr->sh_offset,
2553 cnt, elf_strptr (ebl->elf, shdr->sh_link, lib->l_name),
3253 GElf_Shdr *shdr, Dwarf *dbg)
3257 ".debug_abbrev", (uint64_t) shdr->sh_offset);
3310 GElf_Shdr *shdr, Dwarf *dbg)
3326 ".debug_aranges", (uint64_t) shdr->sh_offset, cnt);
3364 GElf_Shdr *shdr, Dwarf *dbg)
3504 GElf_Shdr *shdr, Dwarf *dbg)
3508 ".debug_info", (uint64_t) shdr->sh_offset);
3511 if (shdr->sh_size == 0)
3707 GElf_Shdr *shdr, Dwarf *dbg)
3711 ".debug_line", (uint64_t) shdr->sh_offset);
3713 if (shdr->sh_size == 0)
4118 GElf_Shdr *shdr, Dwarf *dbg)
4122 ".debug_loc", (uint64_t) shdr->sh_offset);
4153 GElf_Shdr *shdr, Dwarf *dbg)
4157 ".debug_macinfo", (uint64_t) shdr->sh_offset);
4322 GElf_Shdr *shdr, Dwarf *dbg)
4325 ".debug_pubnames", (uint64_t) shdr->sh_offset);
4334 GElf_Shdr *shdr, Dwarf *dbg)
4336 /* Compute floor(log16(shdr->sh_size)). */
4337 GElf_Addr tmp = shdr->sh_size;
4348 ".debug_str", (uint64_t) shdr->sh_offset,
4353 while (offset < shdr->sh_size)
4399 GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
4401 if (shdr != NULL || shdr->sh_type != SHT_PROGBITS)
4426 shdr->sh_name);
4433 debug_sections[n].fp (ebl, ehdr, scn, shdr, dbg);