diff options
| author | Michael J. Spencer <bigcheesegs@gmail.com> | 2016-02-11 04:59:32 +0000 |
|---|---|---|
| committer | Michael J. Spencer <bigcheesegs@gmail.com> | 2016-02-11 04:59:32 +0000 |
| commit | 94f060cea87ec1737768133e34fe4f8e8af785d3 (patch) | |
| tree | 6158c05d74110d6f0790d261a0b0386cebbba1e8 | |
| parent | 37304f18a3bc9393a456472bf3bf9d843723776f (diff) | |
| download | bcm5719-llvm-94f060cea87ec1737768133e34fe4f8e8af785d3.tar.gz bcm5719-llvm-94f060cea87ec1737768133e34fe4f8e8af785d3.zip | |
[readobj] Sort switch by enum value.
Sort by enum value, but keep related entries adjacent. This makes it
easier to compare against documentation.
llvm-svn: 260486
| -rw-r--r-- | llvm/tools/llvm-readobj/ELFDumper.cpp | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp index e5be8aad47e..00df02643f7 100644 --- a/llvm/tools/llvm-readobj/ELFDumper.cpp +++ b/llvm/tools/llvm-readobj/ELFDumper.cpp @@ -998,6 +998,22 @@ ELFDumper<ELFT>::ELFDumper(const ELFFile<ELFT> *Obj, StreamWriter &Writer) for (const Elf_Shdr &Sec : Obj->sections()) { switch (Sec.sh_type) { + case ELF::SHT_SYMTAB: + if (DotSymtabSec != nullptr) + reportError("Multilpe SHT_SYMTAB"); + DotSymtabSec = &Sec; + break; + case ELF::SHT_DYNSYM: + if (DotDynSymSec != nullptr) + reportError("Multilpe SHT_DYNSYM"); + DotDynSymSec = &Sec; + break; + case ELF::SHT_SYMTAB_SHNDX: { + ErrorOr<ArrayRef<Elf_Word>> TableOrErr = Obj->getSHNDXTable(Sec); + error(TableOrErr.getError()); + ShndxTable = *TableOrErr; + break; + } case ELF::SHT_GNU_versym: if (dot_gnu_version_sec != nullptr) reportError("Multiple SHT_GNU_versym"); @@ -1013,22 +1029,6 @@ ELFDumper<ELFT>::ELFDumper(const ELFFile<ELFT> *Obj, StreamWriter &Writer) reportError("Multilpe SHT_GNU_verneed"); dot_gnu_version_r_sec = &Sec; break; - case ELF::SHT_DYNSYM: - if (DotDynSymSec != nullptr) - reportError("Multilpe SHT_DYNSYM"); - DotDynSymSec = &Sec; - break; - case ELF::SHT_SYMTAB: - if (DotSymtabSec != nullptr) - reportError("Multilpe SHT_SYMTAB"); - DotSymtabSec = &Sec; - break; - case ELF::SHT_SYMTAB_SHNDX: { - ErrorOr<ArrayRef<Elf_Word>> TableOrErr = Obj->getSHNDXTable(Sec); - error(TableOrErr.getError()); - ShndxTable = *TableOrErr; - break; - } } } @@ -1058,14 +1058,15 @@ ELFDumper<ELFT>::ELFDumper(const ELFFile<ELFT> *Obj, StreamWriter &Writer) GnuHashTable = reinterpret_cast<const Elf_GnuHash *>(toMappedAddr(Dyn.getPtr())); break; - case ELF::DT_REL: - DynRelRegion.Addr = toMappedAddr(Dyn.getPtr()); + case ELF::DT_STRTAB: + StringTableBegin = (const char *)toMappedAddr(Dyn.getPtr()); break; - case ELF::DT_RELSZ: - DynRelRegion.Size = Dyn.getVal(); + case ELF::DT_STRSZ: + StringTableSize = Dyn.getVal(); break; - case ELF::DT_RELENT: - DynRelRegion.EntSize = Dyn.getVal(); + case ELF::DT_SYMTAB: + DynSymStart = + reinterpret_cast<const Elf_Sym *>(toMappedAddr(Dyn.getPtr())); break; case ELF::DT_RELA: DynRelaRegion.Addr = toMappedAddr(Dyn.getPtr()); @@ -1079,15 +1080,14 @@ ELFDumper<ELFT>::ELFDumper(const ELFFile<ELFT> *Obj, StreamWriter &Writer) case ELF::DT_SONAME: SONameOffset = Dyn.getVal(); break; - case ELF::DT_STRTAB: - StringTableBegin = (const char *)toMappedAddr(Dyn.getPtr()); + case ELF::DT_REL: + DynRelRegion.Addr = toMappedAddr(Dyn.getPtr()); break; - case ELF::DT_STRSZ: - StringTableSize = Dyn.getVal(); + case ELF::DT_RELSZ: + DynRelRegion.Size = Dyn.getVal(); break; - case ELF::DT_SYMTAB: - DynSymStart = - reinterpret_cast<const Elf_Sym *>(toMappedAddr(Dyn.getPtr())); + case ELF::DT_RELENT: + DynRelRegion.EntSize = Dyn.getVal(); break; } } |

