summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Rimar <grimar@accesssoftek.com>2019-09-07 19:45:27 +0000
committerGeorge Rimar <grimar@accesssoftek.com>2019-09-07 19:45:27 +0000
commitbf1a23ad0e77b4f41c65b17731d443dc553f5911 (patch)
treeb6329c711257505cc34adac24d7dbb2406e8f0bb
parent879ed20bde2277c2ae220f67a4abb5a54c521e72 (diff)
downloadbcm5719-llvm-bf1a23ad0e77b4f41c65b17731d443dc553f5911.tar.gz
bcm5719-llvm-bf1a23ad0e77b4f41c65b17731d443dc553f5911.zip
[llvm-nm] - Fix a bug and unbreak ASan BB.
BB: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/13820/steps/check-llvm%20asan/logs/stdio rL371074 revealed a bug in llvm-nm. This patch fixes it. llvm-svn: 371318
-rw-r--r--llvm/tools/llvm-nm/llvm-nm.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/tools/llvm-nm/llvm-nm.cpp b/llvm/tools/llvm-nm/llvm-nm.cpp
index 6f9b38dfb3f..ee55722dc13 100644
--- a/llvm/tools/llvm-nm/llvm-nm.cpp
+++ b/llvm/tools/llvm-nm/llvm-nm.cpp
@@ -1082,7 +1082,7 @@ static StringRef getNMTypeName(SymbolicFile &Obj, basic_symbol_iterator I) {
static char getNMSectionTagAndName(SymbolicFile &Obj, basic_symbol_iterator I,
StringRef &SecName) {
uint32_t Symflags = I->getFlags();
- if (isa<ELFObjectFileBase>(&Obj)) {
+ if (ELFObjectFileBase *ELFObj = dyn_cast<ELFObjectFileBase>(&Obj)) {
if (Symflags & object::SymbolRef::SF_Absolute)
SecName = "*ABS*";
else if (Symflags & object::SymbolRef::SF_Common)
@@ -1097,6 +1097,9 @@ static char getNMSectionTagAndName(SymbolicFile &Obj, basic_symbol_iterator I,
return '?';
}
+ if (*SecIOrErr == ELFObj->section_end())
+ return '?';
+
Expected<StringRef> NameOrErr = (*SecIOrErr)->getName();
if (!NameOrErr) {
consumeError(NameOrErr.takeError());
OpenPOWER on IntegriCloud