Added the ability to save core files:

(lldb) file /bin/ls
(lldb) b malloc
(lldb) run
(lldb) process save-core /tmp/ls.core

Each ObjectFile plug-in now has the option to save core files by registering a new static callback.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@210864 91177308-0d34-0410-b5e6-96231b3b80d8
Initial merge of some of the iOS 8 / Mac OS X Yosemite specific
lldb support.  I'll be doing more testing & cleanup but I wanted to
get the initial checkin done.

This adds a new SBExpressionOptions::SetLanguage API for selecting a
language of an expression.

I added adds a new SBThread::GetInfoItemByPathString for retriving
information about a thread from that thread's StructuredData.

I added a new StructuredData class for representing
key-value/array/dictionary information (e.g. JSON formatted data).
Helper functions to read JSON and create a StructuredData object,
and to print a StructuredData object in JSON format are included.

A few Cocoa / Cocoa Touch data formatters were updated by Enrico
to track changes in iOS 8 / Yosemite.

Before we query a thread's extended information, the system runtime may 
provide hints to the remote debug stub that it will use to retrieve values
out of runtime structures.  I added a new SystemRuntime method 
AddThreadExtendedInfoPacketHints which allows the SystemRuntime to add 
key-value type data to the initial request that we send to the remote stub.

The thread-format formatter string can now retrieve values out of a thread's
extended info structured data.  The default thread-format string picks up
two of these - thread.info.activity.name and thread.info.trace_messages.

I added a new "jThreadExtendedInfo" packet in debugserver; I will
add documentation to the lldb-gdb-remote.txt doc soon.  It accepts
JSON formatted arguments (most importantly, "thread":threadnum) and
it returns a variety of information regarding the thread to lldb
in JSON format.  This JSON return is scanned into a StructuredData
object that is associated with the thread; UI layers can query the
thread's StructuredData to see if key-values are present, and if
so, show them to the user.  These key-values are likely to be
specific to different targets with some commonality among many
targets.  For instance, many targets will be able to advertise the
pthread_t value for a thread.

I added an initial rough cut of "thread info" command which will print
the information about a thread from the jThreadExtendedInfo result.
I need to do more work to make this format reasonably.

Han Ming added calls into the pmenergy and pmsample libraries if
debugserver is run on Mac OS X Yosemite to get information about the
inferior's power use.

I added support to debugserver for gathering the Genealogy information
about threads, if it exists, and returning it in the jThreadExtendedInfo
JSON result.


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


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

Address the 'variable set but not used' warning from GCC.  In some cases a few
additional calls were removed where there should be no visible side effects of
the calls (i.e. should not effect any cached state).

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@210879 91177308-0d34-0410-b5e6-96231b3b80d8
Core: address comparison of signed and unsigned types

Add a cast to ensure that the comparison is done with the same sign type.
Identified by GCC.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@210880 91177308-0d34-0410-b5e6-96231b3b80d8
Interpreter: explicitly initialize base class

Initialise base class std::enable_shared_from_this explicitly.  Identified by
GCC.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@210881 91177308-0d34-0410-b5e6-96231b3b80d8
Interpreter: kill some dead code

Remove commented out code and an unnecessary associated scope.  No functional
change.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@210882 91177308-0d34-0410-b5e6-96231b3b80d8
Added gdb-remote stop packet expedited register tests.

Expedited registers currently checked for are pc, fp and sp.

Also broke out the gdb-remote base test case logic into
class gdbremote_testcase.GdbRemoteTestCaseBase in the new
gdbremote_testcase.py file.

TestGdbRemoteExpeditedRegisters.py is the first gdb-remote area
to be contained in its own test case class file.

The monolithic TestLldbGdbServer.py has been modified to derive
from gdbremote_testcase.GdbRemoteTestCaseBase.  Soon I will
pull out all the gdb-remote functional area tests from that class
into separate classes.

I'm intending to start all GdbRemote test cases with GdbRemote
so it is easy to run them all with a -p pattern match on the
test run infrastructure.

Also scanned and removed all cases of whitespace-only lines in
the files I touched.


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