mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 04:32:44 +01:00
0e7e9c4f85
`__mh_(execute|dylib|dylinker|bundle|preload|object)_header` are special symbols whose values hold the VMA of the Mach header to support introspection. They are attached to the first section in `__TEXT`, even though their addresses are outside `__TEXT`, and they do not refer to code. It is normally harmless, but when the first section of `__TEXT` has no other symbols, `__mh_*_header` is considered by the disassembler when determing function boundaries. Since `__mh_*_header` refers to an address outside `__TEXT`, the boundary determination fails and disassembly quits. Since `__TEXT,__text` normally has symbols, this bug is obscured. Experiments placing `__stubs` and `__stub_helper` first exposed the bug, since neither has symbols. Differential Revision: https://reviews.llvm.org/D101786 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
COFFDump.cpp | ||
COFFDump.h | ||
ELFDump.cpp | ||
ELFDump.h | ||
llvm-objdump.cpp | ||
llvm-objdump.h | ||
MachODump.cpp | ||
MachODump.h | ||
ObjdumpOptID.h | ||
ObjdumpOpts.td | ||
OtoolOpts.td | ||
SourcePrinter.cpp | ||
SourcePrinter.h | ||
WasmDump.cpp | ||
WasmDump.h | ||
XCOFFDump.cpp | ||
XCOFFDump.h |