summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-objdump/MachODump.cpp
diff options
context:
space:
mode:
authorNick Kledzik <kledzik@apple.com>2014-09-16 22:03:13 +0000
committerNick Kledzik <kledzik@apple.com>2014-09-16 22:03:13 +0000
commitabd2987907dc17b337873fd33f91b91e574440e4 (patch)
tree01b826fdf252e8ca7c4085b94620fdbe96946e8d /llvm/tools/llvm-objdump/MachODump.cpp
parent69c4d37b4597b4dda6b339f46200ff8c73e0dddb (diff)
downloadbcm5719-llvm-abd2987907dc17b337873fd33f91b91e574440e4.tar.gz
bcm5719-llvm-abd2987907dc17b337873fd33f91b91e574440e4.zip
[llvm-objdump] improve error reporting of bad mach-o ordinals
llvm-svn: 217909
Diffstat (limited to 'llvm/tools/llvm-objdump/MachODump.cpp')
-rw-r--r--llvm/tools/llvm-objdump/MachODump.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/llvm/tools/llvm-objdump/MachODump.cpp b/llvm/tools/llvm-objdump/MachODump.cpp
index 871e7d16ece..602e8002800 100644
--- a/llvm/tools/llvm-objdump/MachODump.cpp
+++ b/llvm/tools/llvm-objdump/MachODump.cpp
@@ -2446,9 +2446,15 @@ static StringRef ordinalName(const object::MachOObjectFile *Obj, int Ordinal) {
case MachO::BIND_SPECIAL_DYLIB_FLAT_LOOKUP:
return "flat-namespace";
default:
- Obj->getLibraryShortNameByIndex(Ordinal-1, DylibName);
- return DylibName;
+ if (Ordinal > 0) {
+ std::error_code EC = Obj->getLibraryShortNameByIndex(Ordinal-1,
+ DylibName);
+ if (EC)
+ return "<<ordinal too big>>";
+ return DylibName;
+ }
}
+ return "<<unknown special ordinal>>";
}
//===----------------------------------------------------------------------===//
OpenPOWER on IntegriCloud