[yaml2obj] Rename SHOffset (e_shoff) field to SHOff. NFC
authorFangrui Song <maskray@google.com>
Fri, 6 Sep 2019 09:23:17 +0000 (09:23 +0000)
committerFangrui Song <maskray@google.com>
Fri, 6 Sep 2019 09:23:17 +0000 (09:23 +0000)
`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

llvm/include/llvm/ObjectYAML/ELFYAML.h
llvm/lib/ObjectYAML/ELFEmitter.cpp
llvm/lib/ObjectYAML/ELFYAML.cpp
llvm/test/Object/invalid.test
llvm/test/tools/yaml2obj/elf-header-sh-fields.yaml
llvm/tools/obj2yaml/elf2yaml.cpp

index aaa247d..7854800 100644 (file)
@@ -75,7 +75,7 @@ struct FileHeader {
   llvm::yaml::Hex64 Entry;
 
   Optional<llvm::yaml::Hex16> SHEntSize;
-  Optional<llvm::yaml::Hex64> SHOffset;
+  Optional<llvm::yaml::Hex64> SHOff;
   Optional<llvm::yaml::Hex16> SHNum;
   Optional<llvm::yaml::Hex16> SHStrNdx;
 };
index e3dcd8c..423e9f5 100644 (file)
@@ -234,11 +234,10 @@ void ELFState<ELFT>::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
index 9214a0d..e7adb8f 100644 (file)
@@ -824,7 +824,7 @@ void MappingTraits<ELFYAML::FileHeader>::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);
 }
index 397c948..cbf770a 100644 (file)
@@ -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.
index b887c0a..6ae98b2 100644 (file)
@@ -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
index baa1b86..aa3891d 100644 (file)
@@ -139,7 +139,7 @@ ELFDumper<ELFT>::getUniquedSymbolName(const Elf_Sym *Sym, StringRef StrTable,
 template <class ELFT> Expected<ELFYAML::Object *> ELFDumper<ELFT>::dump() {
   auto Y = std::make_unique<ELFYAML::Object>();
 
-  // 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());