summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2012-02-17 02:13:09 +0000
committerGreg Clayton <gclayton@apple.com>2012-02-17 02:13:09 +0000
commit23a17953e7c835d049f3bb7a8b77b0e1a769a29a (patch)
tree6b5a58d1cdcdb2aacd7abc3afa03d144dbd97a63
parentaa9a3eae792955138c54404610f676387a32129a (diff)
downloadbcm5719-llvm-23a17953e7c835d049f3bb7a8b77b0e1a769a29a.tar.gz
bcm5719-llvm-23a17953e7c835d049f3bb7a8b77b0e1a769a29a.zip
Fixed an error with the 'G' packet on ARM when using the default GDB
register set where it could get an error when trying to restore the fake "f0" - "f7" 12 byte float regs. llvm-svn: 150781
-rw-r--r--lldb/tools/debugserver/source/RNBRemote.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/lldb/tools/debugserver/source/RNBRemote.cpp b/lldb/tools/debugserver/source/RNBRemote.cpp
index deb9db6ad57..f824225a2c8 100644
--- a/lldb/tools/debugserver/source/RNBRemote.cpp
+++ b/lldb/tools/debugserver/source/RNBRemote.cpp
@@ -2512,8 +2512,11 @@ RNBRemote::HandlePacket_G (const char *p)
if (packet.GetHexBytes (reg_value.value.v_sint8, reg_entry->gdb_size, 0xcc) != reg_entry->gdb_size)
break;
- if (!DNBThreadSetRegisterValueByID (pid, tid, reg_entry->nub_info.set, reg_entry->nub_info.reg, &reg_value))
- return SendPacket ("E15");
+ if (reg_entry->fail_value == NULL)
+ {
+ if (!DNBThreadSetRegisterValueByID (pid, tid, reg_entry->nub_info.set, reg_entry->nub_info.reg, &reg_value))
+ return SendPacket ("E15");
+ }
}
return SendPacket ("OK");
}
OpenPOWER on IntegriCloud