Lines Matching defs:elfItemField
306 ElfChecker::Elf* ElfChecker::GetElfItem(ElfItemField& elfItemField, void* mapAddress, unsigned char* eIdent,
314 elfItemField.ehdr = ehdr;
316 if (memcpy_s(&elfItemField.elfHeaderMem, sizeof(ElfEhdr), eIdent, sizeof(ElfEhdr)) != 0) {
320 elfItemField.ehdr = reinterpret_cast<ElfEhdr*>(&elfItemField.elfHeaderMem);
322 ByteSwap(elfItemField.elfHeaderMem.e_type);
323 ByteSwap(elfItemField.elfHeaderMem.e_machine);
324 ByteSwap(elfItemField.elfHeaderMem.e_version);
325 ByteSwap(elfItemField.elfHeaderMem.e_entry);
326 ByteSwap(elfItemField.elfHeaderMem.e_phoff);
327 ByteSwap(elfItemField.elfHeaderMem.e_shoff);
328 ByteSwap(elfItemField.elfHeaderMem.e_flags);
329 ByteSwap(elfItemField.elfHeaderMem.e_ehsize);
330 ByteSwap(elfItemField.elfHeaderMem.e_phentsize);
331 ByteSwap(elfItemField.elfHeaderMem.e_phnum);
332 ByteSwap(elfItemField.elfHeaderMem.e_shentsize);
333 ByteSwap(elfItemField.elfHeaderMem.e_shnum);
334 ByteSwap(elfItemField.elfHeaderMem.e_shstrndx);
337 auto elfSHOff = elfItemField.ehdr->e_shoff;
348 elfItemField.shdr = reinterpret_cast<ElfShdr*>(reinterpret_cast<char*>(ehdr) + elfSHOff);
351 elfItemField.sections.data()[cnt].index = cnt;
352 elfItemField.sections.data()[cnt].elf = elf;
354 elfItemField.sections.data()[cnt].shdr.e32 =
355 reinterpret_cast<llvm::ELF::Elf32_Shdr*>(&elfItemField.shdr[cnt]);
357 elfItemField.sections.data()[cnt].shdr.e64 =
358 reinterpret_cast<llvm::ELF::Elf64_Shdr*>(&elfItemField.shdr[cnt]);
361 if (SECUREC_LIKELY(elfItemField.shdr[cnt].sh_offset < maxSize) &&
362 SECUREC_LIKELY(elfItemField.shdr[cnt].sh_size <= maxSize - elfItemField.shdr[cnt].sh_offset)) {
363 elfItemField.sections.data()[cnt].rawDataBase = elfItemField.sections.data()[cnt].dataBase =
364 (reinterpret_cast<char*>(mapAddress) + offset + elfItemField.shdr[cnt].sh_offset);
366 elfItemField.sections.data()[cnt].list = &elfItemField.sections;
371 if (elfItemField.shdr[cnt].sh_type == llvm::ELF::SHT_SYMTAB_SHNDX &&
372 elfItemField.shdr[cnt].sh_link < scnCnt) {
373 elfItemField.sections.data()[elfItemField.shdr[cnt].sh_link]
378 if (elfItemField.sections.data()[cnt].extendSectionHeaderIndex == 0) {
379 elfItemField.sections.data()[cnt].extendSectionHeaderIndex = -1;
384 elfItemField.sections.data()[cnt].index = cnt;
385 elfItemField.sections.data()[cnt].elf = elf;
386 elfItemField.sections.data()[cnt].list = &elfItemField.sections;
391 elfItemField.sectionLast = &elfItemField.sections;