Lines Matching refs:ebl
299 static void print_ehdr (Ebl *ebl, GElf_Ehdr *ehdr);
300 static void print_shdr (Ebl *ebl, GElf_Ehdr *ehdr);
301 static void print_phdr (Ebl *ebl, GElf_Ehdr *ehdr);
302 static void print_scngrp (Ebl *ebl);
303 static void print_dynamic (Ebl *ebl);
304 static void print_relocs (Ebl *ebl, GElf_Ehdr *ehdr);
305 static void handle_relocs_rel (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn,
307 static void handle_relocs_rela (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn,
309 static void print_symtab (Ebl *ebl, int type);
310 static void handle_symtab (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr);
311 static void print_verinfo (Ebl *ebl);
312 static void handle_verneed (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr);
313 static void handle_verdef (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr);
314 static void handle_versym (Ebl *ebl, Elf_Scn *scn,
316 static void print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr);
317 static void handle_hash (Ebl *ebl);
318 static void handle_notes (Ebl *ebl, GElf_Ehdr *ehdr);
319 static void print_liblist (Ebl *ebl);
320 static void print_attributes (Ebl *ebl, const GElf_Ehdr *ehdr);
321 static void dump_data (Ebl *ebl);
322 static void dump_strings (Ebl *ebl);
323 static void print_strings (Ebl *ebl);
970 Ebl *ebl = ebl_openbackend (elf);
971 if (unlikely (ebl == NULL))
979 if (unlikely (elf_getshdrnum (ebl->elf, &shnum) < 0))
984 if (unlikely (elf_getphdrnum (ebl->elf, &phnum) < 0))
998 || elf_contains_chdrs (ebl->elf)));
1001 Ebl *pure_ebl = ebl;
1026 print_ehdr (ebl, ehdr);
1030 print_phdr (ebl, ehdr);
1032 print_scngrp (ebl);
1034 print_dynamic (ebl);
1038 handle_hash (ebl);
1040 print_symtab (ebl, SHT_DYNSYM);
1042 print_verinfo (ebl);
1044 print_symtab (ebl, SHT_SYMTAB);
1046 print_liblist (ebl);
1048 print_attributes (ebl, ehdr);
1052 dump_strings (ebl);
1054 print_debug (dwflmod, ebl, ehdr);
1058 print_strings (ebl);
1060 ebl_closebackend (ebl);
1062 if (pure_ebl != ebl)
1097 print_ehdr (Ebl *ebl, GElf_Ehdr *ehdr)
1121 ebl_osabi_name (ebl, ehdr->e_ident[EI_OSABI], buf, sizeof (buf)));
1150 ebl_machine_flag_name (ebl, ehdr->e_flags, buf, sizeof (buf)));
1163 GElf_Shdr *shdr = gelf_getshdr (elf_getscn (ebl->elf, 0), &shdr_mem);
1180 GElf_Shdr *shdr = gelf_getshdr (elf_getscn (ebl->elf, 0), &shdr_mem);
1192 GElf_Shdr *shdr = gelf_getshdr (elf_getscn (ebl->elf, 0), &shdr_mem);
1244 print_shdr (Ebl *ebl, GElf_Ehdr *ehdr)
1252 if (unlikely (elf_getshdrnum (ebl->elf, §ions) < 0))
1263 if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
1284 Elf_Scn *scn = elf_getscn (ebl->elf, cnt);
1331 sname = elf_strptr (ebl->elf, shstrndx, shdr->sh_name) ?: "<corrupt>";
1336 ebl_section_type_name (ebl, shdr->sh_type, buf, sizeof (buf)),
1380 print_phdr (Ebl *ebl, GElf_Ehdr *ehdr)
1402 GElf_Phdr *phdr = gelf_getphdr (ebl->elf, cnt, &mem);
1413 ebl_segment_type_name (ebl, phdr->p_type, buf, sizeof (buf)),
1436 Elf_Scn *scn = gelf_offscn (ebl->elf, phdr->p_offset);
1441 char *filedata = elf_rawfile (ebl->elf, &maxsize);
1460 if (unlikely (elf_getshdrnum (ebl->elf, §ions) < 0))
1470 if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
1481 GElf_Phdr *phdr = gelf_getphdr (ebl->elf, cnt, &phdr_mem);
1492 Elf_Scn *scn = elf_getscn (ebl->elf, inner);
1547 phdr2 = gelf_getphdr (ebl->elf, cnt2, &phdr2_mem);
1572 elf_strptr (ebl->elf, shstrndx, shdr->sh_name));
1593 section_name (Ebl *ebl, GElf_Shdr *shdr)
1596 if (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0)
1598 return elf_strptr (ebl->elf, shstrndx, shdr->sh_name) ?: "???";
1603 handle_scngrp (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
1608 Elf_Scn *symscn = elf_getscn (ebl->elf, shdr->sh_link);
1619 if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
1638 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
1640 : elf_strptr (ebl->elf, symshdr->sh_link, sym->st_name))
1647 GElf_Shdr *grpshdr = gelf_getshdr (elf_getscn (ebl->elf, grpref[cnt]),
1654 && (str = elf_strptr (ebl->elf, shstrndx, grpshdr->sh_name))
1661 print_scngrp (Ebl *ebl)
1666 while ((scn = elf_nextscn (ebl->elf, scn)) != NULL)
1686 handle_scngrp (ebl, scn, shdr);
1820 handle_dynamic (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr, GElf_Phdr *phdr)
1822 int class = gelf_getclass (ebl->elf);
1832 data = elf_getdata_rawchunk(ebl->elf, phdr->p_offset,
1846 if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
1849 glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &glink_mem);
1863 elf_strptr (ebl->elf, shstrndx, glink->sh_name));
1884 strtab_data = get_dynscn_strtab(ebl->elf, phdr);
1898 ebl_dynamic_tag_name (ebl, dyn->d_tag, buf, sizeof (buf)));
1907 name = elf_strptr (ebl->elf, shdr->sh_link, dyn->d_un.d_val);
1967 const char *tagname = ebl_dynamic_tag_name (ebl, dyn->d_un.d_val,
1999 print_dynamic (Ebl *ebl)
2004 GElf_Phdr *phdr = gelf_getphdr (ebl->elf, i, &phdr_mem);
2008 Elf_Scn *scn = gelf_offscn (ebl->elf, phdr->p_offset);
2013 handle_dynamic (ebl, scn, shdr, phdr);
2022 print_relocs (Ebl *ebl, GElf_Ehdr *ehdr)
2027 while ((scn = elf_nextscn (ebl->elf, scn)) != NULL)
2036 handle_relocs_rel (ebl, ehdr, scn, shdr);
2038 handle_relocs_rela (ebl, ehdr, scn, shdr);
2046 handle_relocs_rel (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
2048 int class = gelf_getclass (ebl->elf);
2049 size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_REL, 1, EV_CURRENT);
2058 Elf_Scn *symscn = elf_getscn (ebl->elf, shdr->sh_link);
2065 GElf_Shdr *destshdr = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_info),
2079 xndxdata = elf_getdata (elf_getscn (ebl->elf, xndxscnidx), NULL);
2083 if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
2093 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
2095 elf_strptr (ebl->elf, shstrndx, destshdr->sh_name),
2108 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
2147 GElf_Phdr *phdr = gelf_getphdr (ebl->elf, inner,
2162 ebl_reloc_type_check (ebl, GELF_R_TYPE (rel->r_info))
2165 ? ebl_reloc_type_name (ebl, GELF_R_TYPE (rel->r_info),
2169 elf_strptr (ebl->elf, shstrndx, destshdr->sh_name));
2173 ebl_reloc_type_check (ebl, GELF_R_TYPE (rel->r_info))
2176 ? ebl_reloc_type_name (ebl, GELF_R_TYPE (rel->r_info),
2185 likely (ebl_reloc_type_check (ebl,
2189 ? ebl_reloc_type_name (ebl, GELF_R_TYPE (rel->r_info),
2193 elf_strptr (ebl->elf, symshdr->sh_link, sym->st_name));
2199 secshdr = gelf_getshdr (elf_getscn (ebl->elf,
2207 ebl_reloc_type_check (ebl, GELF_R_TYPE (rel->r_info))
2210 ? ebl_reloc_type_name (ebl, GELF_R_TYPE (rel->r_info),
2219 ebl_reloc_type_check (ebl, GELF_R_TYPE (rel->r_info))
2222 ? ebl_reloc_type_name (ebl, GELF_R_TYPE (rel->r_info),
2226 elf_strptr (ebl->elf, shstrndx, secshdr->sh_name));
2235 handle_relocs_rela (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
2237 int class = gelf_getclass (ebl->elf);
2238 size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_RELA, 1, EV_CURRENT);
2247 Elf_Scn *symscn = elf_getscn (ebl->elf, shdr->sh_link);
2254 GElf_Shdr *destshdr = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_info),
2268 xndxdata = elf_getdata (elf_getscn (ebl->elf, xndxscnidx), NULL);
2272 if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
2282 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
2284 elf_strptr (ebl->elf, shstrndx, destshdr->sh_name),
2297 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
2337 GElf_Phdr *phdr = gelf_getphdr (ebl->elf, inner,
2352 ebl_reloc_type_check (ebl, GELF_R_TYPE (rel->r_info))
2355 ? ebl_reloc_type_name (ebl, GELF_R_TYPE (rel->r_info),
2360 elf_strptr (ebl->elf, shstrndx, destshdr->sh_name));
2364 ebl_reloc_type_check (ebl, GELF_R_TYPE (rel->r_info))
2367 ? ebl_reloc_type_name (ebl, GELF_R_TYPE (rel->r_info),
2377 likely (ebl_reloc_type_check (ebl,
2381 ? ebl_reloc_type_name (ebl, GELF_R_TYPE (rel->r_info),
2386 elf_strptr (ebl->elf, symshdr->sh_link, sym->st_name));
2392 secshdr = gelf_getshdr (elf_getscn (ebl->elf,
2400 ebl_reloc_type_check (ebl, GELF_R_TYPE (rel->r_info))
2403 ? ebl_reloc_type_name (ebl, GELF_R_TYPE (rel->r_info),
2413 ebl_reloc_type_check (ebl, GELF_R_TYPE (rel->r_info))
2416 ? ebl_reloc_type_name (ebl, GELF_R_TYPE (rel->r_info),
2421 elf_strptr (ebl->elf, shstrndx, secshdr->sh_name));
2430 print_symtab (Ebl *ebl, int type)
2436 while ((scn = elf_nextscn (ebl->elf, scn)) != NULL)
2449 if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
2452 sname = elf_strptr (ebl->elf, shstrndx, shdr->sh_name);
2469 handle_symtab (ebl, scn, shdr);
2476 handle_symtab (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
2482 int class = gelf_getclass (ebl->elf);
2493 while ((runscn = elf_nextscn (ebl->elf, runscn)) != NULL)
2525 if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
2529 GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
2544 elf_strptr (ebl->elf, shstrndx, shdr->sh_name), nsyms);
2550 elf_strptr (ebl->elf, shstrndx, glink->sh_name));
2581 ebl_symbol_type_name (ebl, GELF_ST_TYPE (sym->st_info),
2583 ebl_symbol_binding_name (ebl, GELF_ST_BIND (sym->st_info),
2586 ebl_section_name (ebl, sym->st_shndx, xndx, scnbuf,
2588 elf_strptr (ebl->elf, shdr->sh_link, sym->st_name));
2605 gelf_getshdr (elf_getscn (ebl->elf, xndx), &symshdr_mem);
2662 elf_strptr (ebl->elf, verneed_stridx,
2707 elf_strptr (ebl->elf, verdef_stridx,
2721 print_verinfo (Ebl *ebl)
2727 while ((scn = elf_nextscn (ebl->elf, scn)) != NULL)
2736 handle_verneed (ebl, scn, shdr);
2738 handle_verdef (ebl, scn, shdr);
2740 handle_versym (ebl, scn, shdr);
2779 handle_verneed (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
2781 int class = gelf_getclass (ebl->elf);
2790 if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
2794 GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
2806 elf_strptr (ebl->elf, shstrndx, shdr->sh_name), shdr->sh_info,
2810 elf_strptr (ebl->elf, shstrndx, glink->sh_name));
2823 elf_strptr (ebl->elf, shdr->sh_link, need->vn_file),
2836 elf_strptr (ebl->elf, shdr->sh_link, aux->vna_name),
2856 handle_verdef (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
2865 if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
2869 GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
2875 int class = gelf_getclass (ebl->elf);
2882 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
2887 elf_strptr (ebl->elf, shstrndx, glink->sh_name));
2910 elf_strptr (ebl->elf, shdr->sh_link, aux->vda_name));
2921 elf_strptr (ebl->elf, shdr->sh_link, aux->vda_name));
2938 handle_versym (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
2940 int class = gelf_getclass (ebl->elf);
2951 if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
2960 while ((verscn = elf_nextscn (ebl->elf, verscn)) != NULL)
3110 = elf_strptr (ebl->elf, defshdr->sh_link, aux->vda_name);
3148 = elf_strptr (ebl->elf, needshdr->sh_link, aux->vna_name);
3150 = elf_strptr (ebl->elf, needshdr->sh_link, need->vn_file);
3171 GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
3173 size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_HALF, 1, EV_CURRENT);
3185 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
3190 elf_strptr (ebl->elf, shstrndx, glink->sh_name));
3234 print_hash_info (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr, size_t shstrndx,
3244 GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf,
3261 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
3263 gelf_getclass (ebl->elf) == ELFCLASS32 ? 10 : 18,
3267 elf_strptr (ebl->elf, shstrndx, glink->sh_name));
3312 handle_sysv_hash (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr, size_t shstrndx)
3366 print_hash_info (ebl, scn, shdr, shstrndx, maxlength, nbucket, nsyms,
3376 handle_sysv_hash64 (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr, size_t shstrndx)
3432 print_hash_info (ebl, scn, shdr, shstrndx, maxlength, nbucket, nsyms,
3441 handle_gnu_hash (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr, size_t shstrndx)
3469 if (gelf_getclass (ebl->elf) == ELFCLASS64)
3532 print_hash_info (ebl, scn, shdr, shstrndx, maxlength, nbucket, nsyms,
3543 handle_hash (Ebl *ebl)
3547 if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
3551 while ((scn = elf_nextscn (ebl->elf, scn)) != NULL)
3574 if (ebl_sysvhash_entrysize (ebl) == sizeof (Elf64_Xword))
3575 handle_sysv_hash64 (ebl, scn, shdr, shstrndx);
3577 handle_sysv_hash (ebl, scn, shdr, shstrndx);
3580 handle_gnu_hash (ebl, scn, shdr, shstrndx);
3587 print_liblist (Ebl *ebl)
3595 if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
3598 while ((scn = elf_nextscn (ebl->elf, scn)) != NULL)
3605 size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_LIB, 1, EV_CURRENT);
3613 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
3637 cnt, elf_strptr (ebl->elf, shdr->sh_link, lib->l_name),
3656 print_attributes (Ebl *ebl, const GElf_Ehdr *ehdr)
3664 if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
3667 while ((scn = elf_nextscn (ebl->elf, scn)) != NULL)
3685 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
3808 ebl_check_object_attribute (ebl, (const char *) name,
5255 Ebl *ebl, GElf_Ehdr *ehdr __attribute__ ((unused)),
5263 elf_ndxscn (scn), section_name (ebl, shdr),
5328 Ebl *ebl, GElf_Ehdr *ehdr,
5333 elf_ndxscn (scn), section_name (ebl, shdr),
5554 print_decoded_aranges_section (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn,
5568 glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &glink_mem);
5581 elf_ndxscn (scn), section_name (ebl, shdr),
5621 Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn,
5626 print_decoded_aranges_section (ebl, ehdr, scn, shdr, dbg);
5642 elf_ndxscn (scn), section_name (ebl, shdr),
5658 elf_ndxscn (scn), section_name (ebl, shdr));
5802 Ebl *ebl,
5809 elf_ndxscn (scn), section_name (ebl, shdr),
5834 elf_ndxscn (scn), section_name (ebl, shdr));
6179 Ebl *ebl, GElf_Ehdr *ehdr,
6194 elf_ndxscn (scn), section_name (ebl, shdr),
6299 register_info (Ebl *ebl, unsigned int regno, const Ebl_Register_Location *loc,
6305 ssize_t n = ebl_register_info (ebl, regno, name, REGNAMESZ, &pfx, &set,
6386 regname (Ebl *ebl, unsigned int regno, char *regnamebuf)
6388 register_info (ebl, regno, NULL, regnamebuf, NULL, NULL);
6399 Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr, Dwarf *dbg)
6458 op1, regname (ebl, op1, regnamebuf), op2 * data_align);
6465 op1, regname (ebl, op1, regnamebuf));
6472 regname (ebl, op1, regnamebuf));
6479 regname (ebl, op1, regnamebuf));
6489 op1, regname (ebl, op1, regnamebuf), op2,
6490 regname (ebl, op2, regnamebuf));
6506 op1, regname (ebl, op1, regnamebuf), op2);
6513 op1, regname (ebl, op1, regnamebuf));
6544 op1, regname (ebl, op1, regnamebuf));
6560 op1, regname (ebl, op1, regnamebuf), sop2 * data_align);
6570 op1, regname (ebl, op1, regnamebuf), sop2 * data_align);
6606 op1, regname (ebl, op1, regnamebuf));
6646 opcode & 0x3f, regname (ebl, opcode & 0x3f, regnamebuf),
6651 opcode & 0x3f, regname (ebl, opcode & 0x3f, regnamebuf));
6774 print_debug_frame_section (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr,
6779 (void) elf_getshdrstrndx (ebl->elf, &shstrndx);
6780 const char *scnname = elf_strptr (ebl->elf, shstrndx, shdr->sh_name);
7155 fde_encoding, dwflmod, ebl, ehdr, dbg);
7892 Ebl *ebl, GElf_Ehdr *ehdr __attribute__ ((unused)),
7897 const char *secname = section_name (ebl, shdr);
8178 print_debug_info_section (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr,
8181 print_debug_units (dwflmod, ebl, ehdr, scn, shdr, dbg, false);
8185 print_debug_types_section (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr,
8188 print_debug_units (dwflmod, ebl, ehdr, scn, shdr, dbg, true);
8193 print_decoded_line_section (Dwfl_Module *dwflmod, Ebl *ebl,
8199 elf_ndxscn (scn), section_name (ebl, shdr),
8203 = elf_getident (ebl->elf, NULL)[EI_CLASS] == ELFCLASS32 ? 4 : 8;
8554 print_debug_line_section (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr,
8559 print_decoded_line_section (dwflmod, ebl, ehdr, scn, shdr, dbg);
8565 elf_ndxscn (scn), section_name (ebl, shdr),
8602 elf_ndxscn (scn), section_name (ebl, shdr));
8620 = elf_getident (ebl->elf, NULL)[EI_CLASS] == ELFCLASS32 ? 4 : 8;
8731 elf_ndxscn (scn), section_name (ebl, shdr));
9304 Ebl *ebl,
9311 elf_ndxscn (scn), section_name (ebl, shdr),
9336 elf_ndxscn (scn), section_name (ebl, shdr));
9779 Ebl *ebl, GElf_Ehdr *ehdr,
9794 elf_ndxscn (scn), section_name (ebl, shdr),
10039 Ebl *ebl,
10045 elf_ndxscn (scn), section_name (ebl, shdr),
10205 Ebl *ebl,
10211 elf_ndxscn (scn), section_name (ebl, shdr),
10592 Ebl *ebl,
10597 elf_ndxscn (scn), section_name (ebl, shdr),
10607 Ebl *ebl,
10628 section_name (ebl, shdr), (uint64_t) shdr->sh_offset,
10652 Ebl *ebl,
10658 elf_ndxscn (scn), section_name (ebl, shdr),
10843 Ebl *ebl __attribute__ ((unused)),
10943 Ebl *ebl __attribute__ ((unused)),
11122 print_gdb_index_section (Dwfl_Module *dwflmod, Ebl *ebl,
11128 elf_ndxscn (scn), section_name (ebl, shdr),
11419 print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr)
11433 .elf = ebl->elf,
11581 if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
11593 while ((scn = elf_nextscn (ebl->elf, scn)) != NULL)
11600 const char *name = elf_strptr (ebl->elf, shstrndx,
11611 print_debug_info_section (dwflmod, ebl, ehdr,
11623 while ((scn = elf_nextscn (ebl->elf, scn)) != NULL)
11675 const char *name = elf_strptr (ebl->elf, shstrndx,
11703 debug_sections[n].fp (dwflmod, ebl, ehdr, scn, shdr, dbg);
12191 handle_core_register (Ebl *ebl, Elf *core, int maxregname,
12205 register_info (ebl, reg, regloc, name, &bits, &type);
12353 handle_core_registers (Ebl *ebl, Elf *core, const void *desc,
12359 ssize_t maxnreg = ebl_register_info (ebl, 0, NULL, 0, NULL, NULL, NULL, NULL);
12384 info->set = register_info (ebl, reg, ®locs[i],
12416 colno = handle_core_register (ebl, core, maxname,
12427 handle_auxv_note (Ebl *ebl, Elf *core, GElf_Word descsz, GElf_Off desc_pos)
12444 if (ebl_auxv_info (ebl, av->a_type, &name, &fmt) == 0)
12645 handle_core_note (Ebl *ebl, const GElf_Nhdr *nhdr,
12654 if (! ebl_core_note (ebl, nhdr, name, desc,
12662 unsigned int colno = handle_core_items (ebl->elf, desc,
12668 colno = handle_core_registers (ebl, ebl->elf, desc + regs_offset,
12675 handle_notes_data (Ebl *ebl, const GElf_Ehdr *ehdr,
12709 ? ebl_core_note_type_name (ebl, nhdr.n_type,
12711 : ebl_object_note_type_name (ebl, name, nhdr.n_type,
12726 handle_auxv_note (ebl, ebl->elf, nhdr.n_descsz,
12732 handle_siginfo_note (ebl->elf, nhdr.n_descsz,
12737 handle_file_note (ebl->elf, nhdr.n_descsz,
12742 handle_core_note (ebl, &nhdr, name, desc);
12745 handle_core_note (ebl, &nhdr, name, desc);
12748 ebl_object_note (ebl, nhdr.n_namesz, name, nhdr.n_type,
12763 handle_notes (Ebl *ebl, GElf_Ehdr *ehdr)
12771 if (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0)
12775 while ((scn = elf_nextscn (ebl->elf, scn)) != NULL)
12786 char *sname = elf_strptr (ebl->elf, shstrndx, shdr->sh_name);
12794 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
12797 handle_notes_data (ebl, ehdr, shdr->sh_offset,
12808 GElf_Phdr *phdr = gelf_getphdr (ebl->elf, cnt, &mem);
12818 handle_notes_data (ebl, ehdr, phdr->p_offset,
12819 elf_getdata_rawchunk (ebl->elf,
13033 dump_data (Ebl *ebl)
13035 for_each_section_argument (ebl->elf, dump_data_sections, &dump_data_section);
13039 dump_strings (Ebl *ebl)
13041 for_each_section_argument (ebl->elf, string_sections, &print_string_section);
13045 print_strings (Ebl *ebl)
13049 if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
13056 while ((scn = elf_nextscn (ebl->elf, scn)) != NULL)
13065 name = elf_strptr (ebl->elf, shstrndx, shdr_mem.sh_name);