Lines Matching refs:elf
46 elfw2(LIBELFBITS,newphdr) (Elf *elf, size_t count)
50 if (elf == NULL)
53 if (unlikely (elf->kind != ELF_K_ELF))
68 rwlock_wrlock (elf->lock);
70 if (elf->class == 0)
71 elf->class = ELFW(ELFCLASS,LIBELFBITS);
72 else if (unlikely (elf->class != ELFW(ELFCLASS,LIBELFBITS)))
79 if (unlikely (elf->state.ELFW(elf,LIBELFBITS).ehdr == NULL))
90 if (elf->state.ELFW(elf,LIBELFBITS).phdr != NULL)
92 if (elf->state.ELFW(elf,LIBELFBITS).phdr_flags & ELF_F_MALLOCED)
93 free (elf->state.ELFW(elf,LIBELFBITS).phdr);
96 elf->state.ELFW(elf,LIBELFBITS).phdr = NULL;
98 elf->state.ELFW(elf,LIBELFBITS).ehdr->e_phnum = 0;
100 if (elf->state.ELFW(elf,LIBELFBITS).scns.cnt > 0)
101 elf->state.ELFW(elf,LIBELFBITS).scns.data[0]
104 elf->state.ELFW(elf,LIBELFBITS).ehdr->e_phentsize =
107 elf->state.ELFW(elf,LIBELFBITS).phdr_flags |= ELF_F_DIRTY;
108 elf->flags |= ELF_F_DIRTY;
114 else if (elf->state.ELFW(elf,LIBELFBITS).ehdr->e_phnum != count
116 || elf->state.ELFW(elf,LIBELFBITS).phdr == NULL)
125 Elf_Scn *scn0 = &elf->state.ELFW(elf,LIBELFBITS).scns.data[0];
138 realloc (elf->state.ELFW(elf,LIBELFBITS).phdr,
145 elf->state.ELFW(elf,LIBELFBITS).phdr = result;
149 if (elf->state.ELFW(elf,LIBELFBITS).scns.cnt == 0)
151 assert (elf->state.ELFW(elf,LIBELFBITS).scns.max > 0);
152 elf->state.ELFW(elf,LIBELFBITS).scns.cnt = 1;
156 elf->state.ELFW(elf,LIBELFBITS).ehdr->e_phnum = PN_XNUM;
160 elf->state.ELFW(elf,LIBELFBITS).ehdr->e_phnum = count;
164 elf->state.ELFW(elf,LIBELFBITS).ehdr->e_phentsize =
168 elf->state.ELFW(elf,LIBELFBITS).phdr_flags |=
172 elf->flags |= ELF_F_DIRTY;
178 assert (elf->state.ELFW(elf,LIBELFBITS).ehdr->e_phentsize
182 elf->state.ELFW(elf,LIBELFBITS).phdr_flags |= ELF_F_DIRTY;
184 result = elf->state.ELFW(elf,LIBELFBITS).phdr;
189 rwlock_unlock (elf->lock);