Lines Matching defs:elf
177 elf_getarsym(Elf *elf, size_t *ptr)
186 if (elf == NULL)
188 ELFRLOCK(elf);
189 if (elf->ed_kind != ELF_K_AR) {
190 ELFUNLOCK(elf);
194 if ((as = (Byte *)elf->ed_arsym) == 0) {
195 ELFUNLOCK(elf);
198 if (elf->ed_myflags & EDF_ASALLOC) {
200 *ptr = elf->ed_arsymsz;
201 ELFUNLOCK(elf);
205 is64 = (elf->ed_myflags & EDF_ARSYM64) != 0;
210 ELFUNLOCK(elf)
211 ELFWLOCK(elf)
212 sz = elf->ed_arsymsz;
213 if (_elf_vm(elf, (size_t)(as - (Byte *)elf->ed_ident), sz) !=
215 ELFUNLOCK(elf);
218 if ((elf->ed_arsym = arsym(as, sz, &elf->ed_arsymsz, is64)) == 0) {
219 ELFUNLOCK(elf);
222 elf->ed_myflags |= EDF_ASALLOC;
224 *ptr = elf->ed_arsymsz;
225 rc = (Elf_Arsym *)elf->ed_arsym;
226 ELFUNLOCK(elf);
242 _elf_getarsymwordsize(Elf *elf)
246 if (elf == NULL)
249 ELFRLOCK(elf);
250 if ((elf->ed_kind == ELF_K_AR) && (elf->ed_arsym != 0))
251 size = (elf->ed_myflags & EDF_ARSYM64) ? 8 : 4;
254 ELFUNLOCK(elf);