thread state coordinator: added new thread support.

A new thread arriving while a pending signal notification
is outstanding will (1) add the new thread to the list of
stops expected before the deferred signal notification is
fired, (2) send a stop request for the new thread, and
(3) track the new thread as currently running.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218578 91177308-0d34-0410-b5e6-96231b3b80d8
Included cstdarg for compilation of va_start and va_end.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218594 91177308-0d34-0410-b5e6-96231b3b80d8
Very minimal support 24-bit kalimbas. Vanilla "memory read" for data sections
works, as do breakpoints, run and pause, display zeroth frame.

See
http://reviews.llvm.org/D5503

for a fuller description of the changes in this commit.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218596 91177308-0d34-0410-b5e6-96231b3b80d8
thread state coordinator: add exec reset support, remove empty virtual destructors.

Also added a test for the reset handling.  The reset/state clearing happens
as a processed queue event.  The only diff vs. standard processing is that
the exec clears the queue before queueing the activity to clear internal state.
i.e. once we get an exec, we really stop doing any other queue-based activity.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218629 91177308-0d34-0410-b5e6-96231b3b80d8
thread state coordinator: added a thread resume request and related tests.

The thread resume block is executed in the normal flow of thread
state queued event processing.  The tests verify that it is executed
when we track the thread to be stopped and skipped when we track
it to already be running.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218638 91177308-0d34-0410-b5e6-96231b3b80d8
dwarf: add dwarf v4 maximum_operations_per_instruction to DWARFDebugLine.

See http://reviews.llvm.org/D5533 for details.

Change by Tong Shen.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218641 91177308-0d34-0410-b5e6-96231b3b80d8
This checkin is the first step in making the lldb thread stepping mechanism more accessible from
the user level.  It adds the ability to invent new stepping modes implemented by python classes,
and to view the current thread plan stack and to some extent alter it.

I haven't gotten to documentation or tests yet.  But this should not cause any behavior changes
if you don't use it, so its safe to check it in now and work on it incrementally.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218642 91177308-0d34-0410-b5e6-96231b3b80d8
Add a very trivial example for scripted stepping.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218650 91177308-0d34-0410-b5e6-96231b3b80d8
Fix some errors that crept in when I cut & pasted into emacs.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218656 91177308-0d34-0410-b5e6-96231b3b80d8
Fix cmake build for new thread plan files.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218679 91177308-0d34-0410-b5e6-96231b3b80d8
thread state coordinator: add test to be explicit about resume behavior in presence of deferred stop notification still pending.

There is a state transition that seems potentially buggy that I am capturing and
logging here, and including an explicit test to demonstrate expected behavior.  See new test
for detailed description.  Added logging around this area since, if we hit it, we
may have a usage bug, or a new state transition we really need to investigate.

This is around this scenario:
Thread C deferred stop notification awaiting thread A and thread B to stop.
Thread A stops.
Thread A requests resume.
Thread B stops.

Here we will explicitly signal the deferred stop notification after thread B
stops even though thread A is now resumed.  Copious logging happens here.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218683 91177308-0d34-0410-b5e6-96231b3b80d8
Fixup some minor issues with HostProcess.

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

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218685 91177308-0d34-0410-b5e6-96231b3b80d8
thread state coordinator: add additional assert missing from previous test check-in.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218686 91177308-0d34-0410-b5e6-96231b3b80d8
Add SBThreadPlan to this CMakeLists.txt as well.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218687 91177308-0d34-0410-b5e6-96231b3b80d8
Not all processes have a Dynamic Loader.  Be sure to check that it exists before using it.

<rdar://problem/18491391>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218699 91177308-0d34-0410-b5e6-96231b3b80d8
Fix the kalimba arch 4 test, broken when I introduced handling
of kalimba architecture variants.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218749 91177308-0d34-0410-b5e6-96231b3b80d8
Adding a test for k5 binaries


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218754 91177308-0d34-0410-b5e6-96231b3b80d8
Add a bandaid to fix the FreeBSD build

r218568 added an explicit #include of the Linux ProcessMonitor.h to
POSIXThread.cpp, rather than including just "ProcessMonitor.h" and
relying on the build infrastructure for the appropriate paths.

For now add #ifdefs in the source to use the FreeBSD or Linux header
as appropriate; a cleaner fix (and perhaps some refactoring of the
POSIX classes) should still be done later.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218762 91177308-0d34-0410-b5e6-96231b3b80d8
Minor tweak to Ed's FreeBSD fix.

Fall back to including the Linux version if not on __FreeBSD__.  Also covers
__ANDROID__ case.


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