diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2016-05-26 01:45:12 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2016-05-26 01:45:12 +0000 |
commit | fbf920f9b47bb5e823e08c4620b043482a746762 (patch) | |
tree | 8eff6bba4d6bfbd9a340be7affba4dd4a26aa22e /llvm/tools/llvm-objdump | |
parent | ffecb1441b6f81b88971d3ddfcde67c7fc2b4032 (diff) | |
download | bcm5719-llvm-fbf920f9b47bb5e823e08c4620b043482a746762.tar.gz bcm5719-llvm-fbf920f9b47bb5e823e08c4620b043482a746762.zip |
llvm-objdump: support dumping AUX records for weak externals
This is a support COFF feature. Ensure that we can display the weak externals
auxiliary symbol. It contains useful information (such as the default binding
and how to resolve the symbol).
This reapplies the previous patch with a modification which hopefully should fix
the endianness issues. The variadic call would promote the ulittle32_t to a
uint32_t which would lose the byte-swapping behaviour desired.
llvm-svn: 270813
Diffstat (limited to 'llvm/tools/llvm-objdump')
-rw-r--r-- | llvm/tools/llvm-objdump/COFFDump.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/tools/llvm-objdump/COFFDump.cpp b/llvm/tools/llvm-objdump/COFFDump.cpp index 6b98b72b5c1..62c9edcbe93 100644 --- a/llvm/tools/llvm-objdump/COFFDump.cpp +++ b/llvm/tools/llvm-objdump/COFFDump.cpp @@ -653,6 +653,13 @@ void llvm::printCOFFSymbolTable(const COFFObjectFile *coff) { SI = SI + Symbol->getNumberOfAuxSymbols(); break; + } else if (Symbol->isWeakExternal()) { + const coff_aux_weak_external *awe; + error(coff->getAuxSymbol<coff_aux_weak_external>(SI + 1, awe)); + + outs() << "AUX " << format("indx %d srch %d\n", + static_cast<uint32_t>(awe->TagIndex), + static_cast<uint32_t>(awe->Characteristics)); } else { outs() << "AUX Unknown\n"; } |