[llvm] r275498 - llvm-objdump: extend __mh_execute_header handling to other special syms
Tim Northover via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 14 16:13:04 PDT 2016
Author: tnorthover
Date: Thu Jul 14 18:13:03 2016
New Revision: 275498
URL: http://llvm.org/viewvc/llvm-project?rev=275498&view=rev
Log:
llvm-objdump: extend __mh_execute_header handling to other special syms
We don't need to print any of the special __mh_*_header symbols when
disassembling. Since they point at the beginning of the segment (not where the
actual code is) they're pretty misleading.
Should also fix lld bots.
Added:
llvm/trunk/test/tools/llvm-objdump/ARM/Inputs/mh_dylib_header.macho-arm (with props)
llvm/trunk/test/tools/llvm-objdump/ARM/mh_dylib_header.test
Modified:
llvm/trunk/tools/llvm-objdump/MachODump.cpp
Added: llvm/trunk/test/tools/llvm-objdump/ARM/Inputs/mh_dylib_header.macho-arm
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-objdump/ARM/Inputs/mh_dylib_header.macho-arm?rev=275498&view=auto
==============================================================================
Binary files llvm/trunk/test/tools/llvm-objdump/ARM/Inputs/mh_dylib_header.macho-arm (added) and llvm/trunk/test/tools/llvm-objdump/ARM/Inputs/mh_dylib_header.macho-arm Thu Jul 14 18:13:03 2016 differ
Propchange: llvm/trunk/test/tools/llvm-objdump/ARM/Inputs/mh_dylib_header.macho-arm
------------------------------------------------------------------------------
svn:executable = *
Added: llvm/trunk/test/tools/llvm-objdump/ARM/mh_dylib_header.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-objdump/ARM/mh_dylib_header.test?rev=275498&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-objdump/ARM/mh_dylib_header.test (added)
+++ llvm/trunk/test/tools/llvm-objdump/ARM/mh_dylib_header.test Thu Jul 14 18:13:03 2016
@@ -0,0 +1,7 @@
+RUN: llvm-objdump -d -macho %p/Inputs/mh_dylib_header.macho-arm
+
+CHECK: _t1:
+CHECK: movw r0, #4133
+
+CHECK: _a1:
+CHECK: bx lr
Modified: llvm/trunk/tools/llvm-objdump/MachODump.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objdump/MachODump.cpp?rev=275498&r1=275497&r2=275498&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-objdump/MachODump.cpp (original)
+++ llvm/trunk/tools/llvm-objdump/MachODump.cpp Thu Jul 14 18:13:03 2016
@@ -6708,11 +6708,13 @@ static void DisassembleMachO(StringRef F
outs() << "-dis-symname: __mh_execute_header not in any section\n";
return;
}
- // When this code is trying to disassemble a symbol at a time and in the case
- // there is only the __mh_execute_header symbol left as in a stripped
- // executable, we need to deal with this by ignoring this symbol so the whole
- // section is disassembled and this symbol is then not displayed.
- if (SymName == "__mh_execute_header")
+ // When this code is trying to disassemble a symbol at a time and in the
+ // case there is only the __mh_execute_header symbol left as in a stripped
+ // executable, we need to deal with this by ignoring this symbol so the
+ // whole section is disassembled and this symbol is then not displayed.
+ if (SymName == "__mh_execute_header" || SymName == "__mh_dylib_header" ||
+ SymName == "__mh_bundle_header" || SymName == "__mh_object_header" ||
+ SymName == "__mh_preload_header" || SymName == "__mh_dylinker_header")
continue;
// If we are only disassembling one symbol see if this is that symbol.
More information about the llvm-commits
mailing list