aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objdump/llvm-objdump.cpp
diff options
context:
space:
mode:
authoresmeyi <esme.yi@ibm.com>2022-02-18 00:29:10 -0500
committeresmeyi <esme.yi@ibm.com>2022-02-18 00:29:10 -0500
commit2ad662172cbbd1ca53489bf8bddb0183d7692708 (patch)
tree38613136c6ef691d0d3d0f3d1b415a37991688b6 /llvm/tools/llvm-objdump/llvm-objdump.cpp
parent06f346cb7238fff88b2c7f94bf55fde50de5c1dd (diff)
downloadllvm-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.cpp3
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)