<rdar://problem/11534686> 

Reading memory from a file when the section is encrypted doesn't show an error. No we do.

llvm-svn: 157484
diff --git a/lldb/source/Core/Disassembler.cpp b/lldb/source/Core/Disassembler.cpp
index ab375c9..cb5b14f 100644
--- a/lldb/source/Core/Disassembler.cpp
+++ b/lldb/source/Core/Disassembler.cpp
@@ -225,7 +225,7 @@
 
         if (disasm_sp)
         {
-            size_t bytes_disassembled = disasm_sp->ParseInstructions (&exe_ctx, range);
+            size_t bytes_disassembled = disasm_sp->ParseInstructions (&exe_ctx, range, NULL);
             if (bytes_disassembled == 0)
                 disasm_sp.reset();
         }
@@ -290,7 +290,7 @@
             ResolveAddress (exe_ctx, disasm_range.GetBaseAddress(), range.GetBaseAddress());
             range.SetByteSize (disasm_range.GetByteSize());
             
-            size_t bytes_disassembled = disasm_ap->ParseInstructions (&exe_ctx, range);
+            size_t bytes_disassembled = disasm_ap->ParseInstructions (&exe_ctx, range, &strm);
             if (bytes_disassembled == 0)
                 return false;
 
@@ -1010,7 +1010,8 @@
 Disassembler::ParseInstructions
 (
     const ExecutionContext *exe_ctx,
-    const AddressRange &range
+    const AddressRange &range,
+    Stream *error_strm_ptr
 )
 {
     if (exe_ctx)
@@ -1040,6 +1041,18 @@
                                 m_arch.GetAddressByteSize());
             return DecodeInstructions (range.GetBaseAddress(), data, 0, UINT32_MAX, false);
         }
+        else if (error_strm_ptr)
+        {
+            const char *error_cstr = error.AsCString();
+            if (error_cstr)
+            {
+                error_strm_ptr->Printf("error: %s\n", error_cstr);
+            }
+        }
+    }
+    else if (error_strm_ptr)
+    {
+        error_strm_ptr->PutCString("error: invalid execution context\n");
     }
     return 0;
 }