Lines Matching defs:elf
37 #include <elf-knowledge.h>
89 static void process_file (int fd, Elf *elf, const char *prefix,
92 static void process_elf_file (Elf *elf, const char *prefix, const char *suffix,
158 Elf *elf = elf_begin (fd, ELF_C_READ_MMAP, NULL);
159 if (elf == NULL)
174 process_file (fd, elf, NULL, NULL, argv[remaining], st.st_size,
178 if (elf_end (elf) != 0)
231 process_file (int fd, Elf *elf, const char *prefix, const char *suffix,
235 Elf_Kind kind = elf_kind (elf);
241 process_elf_file (elf, prefix, suffix, fname, size, only_one);
266 while ((subelf = elf_begin (fd, cmd, elf)) != NULL)
308 shdr = gelf_getshdr (elf_getscn (ebl->elf, idx), &shdr_mem);
312 ret = elf_strptr (ebl->elf, shstrndx, shdr->sh_name);
432 GElf_Shdr *shdr = gelf_getshdr (elf_getscn (ebl->elf, 0), &shdr_mem);
449 GElf_Shdr *shdr = gelf_getshdr (elf_getscn (ebl->elf, 0), &shdr_mem);
464 scn = elf_nextscn (ebl->elf, scn);
481 GElf_Shdr *shdr = gelf_getshdr (elf_getscn (ebl->elf, 0), &shdr_mem);
498 GElf_Phdr *phdr = gelf_getphdr (ebl->elf, pcnt, &phdr_mem);
512 if (gelf_getclass (ebl->elf) == ELFCLASS32)
529 else if (gelf_getclass (ebl->elf) == ELFCLASS64)
562 Elf_Scn *scn = elf_getscn (ebl->elf, cnt);
606 Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
615 GElf_Shdr *strshdr = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
635 Elf_Scn *xndxscn = elf_getscn (ebl->elf, cnt);
655 size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT);
717 name = elf_strptr (ebl->elf, shdr->sh_link, sym->st_name);
789 destshdr = gelf_getshdr (elf_getscn (ebl->elf, xndx), &destshdr_mem);
875 phdr = gelf_getphdr (ebl->elf, pcnt, &phdr_mem);
949 GElf_Shdr *destshdr = gelf_getshdr (elf_getscn (ebl->elf, xndx),
957 while ((gscn = elf_nextscn (ebl->elf, gscn)) != NULL)
961 const char *sname = elf_strptr (ebl->elf,
983 : elf_strptr (ebl->elf, shstrndx,
1037 GElf_Phdr *phdr = gelf_getphdr (ebl->elf, pcnt, &phdr_mem);
1089 while ((scn = elf_nextscn (ebl->elf, scn)) != NULL)
1138 Elf_Data *reldata = elf_getdata (elf_getscn (ebl->elf,
1191 Elf_Data *reldata = elf_getdata (elf_getscn (ebl->elf,
1261 *destshdrp = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_info),
1291 size_t sh_entsize = gelf_fsize (ebl->elf, reltype, 1, EV_CURRENT);
1307 GElf_Phdr *phdr = gelf_getphdr (ebl->elf, i, &phdr_mem);
1322 Elf_Scn *dynscn = gelf_offscn (ebl->elf, phdr->p_offset);
1394 * gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT)
1412 && (name = elf_strptr (ebl->elf, symshdr->sh_link, sym->st_name))
1494 Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
1509 Elf_Scn *symscn = elf_getscn (ebl->elf, shdr->sh_link);
1515 size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_RELA, 1, EV_CURRENT);
1545 Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
1560 Elf_Scn *symscn = elf_getscn (ebl->elf, shdr->sh_link);
1566 size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_REL, 1, EV_CURRENT);
1651 data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
1659 strshdr = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &strshdr_mem);
1673 size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT);
1791 GElf_Phdr *phdr = gelf_getphdr (ebl->elf, n, &phdr_mem);
1939 Elf_Scn *symscn = elf_getscn (ebl->elf, shdr->sh_link);
1975 GElf_Shdr *rshdr = gelf_getshdr (elf_getscn (ebl->elf, cnt), &rshdr_mem);
1987 Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
2158 if (gelf_getclass (ebl->elf) == ELFCLASS64)
2189 Elf_Data *symdata = elf_getdata (elf_getscn (ebl->elf, shdr->sh_link), NULL);
2198 size_t classbits = gelf_getclass (ebl->elf) == ELFCLASS32 ? 32 : 64;
2237 ? elf_strptr (ebl->elf, symshdr->sh_link,
2313 Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
2322 GElf_Shdr *symshdr = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
2334 ? (gelf_getclass (ebl->elf) == ELFCLASS32
2379 Elf_Scn *hash_scn = elf_getscn (ebl->elf, hash_idx);
2383 Elf_Scn *gnu_hash_scn = elf_getscn (ebl->elf, gnu_hash_idx);
2400 hash_idx, elf_strptr (ebl->elf, shstrndx, hash_shdr->sh_name),
2402 elf_strptr (ebl->elf, shstrndx, gnu_hash_shdr->sh_name));
2406 Elf_Scn *sym_scn = elf_getscn (ebl->elf, hash_shdr->sh_link);
2417 hash_name = elf_strptr (ebl->elf, shstrndx, hash_shdr->sh_name);
2418 gnu_hash_name = elf_strptr (ebl->elf, shstrndx, gnu_hash_shdr->sh_name);
2568 elf_strptr (ebl->elf, shstrndx, gnu_hash_shdr->sh_name));
2571 hash_idx, elf_strptr (ebl->elf, shstrndx, hash_shdr->sh_name));
2580 elf_strptr (ebl->elf, shstrndx, gnu_hash_shdr->sh_name),
2582 elf_strptr (ebl->elf, shstrndx, hash_shdr->sh_name));
2592 elf_strptr (ebl->elf, shstrndx, hash_shdr->sh_name),
2594 elf_strptr (ebl->elf, shstrndx, gnu_hash_shdr->sh_name));
2632 Elf_Scn *symscn = elf_getscn (ebl->elf, shdr->sh_link);
2645 if (shdr->sh_info >= symshdr->sh_size / gelf_fsize (ebl->elf, ELF_T_SYM,
2662 else if (elf_strptr (ebl->elf, symshdr->sh_link, sym->st_name) == NULL)
2666 else if (strcmp (elf_strptr (ebl->elf, symshdr->sh_link, sym->st_name),
2678 Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
2736 GElf_Shdr *refshdr = gelf_getshdr (elf_getscn (ebl->elf, val),
2837 while ((scn = elf_nextscn (ebl->elf, scn)) != NULL)
2887 GElf_Shdr *shdr = gelf_getshdr (elf_getscn (ebl->elf, shndx), &shdr_mem);
2932 Elf_Scn *scn = elf_getscn (ebl->elf, idx);
2947 Elf_Scn *symscn = elf_getscn (ebl->elf, shdr->sh_link);
3047 unknown_dependency_p (Elf *elf, const char *fname)
3054 if ((phdr = gelf_getphdr (elf, i, &phdr_mem)) != NULL
3061 Elf_Scn *scn = gelf_offscn (elf, phdr->p_offset);
3073 const char *str = elf_strptr (elf, shdr->sh_link, dyn->d_un.d_val);
3093 GElf_Shdr *strshdr = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
3102 Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
3127 if (need->vn_cnt > 0 && need->vn_aux < gelf_fsize (ebl->elf, ELF_T_VNEED,
3136 const char *libname = elf_strptr (ebl->elf, shdr->sh_link,
3147 if (unknown_dependency_p (ebl->elf, libname))
3164 const char *verstr = elf_strptr (ebl->elf, shdr->sh_link,
3194 && aux->vna_next < gelf_fsize (ebl->elf, ELF_T_VNAUX, 1,
3204 gelf_fsize (ebl->elf, ELF_T_VNAUX, 1, EV_CURRENT));
3240 GElf_Shdr *strshdr = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
3249 Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
3303 if (def->vd_cnt > 0 && def->vd_aux < gelf_fsize (ebl->elf, ELF_T_VDEF,
3318 const char *name = elf_strptr (ebl->elf, shdr->sh_link, aux->vda_name);
3353 name = elf_strptr (ebl->elf, shdr->sh_link, aux->vda_name);
3370 && aux->vda_next < gelf_fsize (ebl->elf, ELF_T_VDAUX, 1,
3380 gelf_fsize (ebl->elf, ELF_T_VDAUX, 1, EV_CURRENT));
3452 Elf_Data *data = elf_rawdata (elf_getscn (ebl->elf, idx), NULL);
3713 GElf_Shdr *shdr = gelf_getshdr (elf_getscn (ebl->elf, 0), &shdr_mem);
3756 Elf_Scn *scn = elf_getscn (ebl->elf, cnt);
3766 const char *scnname = elf_strptr (ebl->elf, shstrndx, shdr->sh_name);
3914 if (elf_strptr (ebl->elf, shstrndx, shdr->sh_name) == NULL)
4058 if ((phdr = gelf_getphdr (ebl->elf, pcnt, &phdr_mem)) != NULL
4097 databits = elf_getdata_rawchunk (ebl->elf,
4245 GElf_Phdr *phdr = gelf_getphdr (ebl->elf, pcnt, &phdr_mem);
4439 Elf_Data *data = elf_getdata_rawchunk (ebl->elf,
4461 Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
4511 phdr = gelf_getphdr (ebl->elf, cnt, &phdr_mem);
4557 while ((scn = elf_nextscn (ebl->elf, scn)) != NULL)
4588 phdr2 = gelf_getphdr (ebl->elf, inner, &phdr2_mem);
4638 phdr2 = gelf_getphdr (ebl->elf, inner, &phdr2_mem);
4665 while ((scn = elf_nextscn (ebl->elf, scn)) != NULL)
4674 && elf_strptr (ebl->elf, shstrndx, shdr->sh_name) != NULL
4676 elf_strptr (ebl->elf, shstrndx, shdr->sh_name)))
4767 process_elf_file (Elf *elf, const char *prefix, const char *suffix,
4780 GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem);
4798 ebl = ebl_openbackend (elf);