diff options
author | Greg Clayton <gclayton@apple.com> | 2012-02-17 02:13:09 +0000 |
---|---|---|
committer | Greg Clayton <gclayton@apple.com> | 2012-02-17 02:13:09 +0000 |
commit | 23a17953e7c835d049f3bb7a8b77b0e1a769a29a (patch) | |
tree | 6b5a58d1cdcdb2aacd7abc3afa03d144dbd97a63 | |
parent | aa9a3eae792955138c54404610f676387a32129a (diff) | |
download | bcm5719-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.cpp | 7 |
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, ®_value)) - return SendPacket ("E15"); + if (reg_entry->fail_value == NULL) + { + if (!DNBThreadSetRegisterValueByID (pid, tid, reg_entry->nub_info.set, reg_entry->nub_info.reg, ®_value)) + return SendPacket ("E15"); + } } return SendPacket ("OK"); } |