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.

llvm-svn: 181756
This commit is contained in:
Jason Molenda 2013-05-14 03:52:22 +00:00
parent 2e7236fa66
commit 663d2e1803
1 changed files with 10 additions and 4 deletions

View File

@ -305,12 +305,18 @@ public:
case FPURegSet: case FPURegSet:
{ {
uint32_t *d = &fpu.floats.s[0]; uint8_t *fpu_reg_buf = (uint8_t*) &fpu.floats.s[0];
for (uint32_t i = 0; i < count && d < d + (sizeof (fpu.floats) / sizeof (uint32_t)); i++) 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);
}
else
{
done = true;
} }
SetError (FPURegSet, Read, 0);
} }
break; break;