forked from OSchip/llvm-project
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. llvm-svn: 275498
This commit is contained in:
parent
420b266d0a
commit
fbefee3bff
Binary file not shown.
|
@ -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
|
|
@ -6708,11 +6708,13 @@ static void DisassembleMachO(StringRef Filename, MachOObjectFile *MachOOF,
|
|||
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.
|
||||
|
|
Loading…
Reference in New Issue