diff options
| -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; |

