Lines Matching defs:ElfHeader
49 /// @param ElfHeader Target ELFT::Ehdr to populate.
52 static void initELFHeader(typename ELFT::Ehdr &ElfHeader, uint16_t Machine) {
53 memset(&ElfHeader, 0, sizeof(ElfHeader));
55 ElfHeader.e_ident[EI_MAG0] = ElfMagic[EI_MAG0];
56 ElfHeader.e_ident[EI_MAG1] = ElfMagic[EI_MAG1];
57 ElfHeader.e_ident[EI_MAG2] = ElfMagic[EI_MAG2];
58 ElfHeader.e_ident[EI_MAG3] = ElfMagic[EI_MAG3];
59 ElfHeader.e_ident[EI_CLASS] = ELFT::Is64Bits ? ELFCLASS64 : ELFCLASS32;
61 ElfHeader.e_ident[EI_DATA] = IsLittleEndian ? ELFDATA2LSB : ELFDATA2MSB;
62 ElfHeader.e_ident[EI_VERSION] = EV_CURRENT;
63 ElfHeader.e_ident[EI_OSABI] = ELFOSABI_NONE;
66 ElfHeader.e_type = ET_DYN;
67 ElfHeader.e_machine = Machine;
68 ElfHeader.e_version = EV_CURRENT;
69 ElfHeader.e_ehsize = sizeof(typename ELFT::Ehdr);
70 ElfHeader.e_phentsize = sizeof(typename ELFT::Phdr);
71 ElfHeader.e_shentsize = sizeof(typename ELFT::Shdr);
254 initELFHeader<ELFT>(ElfHeader, static_cast<uint16_t>(*Stub.Target.Arch));
255 ElfHeader.e_shstrndx = ShStrTab.Index;
256 ElfHeader.e_shnum = LastSection->Index + 1;
257 ElfHeader.e_shoff =
262 return ElfHeader.e_shoff + ElfHeader.e_shnum * sizeof(Elf_Shdr);
266 write(Data, ElfHeader);
278 Elf_Ehdr ElfHeader;
331 return ElfHeader.e_shoff + Sec.Index * sizeof(Elf_Shdr);