Disassembler::DisassembleRange() currently calls Target::ReadMemory
with prefer_file_cache == false.  This is what we want to do when
the user is doing a disassemble command -- show the actual memory
contents in case the memory has been corrupted or something -- but
when we're profiling functions for stepping or unwinding
(ThreadPlanStepRange::GetInstructionsForAddress,
UnwindAssemblyInstEmulation::GetNonCallSiteUnwindP) we can read
__TEXT instructions directly out of the file, if it exists.
<rdar://problem/14397491> 


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@190638 91177308-0d34-0410-b5e6-96231b3b80d8
Fixed a bug where CFI data would become corrupted when using remember/restore state instructions.

This would prevent system calls on Linux from being able to backtrace correctly.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@190642 91177308-0d34-0410-b5e6-96231b3b80d8