From: Fangrui Song Date: Fri, 6 Sep 2019 09:23:17 +0000 (+0000) Subject: [yaml2obj] Rename SHOffset (e_shoff) field to SHOff. NFC X-Git-Tag: llvmorg-11-init~9857 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d20c41dd3185498a71746f7242092c697f356ae4;p=platform%2Fupstream%2Fllvm.git [yaml2obj] Rename SHOffset (e_shoff) field to SHOff. NFC `struct Elf*_Shdr` has a field `sh_offset`, named `ShOffset` in llvm::ELFYAML::Section. Rename SHOffset (e_shoff) to SHOff to prevent confusion. Reviewed By: grimar Differential Revision: https://reviews.llvm.org/D67254 llvm-svn: 371185 --- diff --git a/llvm/include/llvm/ObjectYAML/ELFYAML.h b/llvm/include/llvm/ObjectYAML/ELFYAML.h index aaa247d..7854800 100644 --- a/llvm/include/llvm/ObjectYAML/ELFYAML.h +++ b/llvm/include/llvm/ObjectYAML/ELFYAML.h @@ -75,7 +75,7 @@ struct FileHeader { llvm::yaml::Hex64 Entry; Optional SHEntSize; - Optional SHOffset; + Optional SHOff; Optional SHNum; Optional SHStrNdx; }; diff --git a/llvm/lib/ObjectYAML/ELFEmitter.cpp b/llvm/lib/ObjectYAML/ELFEmitter.cpp index e3dcd8c..423e9f5 100644 --- a/llvm/lib/ObjectYAML/ELFEmitter.cpp +++ b/llvm/lib/ObjectYAML/ELFEmitter.cpp @@ -234,11 +234,10 @@ void ELFState::writeELFHeader(ContiguousBlobAccumulator &CBA, raw_ostream Doc.Header.SHEntSize ? (uint16_t)*Doc.Header.SHEntSize : sizeof(Elf_Shdr); // Immediately following the ELF header and program headers. // Align the start of the section header and write the ELF header. - uint64_t ShOffset; - CBA.getOSAndAlignedOffset(ShOffset, sizeof(typename ELFT::uint)); - Header.e_shoff = Doc.Header.SHOffset - ? typename ELFT::uint(*Doc.Header.SHOffset) - : ShOffset; + uint64_t SHOff; + CBA.getOSAndAlignedOffset(SHOff, sizeof(typename ELFT::uint)); + Header.e_shoff = + Doc.Header.SHOff ? typename ELFT::uint(*Doc.Header.SHOff) : SHOff; Header.e_shnum = Doc.Header.SHNum ? (uint16_t)*Doc.Header.SHNum : Doc.Sections.size(); Header.e_shstrndx = Doc.Header.SHStrNdx ? (uint16_t)*Doc.Header.SHStrNdx diff --git a/llvm/lib/ObjectYAML/ELFYAML.cpp b/llvm/lib/ObjectYAML/ELFYAML.cpp index 9214a0d..e7adb8f 100644 --- a/llvm/lib/ObjectYAML/ELFYAML.cpp +++ b/llvm/lib/ObjectYAML/ELFYAML.cpp @@ -824,7 +824,7 @@ void MappingTraits::mapping(IO &IO, IO.mapOptional("Entry", FileHdr.Entry, Hex64(0)); IO.mapOptional("SHEntSize", FileHdr.SHEntSize); - IO.mapOptional("SHOffset", FileHdr.SHOffset); + IO.mapOptional("SHOff", FileHdr.SHOff); IO.mapOptional("SHNum", FileHdr.SHNum); IO.mapOptional("SHStrNdx", FileHdr.SHStrNdx); } diff --git a/llvm/test/Object/invalid.test b/llvm/test/Object/invalid.test index 397c948..cbf770a 100644 --- a/llvm/test/Object/invalid.test +++ b/llvm/test/Object/invalid.test @@ -597,7 +597,7 @@ Sections: - Type: SHT_NULL Size: 288230376151711744 -## Check the case when SHOffset is too large. SHOffset + sizeof(Elf_Shdr) overflows the uint64 type. +## Check the case when SHOff is too large. SHOff + sizeof(Elf_Shdr) overflows the uint64 type. # RUN: yaml2obj --docnum=28 %s -o %t28 # RUN: not llvm-readobj -h %t28 2>&1 | FileCheck -DFILE=%t28 --check-prefix=INVALID-SEC-NUM3 %s @@ -610,7 +610,7 @@ FileHeader: Data: ELFDATA2LSB Type: ET_REL Machine: EM_X86_64 - SHOffset: 0xffffffffffffffff + SHOff: 0xffffffffffffffff ## Check that llvm-objdump reports an error when it tries to dump a ## symbol name and .strtab is empty. diff --git a/llvm/test/tools/yaml2obj/elf-header-sh-fields.yaml b/llvm/test/tools/yaml2obj/elf-header-sh-fields.yaml index b887c0a..6ae98b2 100644 --- a/llvm/test/tools/yaml2obj/elf-header-sh-fields.yaml +++ b/llvm/test/tools/yaml2obj/elf-header-sh-fields.yaml @@ -35,7 +35,7 @@ FileHeader: Type: ET_REL Machine: EM_X86_64 SHEntSize: 64 - SHOffset: 2 + SHOff: 2 SHNum: 3 SHStrNdx: 4 @@ -56,6 +56,6 @@ FileHeader: Type: ET_REL Machine: EM_X86_64 SHEntSize: 1 - SHOffset: 2 + SHOff: 2 SHNum: 3 SHStrNdx: 4 diff --git a/llvm/tools/obj2yaml/elf2yaml.cpp b/llvm/tools/obj2yaml/elf2yaml.cpp index baa1b86..aa3891d 100644 --- a/llvm/tools/obj2yaml/elf2yaml.cpp +++ b/llvm/tools/obj2yaml/elf2yaml.cpp @@ -139,7 +139,7 @@ ELFDumper::getUniquedSymbolName(const Elf_Sym *Sym, StringRef StrTable, template Expected ELFDumper::dump() { auto Y = std::make_unique(); - // Dump header. We do not dump SHEntSize, SHOffset, SHNum and SHStrNdx field. + // Dump header. We do not dump SHEntSize, SHOff, SHNum and SHStrNdx fields. // When not explicitly set, the values are set by yaml2obj automatically // and there is no need to dump them here. Y->Header.Class = ELFYAML::ELF_ELFCLASS(Obj.getHeader()->getFileClass());