Small change to the previous checkin, read in the fpu register context
in one large block - and be sure toget the fpscr value as well when
processing a core file.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181756 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp b/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
index da32acd..7ef4fac 100644
--- a/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
+++ b/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
@@ -305,12 +305,18 @@
 
                 case FPURegSet:
                     {
-                        uint32_t *d = &fpu.floats.s[0];
-                        for (uint32_t i = 0; i < count && d < d + (sizeof (fpu.floats) / sizeof (uint32_t)); i++)
+                        uint8_t  *fpu_reg_buf = (uint8_t*) &fpu.floats.s[0];
+                        const int fpu_reg_buf_size = sizeof (fpu.floats);
+                        if (data.ExtractBytes (offset, fpu_reg_buf_size, eByteOrderLittle, fpu_reg_buf) == fpu_reg_buf_size)
                         {
-                            *d++ = data.GetU32(&offset);
+                            offset += fpu_reg_buf_size;
+                            fpu.fpscr = data.GetU32(&offset);
+                            SetError (FPURegSet, Read, 0);
                         }
-                        SetError (FPURegSet, Read, 0);
+                        else
+                        {
+                            done = true;
+                        }
                     }
                     break;