Home | History | Annotate | Download | only in libelf

Lines Matching refs:LIBELFBITS

40 #ifndef LIBELFBITS
41 # define LIBELFBITS 32
45 ElfW2(LIBELFBITS,Phdr) *
46 elfw2(LIBELFBITS,newphdr) (elf, count)
50 ElfW2(LIBELFBITS,Phdr) *result;
61 if (unlikely ((ElfW2(LIBELFBITS,Word)) count != count))
70 elf->class = ELFW(ELFCLASS,LIBELFBITS);
71 else if (unlikely (elf->class != ELFW(ELFCLASS,LIBELFBITS)))
78 if (unlikely (elf->state.ELFW(elf,LIBELFBITS).ehdr == NULL))
89 if (elf->state.ELFW(elf,LIBELFBITS).phdr != NULL)
91 if (elf->state.ELFW(elf,LIBELFBITS).phdr_flags & ELF_F_MALLOCED)
92 free (elf->state.ELFW(elf,LIBELFBITS).phdr);
95 elf->state.ELFW(elf,LIBELFBITS).phdr = NULL;
97 elf->state.ELFW(elf,LIBELFBITS).ehdr->e_phnum = 0;
99 if (elf->state.ELFW(elf,LIBELFBITS).scns.cnt > 0)
100 elf->state.ELFW(elf,LIBELFBITS).scns.data[0]
101 .shdr.ELFW(e,LIBELFBITS)->sh_info = 0;
103 elf->state.ELFW(elf,LIBELFBITS).ehdr->e_phentsize =
104 sizeof (ElfW2(LIBELFBITS,Phdr));
106 elf->state.ELFW(elf,LIBELFBITS).phdr_flags |= ELF_F_DIRTY;
113 else if (elf->state.ELFW(elf,LIBELFBITS).ehdr->e_phnum != count
115 || elf->state.ELFW(elf,LIBELFBITS).phdr == NULL)
117 if (unlikely (count > SIZE_MAX / sizeof (ElfW2(LIBELFBITS,Phdr))))
125 result = (ElfW2(LIBELFBITS,Phdr) *)
126 realloc (elf->state.ELFW(elf,LIBELFBITS).phdr,
127 count * sizeof (ElfW2(LIBELFBITS,Phdr)));
133 elf->state.ELFW(elf,LIBELFBITS).phdr = result;
137 Elf_Scn *scn0 = &elf->state.ELFW(elf,LIBELFBITS).scns.data[0];
138 if (elf->state.ELFW(elf,LIBELFBITS).scns.cnt == 0)
140 assert (elf->state.ELFW(elf,LIBELFBITS).scns.max > 0);
141 elf->state.ELFW(elf,LIBELFBITS).scns.cnt = 1;
143 scn0->shdr.ELFW(e,LIBELFBITS)->sh_info = count;
145 elf->state.ELFW(elf,LIBELFBITS).ehdr->e_phnum = PN_XNUM;
149 elf->state.ELFW(elf,LIBELFBITS).ehdr->e_phnum = count;
151 memset (result, '\0', count * sizeof (ElfW2(LIBELFBITS,Phdr)));
153 elf->state.ELFW(elf,LIBELFBITS).ehdr->e_phentsize =
154 elf_typesize (LIBELFBITS, ELF_T_PHDR, 1);
157 elf->state.ELFW(elf,LIBELFBITS).phdr_flags |=
167 assert (elf->state.ELFW(elf,LIBELFBITS).ehdr->e_phentsize
168 == elf_typesize (LIBELFBITS, ELF_T_PHDR, 1));
171 elf->state.ELFW(elf,LIBELFBITS).phdr_flags |= ELF_F_DIRTY;
173 result = elf->state.ELFW(elf,LIBELFBITS).phdr;
174 memset (result, '\0', count * sizeof (ElfW2(LIBELFBITS,Phdr)));
182 INTDEF(elfw2(LIBELFBITS,newphdr))