[llvm] r371318 - [llvm-nm] - Fix a bug and unbreak ASan BB.
George Rimar via llvm-commits
llvm-commits at lists.llvm.org
Sat Sep 7 12:45:27 PDT 2019
Author: grimar
Date: Sat Sep 7 12:45:27 2019
New Revision: 371318
URL: http://llvm.org/viewvc/llvm-project?rev=371318&view=rev
Log:
[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.
Modified:
llvm/trunk/tools/llvm-nm/llvm-nm.cpp
Modified: llvm/trunk/tools/llvm-nm/llvm-nm.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-nm/llvm-nm.cpp?rev=371318&r1=371317&r2=371318&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-nm/llvm-nm.cpp (original)
+++ llvm/trunk/tools/llvm-nm/llvm-nm.cpp Sat Sep 7 12:45:27 2019
@@ -1082,7 +1082,7 @@ static StringRef getNMTypeName(SymbolicF
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(Symbo
return '?';
}
+ if (*SecIOrErr == ELFObj->section_end())
+ return '?';
+
Expected<StringRef> NameOrErr = (*SecIOrErr)->getName();
if (!NameOrErr) {
consumeError(NameOrErr.takeError());
More information about the llvm-commits
mailing list