diff --git a/lld/ELF/Arch/Mips.cpp b/lld/ELF/Arch/Mips.cpp index b02ad10649d901..e36e9d59a7401c 100644 --- a/lld/ELF/Arch/Mips.cpp +++ b/lld/ELF/Arch/Mips.cpp @@ -380,7 +380,7 @@ bool MIPS::needsThunk(RelExpr expr, RelType type, const InputFile *file, template int64_t MIPS::getImplicitAddend(const uint8_t *buf, RelType type) const { - const endianness e = ELFT::TargetEndianness; + const endianness e = ELFT::Endianness; switch (type) { case R_MIPS_32: case R_MIPS_REL32: @@ -521,7 +521,7 @@ static uint64_t fixupCrossModeJump(uint8_t *loc, RelType type, uint64_t val) { // to a microMIPS target and vice versa. In that cases jump // instructions need to be replaced by their "cross-mode" // equivalents. - const endianness e = ELFT::TargetEndianness; + const endianness e = ELFT::Endianness; bool isMicroTgt = val & 0x1; bool isCrossJump = (isMicroTgt && isBranchReloc(type)) || (!isMicroTgt && isMicroBranchReloc(type)); @@ -567,7 +567,7 @@ static uint64_t fixupCrossModeJump(uint8_t *loc, RelType type, uint64_t val) { template void MIPS::relocate(uint8_t *loc, const Relocation &rel, uint64_t val) const { - const endianness e = ELFT::TargetEndianness; + const endianness e = ELFT::Endianness; RelType type = rel.type; if (ELFT::Is64Bits || config->mipsN32Abi) diff --git a/lld/ELF/DWARF.h b/lld/ELF/DWARF.h index 1b9a3e3f77943b..d56895277bcc91 100644 --- a/lld/ELF/DWARF.h +++ b/lld/ELF/DWARF.h @@ -74,7 +74,7 @@ template class LLDDwarfObj final : public llvm::DWARFObject { StringRef getLineStrSection() const override { return lineStrSection; } bool isLittleEndian() const override { - return ELFT::TargetEndianness == llvm::endianness::little; + return ELFT::Endianness == llvm::endianness::little; } std::optional find(const llvm::DWARFSection &sec, diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp index 42761b6e12097f..725c6f166fffca 100644 --- a/lld/ELF/InputFiles.cpp +++ b/lld/ELF/InputFiles.cpp @@ -971,8 +971,8 @@ template static uint32_t readAndFeatures(const InputSection &sec) { const uint8_t *place = desc.data(); if (desc.size() < 8) reportFatal(place, "program property is too short"); - uint32_t type = read32(desc.data()); - uint32_t size = read32(desc.data() + 4); + uint32_t type = read32(desc.data()); + uint32_t size = read32(desc.data() + 4); desc = desc.slice(8); if (desc.size() < size) reportFatal(place, "program property is too short"); @@ -983,7 +983,7 @@ template static uint32_t readAndFeatures(const InputSection &sec) { // accumulate the bits set. if (size < 4) reportFatal(place, "FEATURE_1_AND entry is too short"); - featuresSet |= read32(desc.data()); + featuresSet |= read32(desc.data()); } // Padding is present in the note descriptor, if necessary. diff --git a/lld/ELF/InputSection.cpp b/lld/ELF/InputSection.cpp index c34bf08757b156..4f88313b868b24 100644 --- a/lld/ELF/InputSection.cpp +++ b/lld/ELF/InputSection.cpp @@ -1258,10 +1258,10 @@ void EhInputSection::split(ArrayRef rels) { msg = "CIE/FDE too small"; break; } - uint64_t size = endian::read32(d.data()); + uint64_t size = endian::read32(d.data()); if (size == 0) // ZERO terminator break; - uint32_t id = endian::read32(d.data() + 4); + uint32_t id = endian::read32(d.data() + 4); size += 4; if (LLVM_UNLIKELY(size > d.size())) { // If it is 0xFFFFFFFF, the next 8 bytes contain the size instead, diff --git a/lld/ELF/SyntheticSections.cpp b/lld/ELF/SyntheticSections.cpp index 650bd6cd390060..8708bfeef8fa9a 100644 --- a/lld/ELF/SyntheticSections.cpp +++ b/lld/ELF/SyntheticSections.cpp @@ -415,7 +415,7 @@ void EhFrameSection::addRecords(EhInputSection *sec, ArrayRef rels) { for (EhSectionPiece &cie : sec->cies) offsetToCie[cie.inputOff] = addCie(cie, rels); for (EhSectionPiece &fde : sec->fdes) { - uint32_t id = endian::read32(fde.data().data() + 4); + uint32_t id = endian::read32(fde.data().data() + 4); CieRecord *rec = offsetToCie[fde.inputOff + 4 - id]; if (!rec) fatal(toString(sec) + ": invalid CIE reference"); @@ -448,7 +448,7 @@ void EhFrameSection::iterateFDEWithLSDAAux( if (hasLSDA(cie)) ciesWithLSDA.insert(cie.inputOff); for (EhSectionPiece &fde : sec.fdes) { - uint32_t id = endian::read32(fde.data().data() + 4); + uint32_t id = endian::read32(fde.data().data() + 4); if (!ciesWithLSDA.contains(fde.inputOff + 4 - id)) continue; diff --git a/llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h b/llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h index f7c286bec778b0..ed30a792e9e9ce 100644 --- a/llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h +++ b/llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h @@ -352,7 +352,7 @@ class DLLImportDefinitionGenerator : public DefinitionGenerator { : ES(ES), L(L) {} static Expected getTargetPointerSize(const Triple &TT); - static Expected getTargetEndianness(const Triple &TT); + static Expected getEndianness(const Triple &TT); Expected> createStubsGraph(const SymbolMap &Resolved); diff --git a/llvm/include/llvm/Object/ELFObjectFile.h b/llvm/include/llvm/Object/ELFObjectFile.h index f57a7ab8882ad2..1d457be93741f2 100644 --- a/llvm/include/llvm/Object/ELFObjectFile.h +++ b/llvm/include/llvm/Object/ELFObjectFile.h @@ -419,7 +419,7 @@ template class ELFObjectFile : public ELFObjectFileBase { if (Contents[0] != ELFAttrs::Format_Version || Contents.size() == 1) return Error::success(); - if (Error E = Attributes.parse(Contents, ELFT::TargetEndianness)) + if (Error E = Attributes.parse(Contents, ELFT::Endianness)) return E; break; } @@ -482,7 +482,7 @@ template class ELFObjectFile : public ELFObjectFileBase { bool isDyldType() const { return isDyldELFObject; } static bool classof(const Binary *v) { return v->getType() == - getELFType(ELFT::TargetEndianness == llvm::endianness::little, + getELFType(ELFT::Endianness == llvm::endianness::little, ELFT::Is64Bits); } @@ -1155,10 +1155,9 @@ ELFObjectFile::ELFObjectFile(MemoryBufferRef Object, ELFFile EF, const Elf_Shdr *DotDynSymSec, const Elf_Shdr *DotSymtabSec, const Elf_Shdr *DotSymtabShndx) - : ELFObjectFileBase( - getELFType(ELFT::TargetEndianness == llvm::endianness::little, - ELFT::Is64Bits), - Object), + : ELFObjectFileBase(getELFType(ELFT::Endianness == llvm::endianness::little, + ELFT::Is64Bits), + Object), EF(EF), DotDynSymSec(DotDynSymSec), DotSymtabSec(DotSymtabSec), DotSymtabShndxSec(DotSymtabShndx) {} @@ -1226,8 +1225,7 @@ uint8_t ELFObjectFile::getBytesInAddress() const { template StringRef ELFObjectFile::getFileFormatName() const { - constexpr bool IsLittleEndian = - ELFT::TargetEndianness == llvm::endianness::little; + constexpr bool IsLittleEndian = ELFT::Endianness == llvm::endianness::little; switch (EF.getHeader().e_ident[ELF::EI_CLASS]) { case ELF::ELFCLASS32: switch (EF.getHeader().e_machine) { @@ -1305,7 +1303,7 @@ StringRef ELFObjectFile::getFileFormatName() const { } template Triple::ArchType ELFObjectFile::getArch() const { - bool IsLittleEndian = ELFT::TargetEndianness == llvm::endianness::little; + bool IsLittleEndian = ELFT::Endianness == llvm::endianness::little; switch (EF.getHeader().e_machine) { case ELF::EM_68K: return Triple::m68k; diff --git a/llvm/include/llvm/Object/ELFTypes.h b/llvm/include/llvm/Object/ELFTypes.h index 4986ecf8323d02..4617b70a2f120a 100644 --- a/llvm/include/llvm/Object/ELFTypes.h +++ b/llvm/include/llvm/Object/ELFTypes.h @@ -52,6 +52,7 @@ template struct ELFType { public: static const endianness TargetEndianness = E; + static const endianness Endianness = E; static const bool Is64Bits = Is64; using uint = std::conditional_t; @@ -145,9 +146,9 @@ using ELF64BE = ELFType; // Section header. template struct Elf_Shdr_Base; -template -struct Elf_Shdr_Base> { - LLVM_ELF_IMPORT_TYPES(TargetEndianness, false) +template +struct Elf_Shdr_Base> { + LLVM_ELF_IMPORT_TYPES(Endianness, false) Elf_Word sh_name; // Section name (index into string table) Elf_Word sh_type; // Section type (SHT_*) Elf_Word sh_flags; // Section flags (SHF_*) @@ -160,9 +161,9 @@ struct Elf_Shdr_Base> { Elf_Word sh_entsize; // Size of records contained within the section }; -template -struct Elf_Shdr_Base> { - LLVM_ELF_IMPORT_TYPES(TargetEndianness, true) +template +struct Elf_Shdr_Base> { + LLVM_ELF_IMPORT_TYPES(Endianness, true) Elf_Word sh_name; // Section name (index into string table) Elf_Word sh_type; // Section type (SHT_*) Elf_Xword sh_flags; // Section flags (SHF_*) @@ -190,9 +191,9 @@ struct Elf_Shdr_Impl : Elf_Shdr_Base { template struct Elf_Sym_Base; -template -struct Elf_Sym_Base> { - LLVM_ELF_IMPORT_TYPES(TargetEndianness, false) +template +struct Elf_Sym_Base> { + LLVM_ELF_IMPORT_TYPES(Endianness, false) Elf_Word st_name; // Symbol name (index into string table) Elf_Addr st_value; // Value or address associated with the symbol Elf_Word st_size; // Size of the symbol @@ -201,9 +202,9 @@ struct Elf_Sym_Base> { Elf_Half st_shndx; // Which section (header table index) it's defined in }; -template -struct Elf_Sym_Base> { - LLVM_ELF_IMPORT_TYPES(TargetEndianness, true) +template +struct Elf_Sym_Base> { + LLVM_ELF_IMPORT_TYPES(Endianness, true) Elf_Word st_name; // Symbol name (index into string table) unsigned char st_info; // Symbol's type and binding attributes unsigned char st_other; // Must be zero; reserved @@ -349,9 +350,9 @@ struct Elf_Vernaux_Impl { /// table section (.dynamic) look like. template struct Elf_Dyn_Base; -template -struct Elf_Dyn_Base> { - LLVM_ELF_IMPORT_TYPES(TargetEndianness, false) +template +struct Elf_Dyn_Base> { + LLVM_ELF_IMPORT_TYPES(Endianness, false) Elf_Sword d_tag; union { Elf_Word d_val; @@ -359,9 +360,9 @@ struct Elf_Dyn_Base> { } d_un; }; -template -struct Elf_Dyn_Base> { - LLVM_ELF_IMPORT_TYPES(TargetEndianness, true) +template +struct Elf_Dyn_Base> { + LLVM_ELF_IMPORT_TYPES(Endianness, true) Elf_Sxword d_tag; union { Elf_Xword d_val; @@ -381,9 +382,9 @@ struct Elf_Dyn_Impl : Elf_Dyn_Base { uintX_t getPtr() const { return d_un.d_ptr; } }; -template -struct Elf_Rel_Impl, false> { - LLVM_ELF_IMPORT_TYPES(TargetEndianness, false) +template +struct Elf_Rel_Impl, false> { + LLVM_ELF_IMPORT_TYPES(Endianness, false) static const bool IsRela = false; Elf_Addr r_offset; // Location (file byte offset, or program virtual addr) Elf_Word r_info; // Symbol table index and type of relocation to apply @@ -416,17 +417,17 @@ struct Elf_Rel_Impl, false> { } }; -template -struct Elf_Rel_Impl, true> - : public Elf_Rel_Impl, false> { - LLVM_ELF_IMPORT_TYPES(TargetEndianness, false) +template +struct Elf_Rel_Impl, true> + : public Elf_Rel_Impl, false> { + LLVM_ELF_IMPORT_TYPES(Endianness, false) static const bool IsRela = true; Elf_Sword r_addend; // Compute value for relocatable field by adding this }; -template -struct Elf_Rel_Impl, false> { - LLVM_ELF_IMPORT_TYPES(TargetEndianness, true) +template +struct Elf_Rel_Impl, false> { + LLVM_ELF_IMPORT_TYPES(Endianness, true) static const bool IsRela = false; Elf_Addr r_offset; // Location (file byte offset, or program virtual addr) Elf_Xword r_info; // Symbol table index and type of relocation to apply @@ -469,10 +470,10 @@ struct Elf_Rel_Impl, false> { } }; -template -struct Elf_Rel_Impl, true> - : public Elf_Rel_Impl, false> { - LLVM_ELF_IMPORT_TYPES(TargetEndianness, true) +template +struct Elf_Rel_Impl, true> + : public Elf_Rel_Impl, false> { + LLVM_ELF_IMPORT_TYPES(Endianness, true) static const bool IsRela = true; Elf_Sxword r_addend; // Compute value for relocatable field by adding this. }; @@ -504,9 +505,9 @@ struct Elf_Ehdr_Impl { unsigned char getDataEncoding() const { return e_ident[ELF::EI_DATA]; } }; -template -struct Elf_Phdr_Impl> { - LLVM_ELF_IMPORT_TYPES(TargetEndianness, false) +template +struct Elf_Phdr_Impl> { + LLVM_ELF_IMPORT_TYPES(Endianness, false) Elf_Word p_type; // Type of segment Elf_Off p_offset; // FileOffset where segment is located, in bytes Elf_Addr p_vaddr; // Virtual Address of beginning of segment @@ -517,9 +518,9 @@ struct Elf_Phdr_Impl> { Elf_Word p_align; // Segment alignment constraint }; -template -struct Elf_Phdr_Impl> { - LLVM_ELF_IMPORT_TYPES(TargetEndianness, true) +template +struct Elf_Phdr_Impl> { + LLVM_ELF_IMPORT_TYPES(Endianness, true) Elf_Word p_type; // Type of segment Elf_Word p_flags; // Segment flags Elf_Off p_offset; // FileOffset where segment is located, in bytes @@ -574,17 +575,17 @@ struct Elf_GnuHash_Impl { // Compressed section headers. // http://www.sco.com/developers/gabi/latest/ch4.sheader.html#compression_header -template -struct Elf_Chdr_Impl> { - LLVM_ELF_IMPORT_TYPES(TargetEndianness, false) +template +struct Elf_Chdr_Impl> { + LLVM_ELF_IMPORT_TYPES(Endianness, false) Elf_Word ch_type; Elf_Word ch_size; Elf_Word ch_addralign; }; -template -struct Elf_Chdr_Impl> { - LLVM_ELF_IMPORT_TYPES(TargetEndianness, true) +template +struct Elf_Chdr_Impl> { + LLVM_ELF_IMPORT_TYPES(Endianness, true) Elf_Word ch_type; Elf_Word ch_reserved; Elf_Xword ch_size; @@ -742,17 +743,17 @@ template struct Elf_CGProfile_Impl { template struct Elf_Mips_RegInfo; -template -struct Elf_Mips_RegInfo> { - LLVM_ELF_IMPORT_TYPES(TargetEndianness, false) +template +struct Elf_Mips_RegInfo> { + LLVM_ELF_IMPORT_TYPES(Endianness, false) Elf_Word ri_gprmask; // bit-mask of used general registers Elf_Word ri_cprmask[4]; // bit-mask of used co-processor registers Elf_Addr ri_gp_value; // gp register value }; -template -struct Elf_Mips_RegInfo> { - LLVM_ELF_IMPORT_TYPES(TargetEndianness, true) +template +struct Elf_Mips_RegInfo> { + LLVM_ELF_IMPORT_TYPES(Endianness, true) Elf_Word ri_gprmask; // bit-mask of used general registers Elf_Word ri_pad; // unused padding field Elf_Word ri_cprmask[4]; // bit-mask of used co-processor registers diff --git a/llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h b/llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h index e1b11dfcfc211a..5dae6006293957 100644 --- a/llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h +++ b/llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h @@ -193,7 +193,7 @@ ELFLinkGraphBuilder::ELFLinkGraphBuilder( StringRef FileName, LinkGraph::GetEdgeKindNameFunction GetEdgeKindName) : ELFLinkGraphBuilderBase(std::make_unique( FileName.str(), Triple(std::move(TT)), std::move(Features), - ELFT::Is64Bits ? 8 : 4, llvm::endianness(ELFT::TargetEndianness), + ELFT::Is64Bits ? 8 : 4, llvm::endianness(ELFT::Endianness), std::move(GetEdgeKindName))), Obj(Obj) { LLVM_DEBUG( diff --git a/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp b/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp index 3952445bb1aa4b..670c8cf996fd61 100644 --- a/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp +++ b/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp @@ -545,7 +545,7 @@ DLLImportDefinitionGenerator::getTargetPointerSize(const Triple &TT) { } Expected -DLLImportDefinitionGenerator::getTargetEndianness(const Triple &TT) { +DLLImportDefinitionGenerator::getEndianness(const Triple &TT) { switch (TT.getArch()) { case Triple::x86_64: return llvm::endianness::little; @@ -562,7 +562,7 @@ DLLImportDefinitionGenerator::createStubsGraph(const SymbolMap &Resolved) { auto PointerSize = getTargetPointerSize(TT); if (!PointerSize) return PointerSize.takeError(); - auto Endianness = getTargetEndianness(TT); + auto Endianness = getEndianness(TT); if (!Endianness) return Endianness.takeError(); diff --git a/llvm/lib/InterfaceStub/ELFObjHandler.cpp b/llvm/lib/InterfaceStub/ELFObjHandler.cpp index c1256563d0d627..9c81a8832c0f2a 100644 --- a/llvm/lib/InterfaceStub/ELFObjHandler.cpp +++ b/llvm/lib/InterfaceStub/ELFObjHandler.cpp @@ -57,7 +57,7 @@ static void initELFHeader(typename ELFT::Ehdr &ElfHeader, uint16_t Machine) { ElfHeader.e_ident[EI_MAG2] = ElfMagic[EI_MAG2]; ElfHeader.e_ident[EI_MAG3] = ElfMagic[EI_MAG3]; ElfHeader.e_ident[EI_CLASS] = ELFT::Is64Bits ? ELFCLASS64 : ELFCLASS32; - bool IsLittleEndian = ELFT::TargetEndianness == llvm::endianness::little; + bool IsLittleEndian = ELFT::Endianness == llvm::endianness::little; ElfHeader.e_ident[EI_DATA] = IsLittleEndian ? ELFDATA2LSB : ELFDATA2MSB; ElfHeader.e_ident[EI_VERSION] = EV_CURRENT; ElfHeader.e_ident[EI_OSABI] = ELFOSABI_NONE; diff --git a/llvm/lib/ObjCopy/ELF/ELFObject.cpp b/llvm/lib/ObjCopy/ELF/ELFObject.cpp index 9547cc10d2a0ba..8b6a0035dae356 100644 --- a/llvm/lib/ObjCopy/ELF/ELFObject.cpp +++ b/llvm/lib/ObjCopy/ELF/ELFObject.cpp @@ -33,6 +33,7 @@ using namespace llvm; using namespace llvm::ELF; using namespace llvm::objcopy::elf; using namespace llvm::object; +using namespace llvm::support; template void ELFWriter::writePhdr(const Segment &Seg) { uint8_t *B = reinterpret_cast(Buf->getBufferStart()) + @@ -1175,9 +1176,9 @@ template Error ELFSectionWriter::visit(const GroupSection &Sec) { ELF::Elf32_Word *Buf = reinterpret_cast(Out.getBufferStart() + Sec.Offset); - support::endian::write32(Buf++, Sec.FlagWord); + endian::write32(Buf++, Sec.FlagWord); for (SectionBase *S : Sec.GroupMembers) - support::endian::write32(Buf++, S->Index); + endian::write32(Buf++, S->Index); return Error::success(); } @@ -1522,10 +1523,9 @@ Error ELFBuilder::initGroupSection(GroupSection *GroupSec) { reinterpret_cast(GroupSec->Contents.data()); const ELF::Elf32_Word *End = Word + GroupSec->Contents.size() / sizeof(ELF::Elf32_Word); - GroupSec->setFlagWord( - support::endian::read32(Word++)); + GroupSec->setFlagWord(endian::read32(Word++)); for (; Word != End; ++Word) { - uint32_t Index = support::endian::read32(Word); + uint32_t Index = support::endian::read32(Word); Expected Sec = SecTable.getSection( Index, "group member index " + Twine(Index) + " in section '" + GroupSec->Name + "' is invalid"); @@ -1993,9 +1993,8 @@ template void ELFWriter::writeEhdr() { Ehdr.e_ident[EI_MAG2] = 'L'; Ehdr.e_ident[EI_MAG3] = 'F'; Ehdr.e_ident[EI_CLASS] = ELFT::Is64Bits ? ELFCLASS64 : ELFCLASS32; - Ehdr.e_ident[EI_DATA] = ELFT::TargetEndianness == llvm::endianness::big - ? ELFDATA2MSB - : ELFDATA2LSB; + Ehdr.e_ident[EI_DATA] = + ELFT::Endianness == llvm::endianness::big ? ELFDATA2MSB : ELFDATA2LSB; Ehdr.e_ident[EI_VERSION] = EV_CURRENT; Ehdr.e_ident[EI_OSABI] = Obj.OSABI; Ehdr.e_ident[EI_ABIVERSION] = Obj.ABIVersion; diff --git a/llvm/lib/ObjectYAML/ELFEmitter.cpp b/llvm/lib/ObjectYAML/ELFEmitter.cpp index 58a725f8d87788..b7118a543faed3 100644 --- a/llvm/lib/ObjectYAML/ELFEmitter.cpp +++ b/llvm/lib/ObjectYAML/ELFEmitter.cpp @@ -1314,7 +1314,7 @@ void ELFState::writeSectionContent(Elf_Shdr &SHeader, if (!ELFT::Is64Bits && E > UINT32_MAX) reportError(Section.Name + ": the value is too large for 32-bits: 0x" + Twine::utohexstr(E)); - CBA.write(E, ELFT::TargetEndianness); + CBA.write(E, ELFT::Endianness); } SHeader.sh_size = sizeof(uintX_t) * Section.Entries->size(); @@ -1333,7 +1333,7 @@ void ELFState::writeSectionContent( return; for (uint32_t E : *Shndx.Entries) - CBA.write(E, ELFT::TargetEndianness); + CBA.write(E, ELFT::Endianness); SHeader.sh_size = Shndx.Entries->size() * SHeader.sh_entsize; } @@ -1357,7 +1357,7 @@ void ELFState::writeSectionContent(Elf_Shdr &SHeader, SectionIndex = llvm::ELF::GRP_COMDAT; else SectionIndex = toSectionIndex(Member.sectionNameOrType, Section.Name); - CBA.write(SectionIndex, ELFT::TargetEndianness); + CBA.write(SectionIndex, ELFT::Endianness); } SHeader.sh_size = SHeader.sh_entsize * Section.Members->size(); } @@ -1370,7 +1370,7 @@ void ELFState::writeSectionContent(Elf_Shdr &SHeader, return; for (uint16_t Version : *Section.Entries) - CBA.write(Version, ELFT::TargetEndianness); + CBA.write(Version, ELFT::Endianness); SHeader.sh_size = Section.Entries->size() * SHeader.sh_entsize; } @@ -1382,7 +1382,7 @@ void ELFState::writeSectionContent( return; for (const ELFYAML::StackSizeEntry &E : *Section.Entries) { - CBA.write(E.Address, ELFT::TargetEndianness); + CBA.write(E.Address, ELFT::Endianness); SHeader.sh_size += sizeof(uintX_t) + CBA.writeULEB128(E.Size); } } @@ -1444,7 +1444,7 @@ void ELFState::writeSectionContent( uint64_t TotalNumBlocks = 0; for (const ELFYAML::BBAddrMapEntry::BBRangeEntry &BBR : *E.BBRanges) { // Write the base address of the range. - CBA.write(BBR.BaseAddress, ELFT::TargetEndianness); + CBA.write(BBR.BaseAddress, ELFT::Endianness); // Write number of BBEntries (number of basic blocks in this basic block // range). This is overridden by the 'NumBlocks' YAML field when // specified. @@ -1558,7 +1558,7 @@ void ELFState::writeSectionContent( return; for (const ELFYAML::CallGraphEntryWeight &E : *Section.Entries) { - CBA.write(E.Weight, ELFT::TargetEndianness); + CBA.write(E.Weight, ELFT::Endianness); SHeader.sh_size += sizeof(object::Elf_CGProfile_Impl); } } @@ -1572,15 +1572,15 @@ void ELFState::writeSectionContent(Elf_Shdr &SHeader, CBA.write( Section.NBucket.value_or(llvm::yaml::Hex64(Section.Bucket->size())), - ELFT::TargetEndianness); + ELFT::Endianness); CBA.write( Section.NChain.value_or(llvm::yaml::Hex64(Section.Chain->size())), - ELFT::TargetEndianness); + ELFT::Endianness); for (uint32_t Val : *Section.Bucket) - CBA.write(Val, ELFT::TargetEndianness); + CBA.write(Val, ELFT::Endianness); for (uint32_t Val : *Section.Chain) - CBA.write(Val, ELFT::TargetEndianness); + CBA.write(Val, ELFT::Endianness); SHeader.sh_size = (2 + Section.Bucket->size() + Section.Chain->size()) * 4; } @@ -1687,8 +1687,8 @@ void ELFState::writeSectionContent( return; for (const ELFYAML::ARMIndexTableEntry &E : *Section.Entries) { - CBA.write(E.Offset, ELFT::TargetEndianness); - CBA.write(E.Value, ELFT::TargetEndianness); + CBA.write(E.Offset, ELFT::Endianness); + CBA.write(E.Value, ELFT::Endianness); } SHeader.sh_size = Section.Entries->size() * 8; } @@ -1729,8 +1729,8 @@ void ELFState::writeSectionContent(Elf_Shdr &SHeader, return; for (const ELFYAML::DynamicEntry &DE : *Section.Entries) { - CBA.write(DE.Tag, ELFT::TargetEndianness); - CBA.write(DE.Val, ELFT::TargetEndianness); + CBA.write(DE.Tag, ELFT::Endianness); + CBA.write(DE.Val, ELFT::Endianness); } SHeader.sh_size = 2 * sizeof(uintX_t) * Section.Entries->size(); } @@ -1758,18 +1758,18 @@ void ELFState::writeSectionContent(Elf_Shdr &SHeader, for (const ELFYAML::NoteEntry &NE : *Section.Notes) { // Write name size. if (NE.Name.empty()) - CBA.write(0, ELFT::TargetEndianness); + CBA.write(0, ELFT::Endianness); else - CBA.write(NE.Name.size() + 1, ELFT::TargetEndianness); + CBA.write(NE.Name.size() + 1, ELFT::Endianness); // Write description size. if (NE.Desc.binary_size() == 0) - CBA.write(0, ELFT::TargetEndianness); + CBA.write(0, ELFT::Endianness); else - CBA.write(NE.Desc.binary_size(), ELFT::TargetEndianness); + CBA.write(NE.Desc.binary_size(), ELFT::Endianness); // Write type. - CBA.write(NE.Type, ELFT::TargetEndianness); + CBA.write(NE.Type, ELFT::Endianness); // Write name, null terminator and padding. if (!NE.Name.empty()) { @@ -1803,35 +1803,35 @@ void ELFState::writeSectionContent(Elf_Shdr &SHeader, // be used to override this field, which is useful for producing broken // objects. if (Section.Header->NBuckets) - CBA.write(*Section.Header->NBuckets, ELFT::TargetEndianness); + CBA.write(*Section.Header->NBuckets, ELFT::Endianness); else - CBA.write(Section.HashBuckets->size(), ELFT::TargetEndianness); + CBA.write(Section.HashBuckets->size(), ELFT::Endianness); // Write the index of the first symbol in the dynamic symbol table accessible // via the hash table. - CBA.write(Section.Header->SymNdx, ELFT::TargetEndianness); + CBA.write(Section.Header->SymNdx, ELFT::Endianness); // Write the number of words in the Bloom filter. As above, the "MaskWords" // property can be used to set this field to any value. if (Section.Header->MaskWords) - CBA.write(*Section.Header->MaskWords, ELFT::TargetEndianness); + CBA.write(*Section.Header->MaskWords, ELFT::Endianness); else - CBA.write(Section.BloomFilter->size(), ELFT::TargetEndianness); + CBA.write(Section.BloomFilter->size(), ELFT::Endianness); // Write the shift constant used by the Bloom filter. - CBA.write(Section.Header->Shift2, ELFT::TargetEndianness); + CBA.write(Section.Header->Shift2, ELFT::Endianness); // We've finished writing the header. Now write the Bloom filter. for (llvm::yaml::Hex64 Val : *Section.BloomFilter) - CBA.write(Val, ELFT::TargetEndianness); + CBA.write(Val, ELFT::Endianness); // Write an array of hash buckets. for (llvm::yaml::Hex32 Val : *Section.HashBuckets) - CBA.write(Val, ELFT::TargetEndianness); + CBA.write(Val, ELFT::Endianness); // Write an array of hash values. for (llvm::yaml::Hex32 Val : *Section.HashValues) - CBA.write(Val, ELFT::TargetEndianness); + CBA.write(Val, ELFT::Endianness); SHeader.sh_size = 16 /*Header size*/ + Section.BloomFilter->size() * sizeof(typename ELFT::uint) + diff --git a/llvm/tools/llvm-readobj/DwarfCFIEHPrinter.h b/llvm/tools/llvm-readobj/DwarfCFIEHPrinter.h index 2e89463e68d519..94a44e3afccb43 100644 --- a/llvm/tools/llvm-readobj/DwarfCFIEHPrinter.h +++ b/llvm/tools/llvm-readobj/DwarfCFIEHPrinter.h @@ -113,7 +113,7 @@ void PrinterContext::printEHFrameHdr(const Elf_Phdr *EHFramePHdr) const { if (!Content) reportError(Content.takeError(), ObjF.getFileName()); - DataExtractor DE(*Content, ELFT::TargetEndianness == llvm::endianness::little, + DataExtractor DE(*Content, ELFT::Endianness == llvm::endianness::little, ELFT::Is64Bits ? 8 : 4); DictScope D(W, "Header"); @@ -186,10 +186,9 @@ void PrinterContext::printEHFrame(const Elf_Shdr *EHFrameShdr) const { // Construct DWARFDataExtractor to handle relocations ("PC Begin" fields). std::unique_ptr DICtx = DWARFContext::create( ObjF, DWARFContext::ProcessDebugRelocations::Process, nullptr); - DWARFDataExtractor DE(DICtx->getDWARFObj(), - DICtx->getDWARFObj().getEHFrameSection(), - ELFT::TargetEndianness == llvm::endianness::little, - ELFT::Is64Bits ? 8 : 4); + DWARFDataExtractor DE( + DICtx->getDWARFObj(), DICtx->getDWARFObj().getEHFrameSection(), + ELFT::Endianness == llvm::endianness::little, ELFT::Is64Bits ? 8 : 4); DWARFDebugFrame EHFrame(Triple::ArchType(ObjF.getArch()), /*IsEH=*/true, /*EHFrameAddress=*/Address); if (Error E = EHFrame.parse(DE)) diff --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp index d1c05f437042de..4b406ef12aecfe 100644 --- a/llvm/tools/llvm-readobj/ELFDumper.cpp +++ b/llvm/tools/llvm-readobj/ELFDumper.cpp @@ -74,6 +74,7 @@ using namespace llvm; using namespace llvm::object; +using namespace llvm::support; using namespace ELF; #define LLVM_READOBJ_ENUM_CASE(ns, enum) \ @@ -3419,13 +3420,13 @@ template void ELFDumper::printStackMap() const { return; } - if (Error E = StackMapParser::validateHeader( - *ContentOrErr)) { + if (Error E = + StackMapParser::validateHeader(*ContentOrErr)) { Warn(std::move(E)); return; } - prettyPrintStackMap(W, StackMapParser(*ContentOrErr)); + prettyPrintStackMap(W, StackMapParser(*ContentOrErr)); } template @@ -5145,7 +5146,7 @@ static std::string getGNUProperty(uint32_t Type, uint32_t DataSize, OS << format("", DataSize); return OS.str(); } - PrData = support::endian::read32(Data.data()); + PrData = endian::read32(Data.data()); if (PrData == 0) { OS << ""; return OS.str(); @@ -5169,7 +5170,7 @@ static std::string getGNUProperty(uint32_t Type, uint32_t DataSize, OS << format("", DataSize); return OS.str(); } - PrData = support::endian::read32(Data.data()); + PrData = endian::read32(Data.data()); if (PrData == 0) { OS << ""; return OS.str(); @@ -5195,7 +5196,7 @@ static std::string getGNUProperty(uint32_t Type, uint32_t DataSize, OS << format("", DataSize); return OS.str(); } - PrData = support::endian::read32(Data.data()); + PrData = endian::read32(Data.data()); if (PrData == 0) { OS << ""; return OS.str(); @@ -5374,10 +5375,8 @@ static bool printAArch64Note(raw_ostream &OS, uint32_t NoteType, return false; } - uint64_t Platform = - support::endian::read64(Desc.data() + 0); - uint64_t Version = - support::endian::read64(Desc.data() + 8); + uint64_t Platform = endian::read64(Desc.data() + 0); + uint64_t Version = endian::read64(Desc.data() + 8); OS << format("platform 0x%" PRIx64 ", version 0x%" PRIx64, Platform, Version); if (Desc.size() > 16) @@ -5457,16 +5456,14 @@ getFreeBSDNote(uint32_t NoteType, ArrayRef Desc, bool IsCore) { case ELF::NT_FREEBSD_ABI_TAG: if (Desc.size() != 4) return std::nullopt; - return FreeBSDNote{ - "ABI tag", - utostr(support::endian::read32(Desc.data()))}; + return FreeBSDNote{"ABI tag", + utostr(endian::read32(Desc.data()))}; case ELF::NT_FREEBSD_ARCH_TAG: return FreeBSDNote{"Arch tag", toStringRef(Desc).str()}; case ELF::NT_FREEBSD_FEATURE_CTL: { if (Desc.size() != 4) return std::nullopt; - unsigned Value = - support::endian::read32(Desc.data()); + unsigned Value = endian::read32(Desc.data()); std::string FlagsStr; raw_string_ostream OS(FlagsStr); printFlags(Value, ArrayRef(FreeBSDFeatureCtlFlags), OS); @@ -6053,7 +6050,7 @@ template void GNUELFDumper::printNotes() { } else if (Name == "CORE") { if (Type == ELF::NT_FILE) { DataExtractor DescExtractor( - Descriptor, ELFT::TargetEndianness == llvm::endianness::little, + Descriptor, ELFT::Endianness == llvm::endianness::little, sizeof(Elf_Addr)); if (Expected NoteOrErr = readCoreNote(DescExtractor)) { printCoreNote(OS, *NoteOrErr); @@ -7714,10 +7711,8 @@ static bool printAarch64NoteLLVMStyle(uint32_t NoteType, ArrayRef Desc, if (Desc.size() < 16) return false; - uint64_t platform = - support::endian::read64(Desc.data() + 0); - uint64_t version = - support::endian::read64(Desc.data() + 8); + uint64_t platform = endian::read64(Desc.data() + 0); + uint64_t version = endian::read64(Desc.data() + 8); W.printNumber("Platform", platform); W.printNumber("Version", version); @@ -7852,7 +7847,7 @@ template void LLVMELFDumper::printNotes() { } else if (Name == "CORE") { if (Type == ELF::NT_FILE) { DataExtractor DescExtractor( - Descriptor, ELFT::TargetEndianness == llvm::endianness::little, + Descriptor, ELFT::Endianness == llvm::endianness::little, sizeof(Elf_Addr)); if (Expected N = readCoreNote(DescExtractor)) { printCoreNoteLLVMStyle(*N, W);