Lines Matching refs:ELFT
184 template <class ELFT> class ELFState {
185 LLVM_ELF_IMPORT_TYPES_ELFT(ELFT)
247 ArrayRef<typename ELFT::Shdr> SHeaders);
345 template <class ELFT>
346 ELFState<ELFT>::ELFState(ELFYAML::Object &D, yaml::ErrorHandler EH) in ELFState()
463 template <class ELFT>
464 void ELFState<ELFT>::writeELFHeader(raw_ostream &OS) { in writeELFHeader()
473 Header.e_ident[EI_CLASS] = ELFT::Is64Bits ? ELFCLASS64 : ELFCLASS32; in writeELFHeader()
540 template <class ELFT>
541 void ELFState<ELFT>::initProgramHeaders(std::vector<Elf_Phdr> &PHeaders) { in initProgramHeaders()
588 template <class ELFT>
589 unsigned ELFState<ELFT>::toSectionIndex(StringRef S, StringRef LocSec, in toSectionIndex()
625 template <class ELFT>
626 unsigned ELFState<ELFT>::toSymbolIndex(StringRef S, StringRef LocSec, in toSymbolIndex()
640 template <class ELFT>
641 static void overrideFields(ELFYAML::Section *From, typename ELFT::Shdr &To) { in overrideFields()
658 template <class ELFT>
659 bool ELFState<ELFT>::initImplicitHeader(ContiguousBlobAccumulator &CBA, in initImplicitHeader()
688 overrideFields<ELFT>(YAMLSec, Header); in initImplicitHeader()
716 template <class ELFT>
717 uint64_t ELFState<ELFT>::getSectionNameOffset(StringRef Name) { in getSectionNameOffset()
764 template <class ELFT>
765 void ELFState<ELFT>::initSectionHeaders(std::vector<Elf_Shdr> &SHeaders, in initSectionHeaders()
785 S->Offset = alignToOffset(CBA, sizeof(typename ELFT::uint), in initSectionHeaders()
817 SHeader.sh_entsize = ELFYAML::getDefaultShEntSize<ELFT>( in initSectionHeaders()
855 overrideFields<ELFT>(Sec, SHeader); in initSectionHeaders()
911 overrideFields<ELFT>(Sec, SHeader); in initSectionHeaders()
915 template <class ELFT>
916 void ELFState<ELFT>::assignSectionAddress(Elf_Shdr &SHeader, in assignSectionAddress()
943 template <class ELFT>
944 std::vector<typename ELFT::Sym>
945 ELFState<ELFT>::toELFSymbols(ArrayRef<ELFYAML::Symbol> Symbols, in toELFSymbols()
976 template <class ELFT>
977 void ELFState<ELFT>::initSymtabSectionHeader(Elf_Shdr &SHeader, in initSymtabSectionHeader()
1041 template <class ELFT>
1042 void ELFState<ELFT>::initStrtabSectionHeader(Elf_Shdr &SHeader, StringRef Name, in initStrtabSectionHeader()
1080 template <class ELFT>
1081 Expected<uint64_t> emitDWARF(typename ELFT::Shdr &SHeader, StringRef Name, in emitDWARF()
1100 template <class ELFT>
1101 void ELFState<ELFT>::initDWARFSectionHeader(Elf_Shdr &SHeader, StringRef Name, in initDWARFSectionHeader()
1119 emitDWARF<ELFT>(SHeader, Name, *Doc.DWARF, CBA)) in initDWARFSectionHeader()
1141 template <class ELFT> void ELFState<ELFT>::reportError(const Twine &Msg) { in reportError()
1146 template <class ELFT> void ELFState<ELFT>::reportError(Error Err) { in reportError()
1152 template <class ELFT>
1154 ELFState<ELFT>::getPhdrFragments(const ELFYAML::ProgramHeader &Phdr, in getPhdrFragments()
1171 template <class ELFT>
1172 void ELFState<ELFT>::setProgramHeaderLayout(std::vector<Elf_Phdr> &PHeaders, in setProgramHeaderLayout()
1243 template <class ELFT>
1244 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1259 template <class ELFT>
1260 void ELFState<ELFT>::writeSectionContent( in writeSectionContent()
1273 template <class ELFT>
1274 void ELFState<ELFT>::writeSectionContent( in writeSectionContent()
1290 typename ELFT::uint OffsetMask = 8, Offset = 0, Addend = 0; in writeSectionContent()
1309 (static_cast<typename ELFT::uint>(Rel.Offset) - Offset) >> Shift; in writeSectionContent()
1313 (Addend != static_cast<typename ELFT::uint>(Rel.Addend) ? 4 : 0); in writeSectionContent()
1323 std::make_signed_t<typename ELFT::uint>(CurSymIdx - SymIdx)); in writeSectionContent()
1332 std::make_signed_t<typename ELFT::uint>(Rel.Addend - Addend)); in writeSectionContent()
1354 template <class ELFT>
1355 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1362 if (!ELFT::Is64Bits && E > UINT32_MAX) in writeSectionContent()
1365 CBA.write<uintX_t>(E, ELFT::Endianness); in writeSectionContent()
1371 template <class ELFT>
1372 void ELFState<ELFT>::writeSectionContent( in writeSectionContent()
1384 CBA.write<uint32_t>(E, ELFT::Endianness); in writeSectionContent()
1388 template <class ELFT>
1389 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1408 CBA.write<uint32_t>(SectionIndex, ELFT::Endianness); in writeSectionContent()
1413 template <class ELFT>
1414 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1421 CBA.write<uint16_t>(Version, ELFT::Endianness); in writeSectionContent()
1425 template <class ELFT>
1426 void ELFState<ELFT>::writeSectionContent( in writeSectionContent()
1433 CBA.write<uintX_t>(E.Address, ELFT::Endianness); in writeSectionContent()
1438 template <class ELFT>
1439 void ELFState<ELFT>::writeSectionContent( in writeSectionContent()
1495 CBA.write<uintX_t>(BBR.BaseAddress, ELFT::Endianness); in writeSectionContent()
1547 template <class ELFT>
1548 void ELFState<ELFT>::writeSectionContent( in writeSectionContent()
1563 template <class ELFT>
1564 void ELFState<ELFT>::writeSectionContent( in writeSectionContent()
1577 template <class ELFT>
1579 ELFState<ELFT>::alignToOffset(ContiguousBlobAccumulator &CBA, uint64_t Align, in alignToOffset()
1601 template <class ELFT>
1602 void ELFState<ELFT>::writeSectionContent( in writeSectionContent()
1609 CBA.write<uint64_t>(E.Weight, ELFT::Endianness); in writeSectionContent()
1610 SHeader.sh_size += sizeof(object::Elf_CGProfile_Impl<ELFT>); in writeSectionContent()
1614 template <class ELFT>
1615 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1623 ELFT::Endianness); in writeSectionContent()
1626 ELFT::Endianness); in writeSectionContent()
1629 CBA.write<uint32_t>(Val, ELFT::Endianness); in writeSectionContent()
1631 CBA.write<uint32_t>(Val, ELFT::Endianness); in writeSectionContent()
1636 template <class ELFT>
1637 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1682 template <class ELFT>
1683 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1730 template <class ELFT>
1731 void ELFState<ELFT>::writeSectionContent( in writeSectionContent()
1738 CBA.write<uint32_t>(E.Offset, ELFT::Endianness); in writeSectionContent()
1739 CBA.write<uint32_t>(E.Value, ELFT::Endianness); in writeSectionContent()
1744 template <class ELFT>
1745 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1751 object::Elf_Mips_ABIFlags<ELFT> Flags; in writeSectionContent()
1769 template <class ELFT>
1770 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1780 CBA.write<uintX_t>(DE.Tag, ELFT::Endianness); in writeSectionContent()
1781 CBA.write<uintX_t>(DE.Val, ELFT::Endianness); in writeSectionContent()
1786 template <class ELFT>
1787 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1798 template <class ELFT>
1799 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1809 CBA.write<uint32_t>(0, ELFT::Endianness); in writeSectionContent()
1811 CBA.write<uint32_t>(NE.Name.size() + 1, ELFT::Endianness); in writeSectionContent()
1815 CBA.write<uint32_t>(0, ELFT::Endianness); in writeSectionContent()
1817 CBA.write<uint32_t>(NE.Desc.binary_size(), ELFT::Endianness); in writeSectionContent()
1820 CBA.write<uint32_t>(NE.Type, ELFT::Endianness); in writeSectionContent()
1839 template <class ELFT>
1840 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader, in writeSectionContent()
1854 CBA.write<uint32_t>(*Section.Header->NBuckets, ELFT::Endianness); in writeSectionContent()
1856 CBA.write<uint32_t>(Section.HashBuckets->size(), ELFT::Endianness); in writeSectionContent()
1860 CBA.write<uint32_t>(Section.Header->SymNdx, ELFT::Endianness); in writeSectionContent()
1865 CBA.write<uint32_t>(*Section.Header->MaskWords, ELFT::Endianness); in writeSectionContent()
1867 CBA.write<uint32_t>(Section.BloomFilter->size(), ELFT::Endianness); in writeSectionContent()
1870 CBA.write<uint32_t>(Section.Header->Shift2, ELFT::Endianness); in writeSectionContent()
1874 CBA.write<uintX_t>(Val, ELFT::Endianness); in writeSectionContent()
1878 CBA.write<uint32_t>(Val, ELFT::Endianness); in writeSectionContent()
1882 CBA.write<uint32_t>(Val, ELFT::Endianness); in writeSectionContent()
1885 Section.BloomFilter->size() * sizeof(typename ELFT::uint) + in writeSectionContent()
1890 template <class ELFT>
1891 void ELFState<ELFT>::writeFill(ELFYAML::Fill &Fill, in writeFill()
1906 template <class ELFT>
1907 DenseMap<StringRef, size_t> ELFState<ELFT>::buildSectionHeaderReorderMap() { in buildSectionHeaderReorderMap()
1949 template <class ELFT> void ELFState<ELFT>::buildSectionIndex() { in buildSectionIndex()
1984 template <class ELFT> void ELFState<ELFT>::buildSymbolIndexes() { in buildSymbolIndexes()
1999 template <class ELFT> void ELFState<ELFT>::finalizeStrings() { in finalizeStrings()
2038 template <class ELFT>
2039 bool ELFState<ELFT>::writeELF(raw_ostream &OS, ELFYAML::Object &Doc, in writeELF()
2041 ELFState<ELFT> State(Doc, EH); in writeELF()