diff options
author | Jason Molenda <jmolenda@apple.com> | 2016-05-04 03:09:40 +0000 |
---|---|---|
committer | Jason Molenda <jmolenda@apple.com> | 2016-05-04 03:09:40 +0000 |
commit | 955dcf2dbc5085a657051cb388809d6f4df6b432 (patch) | |
tree | 88a957ba84731e8db1c2397e14281f8055ec877a /llvm/tools/llvm-readobj/llvm-readobj.cpp | |
parent | 8195f696e493508b4784fbf94471e966457931b1 (diff) | |
download | bcm5719-llvm-955dcf2dbc5085a657051cb388809d6f4df6b432.tar.gz bcm5719-llvm-955dcf2dbc5085a657051cb388809d6f4df6b432.zip |
Add a way for an ObjectFile to indicate that assembly emulation
should not be used for this module -- for use when an ObjectFile
knows that it does not have meaningful or accurate function start
addresses.
More commonly, it is not clear that function start addresses are
missing in a module. There are certain cases on Mac OS X where we
can tell that a Mach-O binary has been stripped of this essential
information, and the unwinder can end up emulating many megabytes
of instructions for a single "function" in the binary.
When a Mach-O binary is missing both an LC_FUNCTION_STARTS load
command (very unusual) and an eh_frame section, then we will assume
it has also been stripped of symbols and that instruction emulation
will not be useful on this module.
<rdar://problem/25988067>
llvm-svn: 268475
Diffstat (limited to 'llvm/tools/llvm-readobj/llvm-readobj.cpp')
0 files changed, 0 insertions, 0 deletions