diff options
author | esmeyi <esme.yi@ibm.com> | 2022-02-18 00:29:10 -0500 |
---|---|---|
committer | esmeyi <esme.yi@ibm.com> | 2022-02-18 00:29:10 -0500 |
commit | 2ad662172cbbd1ca53489bf8bddb0183d7692708 (patch) | |
tree | 38613136c6ef691d0d3d0f3d1b415a37991688b6 /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
parent | 06f346cb7238fff88b2c7f94bf55fde50de5c1dd (diff) | |
download | llvm-2ad662172cbbd1ca53489bf8bddb0183d7692708.zip llvm-2ad662172cbbd1ca53489bf8bddb0183d7692708.tar.gz llvm-2ad662172cbbd1ca53489bf8bddb0183d7692708.tar.bz2 |
[XCOFF][llvm-objdump] change the priority of symbols with
the same address by symbol types.
Summary: In XCOFF, each section comes with a default symbol
with the same name as the section. It doesn't bind
to code locations and it may cause incorrect display
of symbol names under `llvm-objdump -d`.
This patch changes the priority of symbols with the
same address by symbol type.
Reviewed By: jhenderson, shchenz
Differential Revision: https://reviews.llvm.org/D117642
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
-rw-r--r-- | llvm/tools/llvm-objdump/llvm-objdump.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp index 6b238fa..4cb226b 100644 --- a/llvm/tools/llvm-objdump/llvm-objdump.cpp +++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp @@ -957,6 +957,9 @@ SymbolInfoTy objdump::createSymbolInfo(const ObjectFile *Obj, getXCOFFSymbolCsectSMC(XCOFFObj, Symbol); return SymbolInfoTy(Addr, Name, Smc, SymbolIndex, isLabel(XCOFFObj, Symbol)); + } else if (Obj->isXCOFF()) { + const SymbolRef::Type SymType = unwrapOrError(Symbol.getType(), FileName); + return SymbolInfoTy(Addr, Name, SymType, true); } else return SymbolInfoTy(Addr, Name, Obj->isELF() ? getElfSymbolType(Obj, Symbol) |