The change previously committed as 220983 broke large binary memory reads. I kept the "idx - 1" fix from 220983, but reverted the while loop that was incorrectly added.

The details are: large packets (like large memory reads (m packets) or large binary memory reads (x packet)) can get responses that come in across multiple read() calls. The while loop that was added meant that if only a partial packet came in (like only "$abc" coming for a response) GDBRemoteCommunication::CheckForPacket() was called, it would deadlock in the while loop because no more data is going to come in as this function needs to be called again with more data from another read. So the original fix will need to be corrected and resubmitted.

<rdar://problem/18853744>



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221181 91177308-0d34-0410-b5e6-96231b3b80d8
Fixed a test suite error on MacOSX where people were using ".data" as the data section name for all file formats. Instead fix the test by finding the section by section type so the test is agnostic to the file format (and passes on MacOSX).



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221196 91177308-0d34-0410-b5e6-96231b3b80d8
Fixed a test suite error on MacOSX where people were using ".data" as the data section name for all file formats. Instead fix the test by finding the section by section type so the test is agnostic to the file format (and passes on MacOSX).



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221197 91177308-0d34-0410-b5e6-96231b3b80d8
Fix this test to set a breakpoint at the correct location that will always get hit so it doesn't intermittently fail on MacOSX.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221201 91177308-0d34-0410-b5e6-96231b3b80d8
Implement a framework for live debugging on Windows.

When processes are launched for debugging on Windows now, LLDB
will detect changes such as DLL loads and unloads, breakpoints,
thread creation and deletion, etc.

These notifications are not yet propagated to LLDB in a way that
LLDB understands what is happening with the process.  This only
picks up the notifications from the OS in a way that they can be
sent to LLDB with subsequent patches.

Reviewed by: Scott Graham

Differential Revision: http://reviews.llvm.org/D6037

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221207 91177308-0d34-0410-b5e6-96231b3b80d8