aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objdump/MachODump.cpp
diff options
context:
space:
mode:
authorKevin Enderby <enderby@apple.com>2017-06-20 22:55:11 +0000
committerKevin Enderby <enderby@apple.com>2017-06-20 22:55:11 +0000
commit1ce38584880b0db2d1c999333727a74b281764db (patch)
tree4e797bf83ee991824ca6e9f3431ebd42823d85b2 /llvm/tools/llvm-objdump/MachODump.cpp
parent3ac4c09daf8a33e7cb26f75af5d4d90f8a01fe05 (diff)
downloadllvm-1ce38584880b0db2d1c999333727a74b281764db.zip
llvm-1ce38584880b0db2d1c999333727a74b281764db.tar.gz
llvm-1ce38584880b0db2d1c999333727a74b281764db.tar.bz2
Updated llvm-objdump with Mach-O files and the -objc-meta-data option so
that it symbolically prints the superclass when it has dyld bind info for it. rdar://7638823 llvm-svn: 305866
Diffstat (limited to 'llvm/tools/llvm-objdump/MachODump.cpp')
-rw-r--r--llvm/tools/llvm-objdump/MachODump.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/tools/llvm-objdump/MachODump.cpp b/llvm/tools/llvm-objdump/MachODump.cpp
index 99d2dbd..960ef6b 100644
--- a/llvm/tools/llvm-objdump/MachODump.cpp
+++ b/llvm/tools/llvm-objdump/MachODump.cpp
@@ -4573,6 +4573,12 @@ static void print_class64_t(uint64_t p, struct DisassembleInfo *info) {
n_value, c.superclass);
if (name != nullptr)
outs() << " " << name;
+ else {
+ name = get_dyld_bind_info_symbolname(S.getAddress() +
+ offset + offsetof(struct class64_t, superclass), info);
+ if (name != nullptr)
+ outs() << " " << name;
+ }
outs() << "\n";
outs() << " cache " << format("0x%" PRIx64, c.cache);