diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2012-12-31 16:05:21 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2012-12-31 16:05:21 +0000 |
commit | 144af2cb4d7d4ae0b2784befc60b94f9de3989fb (patch) | |
tree | 250ce24942e8a60a7af1c0e9bff5435c31469b9a /llvm/tools/llvm-readobj | |
parent | 63d52b1e1c651a186cab35b38e0ced2acb7c71dd (diff) | |
download | bcm5719-llvm-144af2cb4d7d4ae0b2784befc60b94f9de3989fb.tar.gz bcm5719-llvm-144af2cb4d7d4ae0b2784befc60b94f9de3989fb.zip |
Print a header above the symbols. Extracted from a patch by Sami Liedes.
llvm-svn: 171302
Diffstat (limited to 'llvm/tools/llvm-readobj')
-rw-r--r-- | llvm/tools/llvm-readobj/llvm-readobj.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp index 8f8804a7c45..81d2bfb730b 100644 --- a/llvm/tools/llvm-readobj/llvm-readobj.cpp +++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp @@ -33,6 +33,16 @@ using namespace llvm::object; static cl::opt<std::string> InputFilename(cl::Positional, cl::desc("<input object>"), cl::init("")); +static void dumpSymbolHeader() { + outs() << format(" %-32s", (const char*)"Name") + << format(" %-4s", (const char*)"Type") + << format(" %-16s", (const char*)"Address") + << format(" %-16s", (const char*)"Size") + << format(" %-16s", (const char*)"FileOffset") + << format(" %-26s", (const char*)"Flags") + << "\n"; +} + static const char *getTypeStr(SymbolRef::Type Type) { switch (Type) { case SymbolRef::ST_Unknown: return "?"; @@ -118,6 +128,7 @@ static void dumpSymbols(const ObjectFile *obj) { error_code ec; uint32_t count = 0; outs() << "Symbols:\n"; + dumpSymbolHeader(); symbol_iterator it = obj->begin_symbols(); symbol_iterator ie = obj->end_symbols(); while (it != ie) { @@ -135,6 +146,7 @@ static void dumpDynamicSymbols(const ObjectFile *obj) { error_code ec; uint32_t count = 0; outs() << "Dynamic Symbols:\n"; + dumpSymbolHeader(); symbol_iterator it = obj->begin_dynamic_symbols(); symbol_iterator ie = obj->end_dynamic_symbols(); while (it != ie) { |