Add a call to "sync" a thread state before checkpointing registers in preparation for 
calling functions.  This is necessary on Mac OS X, since bad things can happen if you set
the registers of a thread that's sitting in a kernel trap.

<rdar://problem/11145013>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160756 91177308-0d34-0410-b5e6-96231b3b80d8
Integrated a fix to LLVM's disassembler that
corrected the offsets for x86_64 conditional
branch instructions.

<rdar://problem/11502148>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160769 91177308-0d34-0410-b5e6-96231b3b80d8
Updating Xcode project version numbers for lldb-163 and debugserver-190


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160770 91177308-0d34-0410-b5e6-96231b3b80d8
Relax the test for "is the frame I am going to step back out to the one I started from" in ThreadPlanStepOverRange so you don't
artificially reject stepping out of a function you stepped into when stepping through an inlined range.  

Also fill in the target in the symbol context we make up for the inlined stepping range in ThreadPlanStepOut.

<rdar://problem/11765912>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160794 91177308-0d34-0410-b5e6-96231b3b80d8
Don't have ExecutionContextRef::SetTargetPtr fill in the frame
information if we're not stopped.  This could try to read registers
etc when the process is still running and debug builds of lldb would
assert down in GDBRemoteRegisterContext.cpp ReadRegisterBytes because
we couldn't get the sequence mutex for talking to the remote system.
Non-debug builds would just silently fail when doing this.
<rdar://problem/11941758>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160829 91177308-0d34-0410-b5e6-96231b3b80d8
Changed the IRForTarget pass to ensure that all
sel_getName() calls are generated for all Objective-C
selectors before static literals are moved to the
static allocation.  This prevents errors of the form

Internal error [IRForTarget]: Couldn't change a static
reference to an Objective-C selector to a dynamic
reference

<rdar://problem/11331906>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160887 91177308-0d34-0410-b5e6-96231b3b80d8
Added an lldb_private & equivalent SB API to send an AsyncInterrupt to the event loop.
Convert from calling Halt in the lldb Driver.cpp's input reader's sigint handler to sending this AsyncInterrupt so it can be handled in the 
event loop.
If you are attaching and get an async interrupt, abort the attach attempt.
Also remember to destroy the process if get interrupted while attaching.
Getting this to work also required handing the eBroadcastBitInterrupt in a few more places in Process WaitForEvent & friends.

<rdar://problem/10792425>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160903 91177308-0d34-0410-b5e6-96231b3b80d8
Fixed the expression parser to ignore C++ and
Objective-C method names when looking for functions
in the top level or a namespace.  Method names should
only be found via FindExternalLexicalDecls.

<rdar://problem/11711679>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160907 91177308-0d34-0410-b5e6-96231b3b80d8
Added a few more summaries I find useful for lldb.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160909 91177308-0d34-0410-b5e6-96231b3b80d8
Fixed ePathTypePythonDir for Linux and FreeBSD (at least). This works for non-installed compilations. I will test further.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160963 91177308-0d34-0410-b5e6-96231b3b80d8
Make glibc and its developers happy. Circumvent the lack of strlcat in glibc.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160979 91177308-0d34-0410-b5e6-96231b3b80d8
Don't set the thread when adopting selected execution context entries, and use the "lldb_private::StateIsStoppedState(StateType, bool)" function to tell if the state is stopped.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161000 91177308-0d34-0410-b5e6-96231b3b80d8
<rdar://problem/11620586>

Fixed an issue where warning logs were causing a crash.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161013 91177308-0d34-0410-b5e6-96231b3b80d8
<rdar://problem/11862570> Fixing a potential crasher related to Python locking

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161054 91177308-0d34-0410-b5e6-96231b3b80d8
Fixed a problem where stepping out would turn into
a continue if the unwinder didn't unwind correctly.

<rdar://problem/11989668>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161086 91177308-0d34-0410-b5e6-96231b3b80d8
When building up the UnwindPlan based on eh_frame unwind
instructions, be sure to allocate new UnwindPlan::Row's each
time we push a row on to the UnwindPlan so we don't mutate 
it any further.

(fallout from changing the UnwindPlan from having a vector
of Row's to having a vector of RowSP shared pointers.)

<rdar://problem/11997385> 


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161089 91177308-0d34-0410-b5e6-96231b3b80d8
<rdar://problem/11275622>

Added new API to lldb::SBTypeMember for bitfields:

    bool SBTypeMember::IsBitfield();
    uint32_t SBTypeMember::GetBitfieldSizeInBits();

Also added new properties for easy access. Now SBTypeMember objects in python have a "fields" property for all type fields, "bases" for all direct bases, "vbases" for all virtual base classes and "members" for a combo of all three organized by bit offset. They all return a python list() of SBTypeMember objects. Usage:
(lldb) script
>>> t = lldb.target.FindFirstType("my_type")
>>> for field in t.fields:
...     print field
>>> for vbase in t.vbases:
...     print vbase
>>> for base in t.bases:
...     print base
>>> for member in t.members:
...     print member

Also added new "is_bitfield" property to the SBTypeMember objects that will return the result of SBTypeMember::IsBitfield(), and "bitfield_bit_size" which will return the result of SBTypeMember::GetBitfieldSizeInBits();

I also fixed "SBTypeMember::GetOffsetInBytes()" to return the correct byte offset.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161091 91177308-0d34-0410-b5e6-96231b3b80d8
Make the objc-runtime work with Python 2.6

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161111 91177308-0d34-0410-b5e6-96231b3b80d8
Instructions generated by a disassembler can now
keep a shared pointer to their disassembler.  This
is important for the LLVM-C disassembler because
it needs to lock its parent in order to disassemble
itself.

This means that every interface that returned a
Disassembler* needs to return a DisassemblerSP, so
that the instructions and any external owners share
the same reference count on the object.  I changed
all clients to use this shared pointer, which also
plugged a few leaks.

<rdar://problem/12002822>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161123 91177308-0d34-0410-b5e6-96231b3b80d8
Silence the "Command ... failed!" message when not running in trace mode.
You run with trace mode by passing '-t' to the test driver.


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