Patch for fixing the handling of hardware breakpoints.
Differential Revision: http://llvm-reviews.chandlerc.com/D2826

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@202028 91177308-0d34-0410-b5e6-96231b3b80d8
Fix ptrace log on i386 and include return value

Patch by Matthew Gardiner


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@202036 91177308-0d34-0410-b5e6-96231b3b80d8
Remove TestConnectRemote decorator for FreeBSD

Failure is not reproducible on ToT LLDB locally or on the buildbot.

llvm.org/pr18313


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@202043 91177308-0d34-0410-b5e6-96231b3b80d8
LLDB now handles DW_TAG_unspecified_parameters nested inside function prototypes and we now mark the function prototypes as being variadic.

<rdar://problem/16149526> 



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@202061 91177308-0d34-0410-b5e6-96231b3b80d8
Fix handling of gdbserver binary packets with escape characters.

We were not properly handling the escape character 0x7d ('}') in responses
from gdbserver which used the binary protocol.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@202062 91177308-0d34-0410-b5e6-96231b3b80d8
Don’t process the stop reply packet as a generic signal if we already figured out what it was from other data in the packet.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@202066 91177308-0d34-0410-b5e6-96231b3b80d8
Fixed the command line LLDB so that "CTRL+C" will interrupt a running process again.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@202086 91177308-0d34-0410-b5e6-96231b3b80d8
Allow debugserver to detach from the target if the connection is 
unexpectedly closed.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@202110 91177308-0d34-0410-b5e6-96231b3b80d8
Reapply r184270 by Jim Ingham to avoid abort on FreeBSD

  Don't actually Halt in the Interrupt handler for the Process, just
  send an AsyncInterrupt.  That's actually not async-signal-clean, but
  it is a lot safer than Halt...

The underlying problem is actually a nested pthread_cond_wait from the
signal handler.  Note frames 4, 13, 18 in the backtrace of the aborting
path below.

    frame #1: 0x000000080715fff9 libc.so.7`abort + 73 at abort.c:65
    frame #2: 0x0000000805d20fda libthr.so.3`_thread_exit(fname=<unavailable>, lineno=<unavailable>, msg=<unavailable>) + 58 at thr_exit.c:182
    frame #3: 0x0000000805d1fdc8 libthr.so.3`cond_wait_common [inlined] cond_wait_user(mp=<unavailable>, abstime=<unavailable>, cancel=<unavailable>) + 936 at thr_cond.c:223
    frame #4: 0x0000000805d1fd5b libthr.so.3`cond_wait_common(cond=<unavailable>, mutex=<unavailable>, abstime=<unavailable>, cancel=<unavailable>) + 827 at thr_cond.c:311
    frame #5: 0x00000008013450b5 liblldb.so.3.5`lldb_private::Condition::Wait(lldb_private::Mutex&, lldb_private::TimeValue const*, bool*) + 117
    frame #6: 0x00000008013411e8 liblldb.so.3.5`lldb_private::Predicate<bool>::WaitForValueEqualTo(bool, lldb_private::TimeValue const*, bool*) + 200
    frame #7: 0x00000008013eb34c liblldb.so.3.5`lldb_private::Listener::WaitForEventsInternal(lldb_private::TimeValue const*, lldb_private::Broadcaster*, lldb_private::ConstString const*, unsigned int, unsigned int, std::__1::shared_ptr<lldb_private::Event>&) + 876
    frame #8: 0x00000008013eb751 liblldb.so.3.5`lldb_private::Listener::WaitForEvent(lldb_private::TimeValue const*, std::__1::shared_ptr<lldb_private::Event>&) + 81
    frame #9: 0x00000008017c5bcf liblldb.so.3.5`lldb_private::Process::Halt(bool) + 783
    frame #10: 0x00000008017def3a liblldb.so.3.5`IOHandlerProcessSTDIO::Interrupt() + 74
    frame #11: 0x00000008013823d3 liblldb.so.3.5`lldb_private::Debugger::DispatchInputInterrupt() + 115
    frame #12: 0x00000008011d69c5 liblldb.so.3.5`lldb::SBDebugger::DispatchInputInterrupt() + 69
    frame #13: 0x000000000040b254 lldb`sigint_handler(int) + 68
    frame #14: 0x0000000805d1b3da libthr.so.3`handle_signal(actp=<unavailable>, sig=<unavailable>, info=<unavailable>, ucp=<unavailable>) + 234 at thr_sig.c:240
    frame #15: 0x0000000805d1afc2 libthr.so.3`thr_sighandler(sig=<unavailable>, info=<unavailable>, _ucp=<unavailable>) + 306 at thr_sig.c:183
    frame #16: 0x00007ffffffff003
    frame #17: 0x0000000805d1fc7e libthr.so.3`cond_wait_common [inlined] cond_wait_user(mp=<unavailable>, abstime=<unavailable>, cancel=1) + 239 at thr_cond.c:255
    frame #18: 0x0000000805d1fb8f libthr.so.3`cond_wait_common(cond=<unavailable>, mutex=<unavailable>, abstime=0x0000000000000000, cancel=1) + 367 at thr_cond.c:311
    frame #19: 0x00000008013450d2 liblldb.so.3.5`lldb_private::Condition::Wait(lldb_private::Mutex&, lldb_private::TimeValue const*, bool*) + 146


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@202154 91177308-0d34-0410-b5e6-96231b3b80d8
Make TestStdCXXDisassembly.StdCXXDisassembleTestCase work with libc++

<rdar://problem/16115219>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@202180 91177308-0d34-0410-b5e6-96231b3b80d8
Switch debugserver to detach on error by default, and change the flag to kill-on-error.
Also fix the bug where lldb prints: "Got a connection and launched debugserver" rather
than the name of the process it actually launched.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@202189 91177308-0d34-0410-b5e6-96231b3b80d8
Merge http://llvm.org/git/lldb into develop_35