Lines Matching refs:elf
32 #include ELFUTILS_HEADER(elf)
66 create_strtab (Elf *elf)
69 Elf_Scn *scn = elf_newscn (elf);
100 GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem);
110 if (gelf_update_ehdr (elf, ehdr) == 0)
130 add_data_section (Elf *elf, Elf_Scn *strtab, const char *sname)
133 Elf_Scn *scn = elf_newscn (elf);
212 Elf *elf = elf_begin (fd, use_mmap ? ELF_C_WRITE_MMAP : ELF_C_WRITE, NULL);
213 if (elf == NULL)
220 if (gelf_newehdr (elf, class) == 0)
227 GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem);
241 if (gelf_update_ehdr (elf, ehdr) == 0)
247 Elf_Scn *strtab = create_strtab (elf);
248 add_data_section (elf, strtab, ".data1");
249 add_data_section (elf, strtab, ".data2");
250 add_data_section (elf, strtab, ".data3");
251 add_data_section (elf, strtab, ".data4");
254 if (elf_update (elf, ELF_C_WRITE) < 0)
260 if (elf_end (elf) != 0)
277 elf = elf_begin (fd, use_mmap ? ELF_C_RDWR_MMAP : ELF_C_RDWR, NULL);
278 if (elf == NULL)
286 elf_flagelf (elf, ELF_C_SET, ELF_F_LAYOUT);
289 if (elf_getshdrstrndx (elf, &shdrstrndx) != 0)
298 Elf_Scn *scn = elf_nextscn (elf, NULL);
308 const char *sname = elf_strptr (elf, shdrstrndx, shdr->sh_name);
320 scn = elf_nextscn (elf, scn);
335 if (elf_update (elf, ELF_C_WRITE) < 0)
341 if (elf_end (elf) != 0)
358 elf = elf_begin (fd, use_mmap ? ELF_C_READ_MMAP : ELF_C_READ, NULL);
359 if (elf == NULL)
370 scn = elf_nextscn (elf, NULL);
380 const char *sname = elf_strptr (elf, shdrstrndx, shdr->sh_name);
389 scn = elf_nextscn (elf, scn);
424 if (elf_end (elf) != 0)
443 check_elf ("fill.elf.32", ELFCLASS32, 0);
444 check_elf ("fill.elf.32.mmap", ELFCLASS32, 1);
445 check_elf ("fill.elf.64", ELFCLASS64, 0);
446 check_elf ("fill.elf.64.mmap", ELFCLASS64, 1);