Lines Matching refs:ELFT
176 template <class ELFT> class ELFState {
177 LLVM_ELF_IMPORT_TYPES_ELFT(ELFT)
239 ArrayRef<typename ELFT::Shdr> SHeaders);
337 template <class ELFT>
338 ELFState<ELFT>::ELFState(ELFYAML::Object &D, yaml::ErrorHandler EH) in ELFState()
455 template <class ELFT>
456 void ELFState<ELFT>::writeELFHeader(raw_ostream &OS) { in writeELFHeader()
465 Header.e_ident[EI_CLASS] = ELFT::Is64Bits ? ELFCLASS64 : ELFCLASS32; in writeELFHeader()
532 template <class ELFT>
533 void ELFState<ELFT>::initProgramHeaders(std::vector<Elf_Phdr> &PHeaders) { in initProgramHeaders()
580 template <class ELFT>
581 unsigned ELFState<ELFT>::toSectionIndex(StringRef S, StringRef LocSec, in toSectionIndex()
617 template <class ELFT>
618 unsigned ELFState<ELFT>::toSymbolIndex(StringRef S, StringRef LocSec, in toSymbolIndex()
632 template <class ELFT>
633 static void overrideFields(ELFYAML::Section *From, typename ELFT::Shdr &To) { in overrideFields()
650 template <class ELFT>
651 bool ELFState<ELFT>::initImplicitHeader(ContiguousBlobAccumulator &CBA, in initImplicitHeader()
680 overrideFields<ELFT>(YAMLSec, Header); in initImplicitHeader()
708 template <class ELFT>
709 uint64_t ELFState<ELFT>::getSectionNameOffset(StringRef Name) { in getSectionNameOffset()
756 template <class ELFT>
757 void ELFState<ELFT>::initSectionHeaders(std::vector<Elf_Shdr> &SHeaders, in initSectionHeaders()
777 S->Offset = alignToOffset(CBA, sizeof(typename ELFT::uint), in initSectionHeaders()
809 SHeader.sh_entsize = ELFYAML::getDefaultShEntSize<ELFT>( in initSectionHeaders()
847 overrideFields<ELFT>(Sec, SHeader); in initSectionHeaders()
903 overrideFields<ELFT>(Sec, SHeader); in initSectionHeaders()
907 template <class ELFT>
908 void ELFState<ELFT>::assignSectionAddress(Elf_Shdr &SHeader, in assignSectionAddress()
935 template <class ELFT>
936 std::vector<typename ELFT::Sym>
937 ELFState<ELFT>::toELFSymbols(ArrayRef<ELFYAML::Symbol> Symbols, in toELFSymbols()
968 template <class ELFT>
969 void ELFState<ELFT>::initSymtabSectionHeader(Elf_Shdr &SHeader, in initSymtabSectionHeader()
1033 template <class ELFT>
1034 void ELFState<ELFT>::initStrtabSectionHeader(Elf_Shdr &SHeader, StringRef Name, in initStrtabSectionHeader()
1072 template <class ELFT>
1073 Expected<uint64_t> emitDWARF(typename ELFT::Shdr &SHeader, StringRef Name, in emitDWARF()
1092 template <class ELFT>
1093 void ELFState<ELFT>::initDWARFSectionHeader(Elf_Shdr &SHeader, StringRef Name, in initDWARFSectionHeader()
1111 emitDWARF<ELFT>(SHeader, Name, *Doc.DWARF, CBA)) in initDWARFSectionHeader()
1133 template <class ELFT> void ELFState<ELFT>::reportError(const Twine &Msg) { in reportError()
1138 template <class ELFT> void ELFState<ELFT>::reportError(Error Err) { in reportError()
1144 template <class ELFT>
1146 ELFState<ELFT>::getPhdrFragments(const ELFYAML::ProgramHeader &Phdr, in getPhdrFragments()
1163 template <class ELFT>
1164 void ELFState<ELFT>::setProgramHeaderLayout(std::vector<Elf_Phdr> &PHeaders, in setProgramHeaderLayout()
1235 template <class ELFT>
1236 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1251 template <class ELFT>
1252 void ELFState<ELFT>::writeSectionContent( in writeSectionContent()
1265 template <class ELFT>
1266 void ELFState<ELFT>::writeSectionContent( in writeSectionContent()
1304 template <class ELFT>
1305 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1312 if (!ELFT::Is64Bits && E > UINT32_MAX) in writeSectionContent()
1315 CBA.write<uintX_t>(E, ELFT::TargetEndianness); in writeSectionContent()
1321 template <class ELFT>
1322 void ELFState<ELFT>::writeSectionContent( in writeSectionContent()
1334 CBA.write<uint32_t>(E, ELFT::TargetEndianness); in writeSectionContent()
1338 template <class ELFT>
1339 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1358 CBA.write<uint32_t>(SectionIndex, ELFT::TargetEndianness); in writeSectionContent()
1363 template <class ELFT>
1364 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1371 CBA.write<uint16_t>(Version, ELFT::TargetEndianness); in writeSectionContent()
1375 template <class ELFT>
1376 void ELFState<ELFT>::writeSectionContent( in writeSectionContent()
1383 CBA.write<uintX_t>(E.Address, ELFT::TargetEndianness); in writeSectionContent()
1388 template <class ELFT>
1389 void ELFState<ELFT>::writeSectionContent( in writeSectionContent()
1407 CBA.write<uintX_t>(E.Address, ELFT::TargetEndianness); in writeSectionContent()
1423 template <class ELFT>
1424 void ELFState<ELFT>::writeSectionContent( in writeSectionContent()
1439 template <class ELFT>
1440 void ELFState<ELFT>::writeSectionContent( in writeSectionContent()
1453 template <class ELFT>
1455 ELFState<ELFT>::alignToOffset(ContiguousBlobAccumulator &CBA, uint64_t Align, in alignToOffset()
1477 template <class ELFT>
1478 void ELFState<ELFT>::writeSectionContent( in writeSectionContent()
1485 CBA.write<uint64_t>(E.Weight, ELFT::TargetEndianness); in writeSectionContent()
1486 SHeader.sh_size += sizeof(object::Elf_CGProfile_Impl<ELFT>); in writeSectionContent()
1490 template <class ELFT>
1491 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1499 ELFT::TargetEndianness); in writeSectionContent()
1502 ELFT::TargetEndianness); in writeSectionContent()
1505 CBA.write<uint32_t>(Val, ELFT::TargetEndianness); in writeSectionContent()
1507 CBA.write<uint32_t>(Val, ELFT::TargetEndianness); in writeSectionContent()
1512 template <class ELFT>
1513 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1558 template <class ELFT>
1559 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1606 template <class ELFT>
1607 void ELFState<ELFT>::writeSectionContent( in writeSectionContent()
1614 CBA.write<uint32_t>(E.Offset, ELFT::TargetEndianness); in writeSectionContent()
1615 CBA.write<uint32_t>(E.Value, ELFT::TargetEndianness); in writeSectionContent()
1620 template <class ELFT>
1621 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1627 object::Elf_Mips_ABIFlags<ELFT> Flags; in writeSectionContent()
1645 template <class ELFT>
1646 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1656 CBA.write<uintX_t>(DE.Tag, ELFT::TargetEndianness); in writeSectionContent()
1657 CBA.write<uintX_t>(DE.Val, ELFT::TargetEndianness); in writeSectionContent()
1662 template <class ELFT>
1663 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1674 template <class ELFT>
1675 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1685 CBA.write<uint32_t>(0, ELFT::TargetEndianness); in writeSectionContent()
1687 CBA.write<uint32_t>(NE.Name.size() + 1, ELFT::TargetEndianness); in writeSectionContent()
1691 CBA.write<uint32_t>(0, ELFT::TargetEndianness); in writeSectionContent()
1693 CBA.write<uint32_t>(NE.Desc.binary_size(), ELFT::TargetEndianness); in writeSectionContent()
1696 CBA.write<uint32_t>(NE.Type, ELFT::TargetEndianness); in writeSectionContent()
1715 template <class ELFT>
1716 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1730 CBA.write<uint32_t>(*Section.Header->NBuckets, ELFT::TargetEndianness); in writeSectionContent()
1732 CBA.write<uint32_t>(Section.HashBuckets->size(), ELFT::TargetEndianness); in writeSectionContent()
1736 CBA.write<uint32_t>(Section.Header->SymNdx, ELFT::TargetEndianness); in writeSectionContent()
1741 CBA.write<uint32_t>(*Section.Header->MaskWords, ELFT::TargetEndianness); in writeSectionContent()
1743 CBA.write<uint32_t>(Section.BloomFilter->size(), ELFT::TargetEndianness); in writeSectionContent()
1746 CBA.write<uint32_t>(Section.Header->Shift2, ELFT::TargetEndianness); in writeSectionContent()
1750 CBA.write<uintX_t>(Val, ELFT::TargetEndianness); in writeSectionContent()
1754 CBA.write<uint32_t>(Val, ELFT::TargetEndianness); in writeSectionContent()
1758 CBA.write<uint32_t>(Val, ELFT::TargetEndianness); in writeSectionContent()
1761 Section.BloomFilter->size() * sizeof(typename ELFT::uint) + in writeSectionContent()
1766 template <class ELFT>
1767 void ELFState<ELFT>::writeFill(ELFYAML::Fill &Fill, in writeFill()
1782 template <class ELFT>
1783 DenseMap<StringRef, size_t> ELFState<ELFT>::buildSectionHeaderReorderMap() { in buildSectionHeaderReorderMap()
1825 template <class ELFT> void ELFState<ELFT>::buildSectionIndex() { in buildSectionIndex()
1860 template <class ELFT> void ELFState<ELFT>::buildSymbolIndexes() { in buildSymbolIndexes()
1875 template <class ELFT> void ELFState<ELFT>::finalizeStrings() { in finalizeStrings()
1914 template <class ELFT>
1915 bool ELFState<ELFT>::writeELF(raw_ostream &OS, ELFYAML::Object &Doc, in writeELF()
1917 ELFState<ELFT> State(Doc, EH); in writeELF()