diff options
| author | Greg Clayton <gclayton@apple.com> | 2011-05-16 02:35:02 +0000 |
|---|---|---|
| committer | Greg Clayton <gclayton@apple.com> | 2011-05-16 02:35:02 +0000 |
| commit | b4aaf2e78d3b1d5aab1578b5ffd99310217303aa (patch) | |
| tree | 375426171c053e0e52b2c43753c7f1a0c0923b64 | |
| parent | 92e18ed40fa561cbe533d6a8be2659c2ac1969c4 (diff) | |
| download | bcm5719-llvm-b4aaf2e78d3b1d5aab1578b5ffd99310217303aa.tar.gz bcm5719-llvm-b4aaf2e78d3b1d5aab1578b5ffd99310217303aa.zip | |
Fixed an issue where large memory writes might not get chunked up into smaller
packets in GDB remote.
Also fixed a compiler warning for an unhandled case for a switch.
llvm-svn: 131397
| -rw-r--r-- | lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp | 8 | ||||
| -rw-r--r-- | lldb/source/Symbol/ClangASTType.cpp | 1 | ||||
| -rw-r--r-- | lldb/source/Target/Process.cpp | 2 |
3 files changed, 10 insertions, 1 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp index 95646241427..0a65b987a40 100644 --- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp +++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp @@ -1520,6 +1520,14 @@ ProcessGDBRemote::DoReadMemory (addr_t addr, void *buf, size_t size, Error &erro size_t ProcessGDBRemote::DoWriteMemory (addr_t addr, const void *buf, size_t size, Error &error) { + if (size > m_max_memory_size) + { + // Keep memory read sizes down to a sane limit. This function will be + // called multiple times in order to complete the task by + // lldb_private::Process so it is ok to do this. + size = m_max_memory_size; + } + StreamString packet; packet.Printf("M%llx,%zx:", addr, size); packet.PutBytesAsRawHex8(buf, size, lldb::endian::InlHostByteOrder(), lldb::endian::InlHostByteOrder()); diff --git a/lldb/source/Symbol/ClangASTType.cpp b/lldb/source/Symbol/ClangASTType.cpp index c473e1934a1..c8c5e766396 100644 --- a/lldb/source/Symbol/ClangASTType.cpp +++ b/lldb/source/Symbol/ClangASTType.cpp @@ -262,6 +262,7 @@ ClangASTType::GetFormat (clang_type_t clang_type) //default: assert(0 && "Unknown builtin type!"); case clang::BuiltinType::UnknownAny: case clang::BuiltinType::Void: + case clang::BuiltinType::BoundMember: break; case clang::BuiltinType::Bool: return lldb::eFormatBoolean; diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp index 47a4c1c5b98..f185d574536 100644 --- a/lldb/source/Target/Process.cpp +++ b/lldb/source/Target/Process.cpp @@ -1913,7 +1913,7 @@ Process::WriteMemory (addr_t addr, const void *buf, size_t size, Error &error) BreakpointSiteList::collection::const_iterator end = m_breakpoint_site_list.GetMap()->end(); if (iter == end || iter->second->GetLoadAddress() > addr + size) - return DoWriteMemory(addr, buf, size, error); + return WriteMemoryPrivate (addr, buf, size, error); BreakpointSiteList::collection::const_iterator pos; size_t bytes_written = 0; |

