diff options
author | Nick Kledzik <kledzik@apple.com> | 2014-09-16 22:03:13 +0000 |
---|---|---|
committer | Nick Kledzik <kledzik@apple.com> | 2014-09-16 22:03:13 +0000 |
commit | abd2987907dc17b337873fd33f91b91e574440e4 (patch) | |
tree | 01b826fdf252e8ca7c4085b94620fdbe96946e8d /llvm/tools/llvm-objdump/MachODump.cpp | |
parent | 69c4d37b4597b4dda6b339f46200ff8c73e0dddb (diff) | |
download | bcm5719-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.cpp | 10 |
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>>"; } //===----------------------------------------------------------------------===// |