• Home
  • Raw
  • Download

Lines Matching refs:elf

67 elf_getshstrndx (elf, dst)  in elf_getshstrndx()  argument
68 Elf *elf; in elf_getshstrndx()
73 if (elf == NULL)
76 if (unlikely (elf->kind != ELF_K_ELF))
82 rwlock_rdlock (elf->lock);
86 assert (offsetof (struct Elf, state.elf.ehdr)
88 assert (sizeof (elf->state.elf.ehdr)
89 == sizeof (elf->state.elf32.ehdr));
90 assert (offsetof (struct Elf, state.elf.ehdr)
92 assert (sizeof (elf->state.elf.ehdr)
93 == sizeof (elf->state.elf64.ehdr));
95 if (unlikely (elf->state.elf.ehdr == NULL))
104 num = (elf->class == ELFCLASS32
105 ? elf->state.elf32.ehdr->e_shstrndx
106 : elf->state.elf64.ehdr->e_shstrndx);
113 if (elf->class == ELFCLASS32)
117 if (elf->state.elf32.scns.data[0].shdr.e32 != NULL)
119 num = elf->state.elf32.scns.data[0].shdr.e32->sh_link;
123 offset = elf->state.elf32.ehdr->e_shoff;
125 if (elf->map_address != NULL
126 && elf->state.elf32.ehdr->e_ident[EI_DATA] == MY_ELFDATA
128 || (((size_t) ((char *) elf->map_address + offset))
131 num = ((Elf32_Shdr *) (elf->map_address + offset))->sh_link;
138 if (unlikely (pread_retry (elf->fildes, &shdr_mem,
148 if (elf->state.elf32.ehdr->e_ident[EI_DATA] != MY_ELFDATA)
155 if (elf->state.elf64.scns.data[0].shdr.e64 != NULL)
157 num = elf->state.elf64.scns.data[0].shdr.e64->sh_link;
161 size_t offset = elf->state.elf64.ehdr->e_shoff;
163 if (elf->map_address != NULL
164 && elf->state.elf64.ehdr->e_ident[EI_DATA] == MY_ELFDATA
166 || (((size_t) ((char *) elf->map_address + offset))
169 num = ((Elf64_Shdr *) (elf->map_address + offset))->sh_link;
176 if (unlikely (pread_retry (elf->fildes, &shdr_mem,
186 if (elf->state.elf64.ehdr->e_ident[EI_DATA] != MY_ELFDATA)
199 rwlock_unlock (elf->lock);