diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-03-06 20:13:41 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-03-06 20:13:41 +0000 |
commit | abb1fadc79c3a34d3b41d949f0e20729c153d2fb (patch) | |
tree | d027bc13252996082434523b258980f3ef3e6488 /tools/llvm-readobj | |
parent | 7ed86b085eedf04fcc13e691ffa97bdbabd285f7 (diff) | |
download | llvm-abb1fadc79c3a34d3b41d949f0e20729c153d2fb.tar.gz llvm-abb1fadc79c3a34d3b41d949f0e20729c153d2fb.tar.bz2 llvm-abb1fadc79c3a34d3b41d949f0e20729c153d2fb.tar.xz |
Fix the printing of n_type.
Despite the name, n_type contains the type of the symbol, but also if it is
extern or private extern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203154 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-readobj')
-rw-r--r-- | tools/llvm-readobj/MachODumper.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/tools/llvm-readobj/MachODumper.cpp b/tools/llvm-readobj/MachODumper.cpp index 6077334de2..25dbd3e15b 100644 --- a/tools/llvm-readobj/MachODumper.cpp +++ b/tools/llvm-readobj/MachODumper.cpp @@ -125,12 +125,10 @@ static const EnumEntry<unsigned> MachOSymbolFlags[] = { static const EnumEntry<unsigned> MachOSymbolTypes[] = { { "Undef", 0x0 }, - { "External", 0x1 }, { "Abs", 0x2 }, { "Indirect", 0xA }, { "PreboundUndef", 0xC }, - { "Section", 0xE }, - { "PrivateExternal", 0x10 } + { "Section", 0xE } }; namespace { @@ -395,7 +393,12 @@ void MachODumper::printSymbol(symbol_iterator SymI) { if (Symbol.Type & MachO::N_STAB) { W.printHex ("Type", "SymDebugTable", Symbol.Type); } else { - W.printEnum("Type", Symbol.Type, makeArrayRef(MachOSymbolTypes)); + if (Symbol.Type & MachO::N_PEXT) + W.startLine() << "PrivateExtern\n"; + if (Symbol.Type & MachO::N_EXT) + W.startLine() << "Extern\n"; + W.printEnum("Type", Symbol.Type & MachO::N_TYPE, + makeArrayRef(MachOSymbolTypes)); } W.printHex ("Section", SectionName, Symbol.SectionIndex); W.printEnum ("RefType", static_cast<uint16_t>(Symbol.Flags & 0xF), |