Rework how resetting breakpoints in changed modules works.  Try to match up old
locations with new ones if possible.

Next up some test cases...


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

1. DW_FORM_strp and DW_FORM_sec_offset are 64bits for DWARF64 / 32bits for DWARF32
They are different from DW_FORM_addr, whose size is specified in .debug_info

2. Bump DWARF version support form [2,3] to [2,4] in DWARFDebugLine.cpp

3. Fix DWARFDebugLine to support DWARF64

See http://reviews.llvm.org/D5307 for more details.
Reviewed by Greg Clayton and Jason Molenda.

Change by Tong Shen.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217607 91177308-0d34-0410-b5e6-96231b3b80d8
gdb-remote tests: added test to verify thread stop info when multi-threaded app is interrupted.

The Linux version is marked XFAIL for the moment, fixing next.

Related to http://llvm.org/bugs/show_bug.cgi?id=20908.


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

* ssize_t isn't defined by default on Windows.
* New public API files need to be defined in a different file for
  Windows.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217624 91177308-0d34-0410-b5e6-96231b3b80d8
Update HostProcess to use the same facade pattern as HostThread.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217632 91177308-0d34-0410-b5e6-96231b3b80d8
Add missing constructor definition.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217634 91177308-0d34-0410-b5e6-96231b3b80d8
When deciding if one-liner printing applies, and you find a summary, the summary is a good candidate to ask. While in theory one could want one-liner printing with a non-one-liner summary, I don't see LLDB as the best place to solve such inner conflicts

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217641 91177308-0d34-0410-b5e6-96231b3b80d8
Add a ProcessStructReader utility class to LLDB

The purpose of a ProcessStructReader is to allow intelligent reading of data from the underlying process
Traditionally, the way this has been handled is to have a load_address and shuffle it around, and use Process::ReadMemory()-kind APIs

With a ProcessStructReader one can define a clang type that matches exactly the definition of the thing they are trying to ingest from the inferior process, and then just point LLDB at where the data is
Since this work is done in terms of clang types, one can honor packed/aligned attributes, sizes of types on the inferior architecture, and similar tricky caveats without having to hardcode them



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217644 91177308-0d34-0410-b5e6-96231b3b80d8
llgs: fix Ctrl-C inferior interrupt handling to do the right thing.

* Sends a SIGSTOP to the process.
* Fixes busted SIGSTOP handling.  Now builds a list of non-stopped
  that we wait for the PTRACE group-stop for.  When the final must-stop
  tid gets its group stop, we propagate the process state change.
  Only the signal receiving the notification of the pending SIGSTOP
  is marked with the SIGSTOP signal.  All the rest, if they weren't
  already stopped, are marked as stopped with signal 0.
* Fixes a few broken tests.
* Marks the Linux test I added earlier as expect-pass (no longer XFAIL).

Implements fix for http://llvm.org/bugs/show_bug.cgi?id=20908.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217647 91177308-0d34-0410-b5e6-96231b3b80d8
Merge upstream llvm.org r217647 into dev-llgs-local-launch