diff options
author | Michael J. Spencer <bigcheesegs@gmail.com> | 2015-07-09 22:32:24 +0000 |
---|---|---|
committer | Michael J. Spencer <bigcheesegs@gmail.com> | 2015-07-09 22:32:24 +0000 |
commit | 20546ffd4aa654066d7af1eed475598c1f1ac7b9 (patch) | |
tree | 13edff52313be8b0ae0846d250a039e631d71b55 /llvm/tools/llvm-readobj/ELFDumper.cpp | |
parent | 28148ba82dfab4ae9a00124beab1aeb14708d08e (diff) | |
download | bcm5719-llvm-20546ffd4aa654066d7af1eed475598c1f1ac7b9.tar.gz bcm5719-llvm-20546ffd4aa654066d7af1eed475598c1f1ac7b9.zip |
[Object][ELF] Support dumping hash-tables from files with no section table.
This time without breaking the bots.
llvm-svn: 241869
Diffstat (limited to 'llvm/tools/llvm-readobj/ELFDumper.cpp')
-rw-r--r-- | llvm/tools/llvm-readobj/ELFDumper.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp index 967e8aa55c9..1cdf5529c08 100644 --- a/llvm/tools/llvm-readobj/ELFDumper.cpp +++ b/llvm/tools/llvm-readobj/ELFDumper.cpp @@ -56,6 +56,7 @@ public: void printDynamicTable() override; void printNeededLibraries() override; void printProgramHeaders() override; + void printHashTable() override; void printAttributes() override; void printMipsPLTGOT() override; @@ -1119,6 +1120,18 @@ void ELFDumper<ELFT>::printProgramHeaders() { } } +template <typename ELFT> +void ELFDumper<ELFT>::printHashTable() { + DictScope D(W, "HashTable"); + auto HT = Obj->getHashTable(); + if (!HT) + return; + W.printNumber("Num Buckets", HT->nbucket); + W.printNumber("Num Chains", HT->nchain); + W.printList("Buckets", HT->buckets()); + W.printList("Chains", HT->chains()); +} + template <class ELFT> void ELFDumper<ELFT>::printAttributes() { W.startLine() << "Attributes not implemented.\n"; |